网站安全防护
网站被黑了第一时间该做什么?安全应急响应清单

凌晨三点收到服务器告警短信,打开网站一看首页已经被挂了暗链——这种场景不少运维人员都经历过。慌是正常的,但慌完之后你得知道第一步干什么、第二步干什么。

黄金30分钟:止血优先

发现网站被黑,第一件事不是排查原因,而是止血。把损害控制在最小范围,比什么都重要。

具体做三件事:

第一,隔离受影响服务器。通过防火墙规则封禁所有外部访问,只保留SSH管理端口给你的IP放行。如果是云服务器,直接在安全组里把入站规则改成仅允许运维IP访问。

第二,保留现场。别急着重启,别急着删文件。内存里的攻击痕迹、异常进程、网络连接一旦重启就全没了。用ps auxnetstat -antplsof -i把当前进程和网络连接全部截图或导出,这些是后续取证的依据。

第三,切换到备用环境或静态页面。如果有灾备方案,把业务切到备用服务器;如果没有,临时挂一个静态维护页面,至少别让用户看到被篡改的内容。

排查阶段:找到入口

止血之后开始排查攻击入口。重点看四个方向:

Web日志里有没有异常的POST请求,特别是深夜时段大量请求同一个URL;数据库日志里有没有非常规的增删改操作;服务器上最近72小时内新增或修改的文件,用find /var/www -mtime -3 -type f可以快速筛出来;还有SSH登录记录,last/var/log/secure里有没有陌生IP登录成功。

常见入口就那几个:弱口令被爆破、老漏洞没补、上传功能没做过滤、第三方组件被供应链攻击。沿着这几条线查,基本能定位到。

清理与恢复:别留后门

找到入口之后开始清理。这里有个原则:宁可重装,不要修补。

攻击者植入的WebShell、定时任务、SSH公钥后门、隐藏账号,藏得比你想象的深。手动清理很容易漏掉一两个,过两天又被重新打进来。最稳妥的做法是把业务数据备份出来(注意备份文件本身也可能带毒,要先查杀),然后重装系统、重新部署应用、用干净的备份恢复数据。

恢复上线前还有一步必须做:堵住攻击入口。该补的补丁补上,该改的密码改掉,该加的WAF规则加上。否则上线等于重新敞开大门。

最后写一份事件报告,记录攻击时间线、影响范围、处置过程和改进措施。不是为了走形式,而是下次遇到类似情况可以少走弯路。