网站被黑是每个站长的噩梦,但处理得当的话损失可以降到很小。我帮几个朋友处理过挂马、篡改、勒索攻击,总结了一套紧急处理流程。收藏备用,但希望你别用到。
第一步:立刻下线(5分钟内)。不要抱着「先看看能不能修」的心态让网站继续运行。挂马页面被百度收录后,恢复难度翻倍。直接暂停Web服务:systemctl stop nginx(或apache2)。然后把首页替换成一个维护页面,告诉用户「网站维护中」。
第二步:确定入侵范围和入口(30分钟)。查三样东西:
安全日志:/var/log/auth.log(SSH登录记录),/var/log/nginx/access.log(Web请求记录),看有没有异常的IP、异常时间的登录。如果日志被清了——这本身就说明是定向攻击,不是自动扫描。
最近修改的文件:find /var/www -mtime -3 -ls,列出最近三天修改过的文件。正常运行的网站不会有大量文件集中修改——如果看到一个目录下几十个文件同时被改,那就是被挂了。
进程列表:ps auxf,看有没有异常进程。常见的是矿机——CPU 100%占用,进程名叫[xxx]或者伪装成系统进程。
第三步:清理(1-2小时)。找到了感染文件后,不要手动删文件——攻击者可能留了后门,删了还会再生。正确做法:备份被感染的整个目录(留作证据),然后从Git干净版本重新checkout,或者从备份恢复。修改所有密码:SSH密码、数据库密码、FTP密码、后台管理员密码——一个都别漏。
第四步:加固(30分钟)。恢复前先把安全加固做了:改SSH端口(不防高手但防扫描)、禁用root远程登录、配置fail2ban、更新所有插件和系统补丁、关闭不用的端口。WordPress的话装上Wordfence做一次全站扫描。
第五步:上线观察(持续)。恢复服务后48小时内持续监控:日志、文件变更、异常进程。如果再次被黑——说明有后门没清干净,重复第二步。
一个血的教训:不要在被黑的服务器上直接改密码。攻击者可能已经拿到了root权限——先用一台干净的机器ssh上去,执行passwd,然后立刻踢掉所有其他会话(pkill -u root)。
最后,处理好后去百度搜索资源平台提交「站点整改」,说明情况。不然挂马页面被收录的垃圾结果可能影响正常收录好几个月。
还木有评论哦,快来抢沙发吧~