网站安全维护方案
去年夏天,网站维护一个做跨境电商的安全朋友半夜给我打电话,说网站首页被挂了一匹“黑马”——页面顶部多出一行阿拉伯语标语,网站维护后台商品图全被替换成空白占位符。安全他用的网站维护那套开源商城系统,三个月没打过补丁。安全攻击者从上传接口塞进一个PHP文件,网站维护然后整个服务器权限都交出去了。安全这种事每周都在发生,网站维护不是安全危言耸听。 网站安全维护不是网站维护装个SSL证书就完事。证书只保证传输过程加密,安全管不了服务器里有没有后门。网站维护真正要盯的安全是三块:入口、权限、网站维护日志。 八九成的入侵从文件上传开始。用户头像、商品详情图、附件简历——这些功能设计时如果只校验前端,等于把钥匙插在门上。后端必须做三件事:检查文件头魔数(不是只看扩展名)、重命名文件(别用用户提供的名字)、把上传目录设成不可执行。我见过一个案例,攻击者上传了一张“正常”的jpg,里面嵌了PHP代码,服务器居然解析执行了。原因就是上传目录的 另一个入口是SQL注入。现在框架大多自带参数化查询,但老代码里拼接SQL的还不少。有个简单检测方法:在输入框里敲一个单引号,如果页面报数据库错误,基本就中招了。 很多运维图省事,网站目录直接给777权限。这意味着任何脚本都能写入、修改、删除文件。正确做法是:目录755,文件644,上传目录单独处理。数据库账号也别用root,只给增删改查权限,别给drop和grant。 后台管理路径别用 不开日志等于闭眼开车。至少记录:访问日志(谁在什么时候请求了什么)、错误日志(PHP警告和异常)、登录日志(成功和失败都要记)。用 文件完整性监控也很实用。用 备份要遵循3-2-1原则:三份副本,两种介质,一份异地。我见过有人把备份和网站放同一台服务器,结果勒索软件加密整台机器,备份一起完蛋。数据库每天自动导出,保留最近7天和每月1号的全量。导出后记得测试恢复流程——没验证过的备份等于没有备份。 补丁管理别等。开源CMS、框架、插件,有更新就尽快打。但别在生产环境直接点升级,先在测试环境跑一遍。去年有个客户用WordPress,一个插件更新后和白屏冲突,就是因为没测试。 安全维护是持续动作,不是一次性项目。每周花二十分钟看看日志、查查更新、确认备份任务正常,比出事之后熬夜抢救划算得多。那个朋友后来把服务器重装,加了WAF和文件监控,至今没再出问题。他说那晚的电话费够买三年云WAF服务了。入口:别让上传接口变成任意门
.htaccess没配php_flag engine off。权限:最小化不是口号
/admin。改成随机字符串,再加IP白名单或二次认证。我自己的服务器上,SSH端口从22改成高位端口,禁止密码登录只允许密钥,fail2ban自动封禁多次尝试的IP。这些操作花不了半小时,但能挡掉九成以上的自动化扫描。日志:出事之后能查,出事之前能防
goaccess或者lnav实时看,发现某个IP在短时间内大量请求/wp-login.php或者/.env,直接封掉。aide或者简单的find -mtime定时扫描,一旦核心文件被改动就发邮件。那次朋友的网站被挂马,如果有这个机制,攻击者改首页的瞬间就能收到告警,不至于等到用户投诉才发现。备份:最后一道防线,但别只备在本地
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-