
核心要点(TL;DR)
- 立即断网隔离,保留现场证据,避免二次破坏。
- 取证分析日志和文件,定位入侵入口和恶意代码。
- 彻底清除后门并修复漏洞,再恢复上线。
- 恢复后持续监控,加固防护防止再次入侵。
痛点引入:网站被挂马,分秒必争的应急响应
当你发现网站被挂马,页面被篡改、用户数据面临风险,每一秒的延误都可能扩大损失。本文提供一套完整的应急响应流程,从断网取证到恢复上线,包含具体命令和检查清单,助你快速控制事态,彻底清除威胁。
第一步:立即断网隔离,保留现场
发现挂马后,首要任务是切断攻击者访问,防止进一步破坏。但切记不要直接关机或重启,以免丢失内存中的证据。
操作步骤:
- 物理断网:拔掉网线或禁用网卡,或在云平台安全组中阻断所有入站和出站流量。
- 保留现场:不要删除任何文件,不要重启服务器,保持内存和进程状态。
- 记录时间线:记录发现异常的时间、现象和已执行的操作。
若需远程操作,可通过带外管理(如IPMI)或控制台登录,避免使用可能被入侵的SSH。
第二步:取证分析,定位入侵入口
在隔离环境中,收集证据并分析入侵途径。重点检查日志、进程和文件。
关键检查点:
- Web日志:分析访问日志和错误日志,寻找异常请求(如大量POST、可疑User-Agent、罕见路径)。
- 系统进程:使用
ps aux查看异常进程,netstat -tunlp检查异常连接。 - 文件完整性:对比备份,使用
find /var/www -mtime -7 -type f查找近期修改的文件。 - 恶意代码搜索:
grep -r 'eval(' /var/www、grep -r 'base64_decode' /var/www等。
同时检查计划任务(crontab -l)、启动项(systemctl list-unit-files)和SSH授权文件(~/.ssh/authorized_keys)。
第三步:清除恶意代码与后门
根据取证结果,彻底清除恶意文件和后门,并修复漏洞。
操作步骤:
- 删除恶意文件:根据日志和扫描结果,删除上传的Webshell和篡改文件。
- 替换核心文件:从官方源或干净备份恢复被修改的CMS核心文件。
- 查杀后门:使用
rkhunter、chkrootkit或商业杀毒软件扫描。 - 修复漏洞:更新CMS、插件和服务器软件,修补已知漏洞;修改所有密码和密钥。
建议在隔离环境中进行清除,避免二次感染。
第四步:恢复上线与持续监控
确认系统干净后,逐步恢复服务,并加强监控。
恢复步骤:
- 从干净备份恢复:若无法彻底清除,从入侵前的备份恢复数据和文件。
- 更新安全配置:限制上传目录执行权限,禁用危险函数,部署WAF。
- 逐步开放流量:先小范围测试,确认无误后全量开放。
- 持续监控:启用文件完整性监控、日志告警,定期扫描。
在防护建议处,可提及AegisX的实时防护和入侵检测能力,能有效阻断类似攻击。
检查清单与对比
| 阶段 | 关键任务 | 工具/命令 |
|---|---|---|
| 隔离 | 断网、保留现场 | 安全组、IPMI |
| 取证 | 日志分析、进程检查 | grep, ps, netstat, find |
| 清除 | 删除恶意文件、修复漏洞 | rkhunter, 备份恢复 |
| 恢复 | 备份恢复、监控 | WAF, 文件监控 |
行动建议
日常应建立应急响应预案,定期备份并测试恢复流程,部署多层防护(如AegisX)以提前阻断攻击。一旦被挂马,保持冷静,按流程操作,最小化损失。
常见问题(FAQ)
网站被挂马后,第一步应该做什么?
立即断网隔离服务器,防止恶意代码进一步扩散或数据泄露。同时保留现场,不要立即重启或删除文件,以便后续取证分析。断网后通过控制台或带外管理登录系统,进行初步排查。
如何快速找到网站被挂马的恶意代码?
使用命令如`grep -r 'eval(' /var/www`搜索可疑函数,结合`find`按修改时间筛选近期变动文件。对比备份文件差异,检查核心文件是否被篡改。同时分析Web日志,寻找异常请求和上传点。
网站被挂马后,如何恢复上线?
在彻底清除恶意代码、修复漏洞并验证安全后,从干净备份恢复数据,或使用经过安全检查的文件替换。更新所有密码和密钥,部署WAF等防护措施,然后逐步恢复服务并监控异常。
如何防止网站再次被挂马?
定期更新CMS和插件,使用最小权限原则,部署WAF和文件完整性监控,限制上传目录执行权限,并定期进行安全扫描和备份。建议启用AegisX的实时防护和入侵检测功能,提前阻断攻击。
网站被挂马后需要报警吗?
根据入侵程度和数据敏感性决定。如果涉及用户数据泄露或重大损失,建议报警并保留证据。同时通知相关用户和监管机构,遵循数据泄露通知法规。日常应建立应急响应预案,明确报告流程。