复盘一次攻击事件,不是为了追责,而是把“网站被攻击了怎么排查”的完整路径走通,再把后续防护需求一次定清楚。 下面按现场现象、日志定位、根因确认、清理加固、预算规划的顺序展开,还原一次中小型Web业务的真实入侵与处置过程。
网站被攻击了怎么排查:按时间线还原入侵路径
第一现场:异常现象与快速取证
当天上午,某企业门户站运维群连续告警:服务器CPU占用持续偏高、出站带宽跑满、首页响应时间超过8秒,数据库连接数也异常激增,客服陆续收到用户反馈页面偶尔跳转到一个陌生域名,这个现象组合基本可以判断不是普通性能瓶颈,更像Web入侵后的资源滥用。
第一时间要做的不是重启,而是保留证据,重启会让内存中的恶意进程消失,把关键线索一起清掉,正确顺序是先把节点从负载均衡摘除,再保留快照,同时导出当前状态。
- 查看异常进程:
ps aux --sort=-%cpu | head -20 - 查看对外连接:
netstat -antlp | grep ESTABLISHED - 查看计划任务:
crontab -l和cat /etc/crontab - 查看登录成功记录:
last -20和grep "Accepted" /var/log/secure
现场发现一个名为/tmp/.mysql的进程占用了较高CPU,出站连接到境外某IP的443端口,计划任务里多了一条每5分钟执行一次的下载脚本,登录记录显示异常IP在凌晨3点成功登录root账号。
从Web日志里找入口
多数Web攻击会在Nginx或Apache访问日志里留下明显痕迹,排查时优先拉取攻击前24小时日志,按状态码、请求路径和来源IP三个维度过滤,以下命令能快速定位爆破和Webshell访问行为:
grep "POST" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
grep "admin/login" /var/log/nginx/access.log | grep "200" | tail -50
grep -E ".php?|shell|cmd=|eval(" /var/log/nginx/access.log
日志里定位到某个海外IP在短时间内对后台登录接口发起大量POST请求,其中一次返回200,随后该IP访问了/upload/avatar/20260101.php,路径暗示文件被写入到头像上传目录,攻击者先利用后台弱口令登录,再通过上传点绕过扩展名校验,写入一句话木马,最终用木马连接工具控制服务器。
根因确认:一条弱口令诱发连锁反应

复盘到这一步,攻击链已经清晰:后台管理员账号沿用初始密码,验证码可被脚本绕过;上传接口只校验前端文件类型,服务端未做二次检查;Web目录可执行PHP脚本,运行账号权限过大,三个基础问题叠加,攻击者从登录到拿下Webshell只用了几分钟。
业内专家指出,多数中小企业遭遇的Web入侵并非因为零日漏洞,而是弱口令、未更新组件和上传校验缺失这类基础问题被反复利用。
网站服务器被挂马怎么清理与应急响应
常见挂马位置要心里有数
攻击者拿到权限后,通常会在多个位置留下后门,只删一个文件远远不够,Web服务器被挂马的高发位置包括:
- 上传目录:头像、附件、缓存目录里的伪图片马
- 定时任务:
/var/spool/cron/、/etc/crontab、/etc/cron.d/ - 启动项:
/etc/rc.local、/etc/init.d/下的伪装脚本 - SSH公钥:
/root/.ssh/authorized_keys、/home//.ssh/authorized_keys - 正常文件篡改:被插入
eval、base64_decode、system等危险函数的模板文件
清理不是删一个文件就完事
Webshell清理必须按“备份隔离扫描修复验证”五步走,跳过任何一步,都可能被重复入侵。
- 备份:对整机做镜像,或至少打包
/var/www、/etc、/home和数据库。 - 隔离:断网或限制出站,防止数据外传和二次下载木马。
- 扫描:用
find /var/www -mtime -5 -name ".php"找近期修改文件,用grep -R "eval(base64_decode" /var/www找可疑函数。 - 修复:从干净备份恢复站点源码,重置所有账号密码,数据库账号改为最小权限。
- 验证:清理后观察出站连接和异常进程,确认没有新增后门,再重新接入负载均衡。
用命令把后门揪出来
以下命令能辅助定位Web目录下被写入的可执行文件和异常函数:
find /var/www -type f -name ".php" -mtime -7
grep -R "base64_decode|system(|exec(|shell_exec|assert(" /var/www --include=".php" | head
find / -user www-data -type f -perm /111 2>/dev/null
命令只能作为辅助手段,要确认攻击者是否横向移动至内网其他主机,还要结合流量侧记录和登录日志做关联分析。

DDoS防护多少钱一年:先算清业务中断成本
很多管理者在出事后才问“DDoS防护多少钱一年”,但价格取决于防护峰值、接入方式和是否包含代运维。基础云清洗服务按年订阅,入门级通常四位数,覆盖常见小流量攻击;中等规格从数万到十几万不等,主要看保底带宽和清洗能力。
- 自建清洗设备:一次性投入高,需要机房和专职运维,适合预算充足且合规要求高的单位。
- 云原生DDoS防护:按订阅或弹性计费,接入简单,多数云厂商支持一键开启,适合中小企业。
- 托管抗D服务:由第三方实时调度流量,响应更快,但长期成本也更高。
评估预算时,不建议只看报价单,先估算一次攻击造成的业务损失:订单流失、客诉处理、品牌修复,往往比一年的防护费用还高。
地域节点也会影响防护效果
如果业务主要分布在成都、杭州这类流量集中的城市,选择云清洗节点时优先看本地是否有近源清洗能力,跨地域调度会增加延迟,尤其对在线交易类业务影响明显,成都、杭州等地区的云服务商普遍提供本地清洗节点,接入后能减少首包延迟。
企业网络安全防护方案对比:自建、云WAF和托管差异
不同规模的方案选择不一样
| 维度 | 自建WAF | 云WAF | 托管安全服务 |
|---|---|---|---|
| 初期成本 | 较高 | 较低 | 中等 |
| 维护难度 | 依赖专职人员 | 厂商维护 | 厂商全包 |
| 响应速度 | 依赖内部流程 | 分钟级 | 实时 |
| 适用对象 | 大型企业、合规要求高 | 中小企业、Web业务为主 | 安全团队薄弱但预算充足 |
行业共识认为,多数中小企业优先采用“云WAF+堡垒机+日志审计”的组合,既能覆盖Web攻击面,又能满足等保合规的基线要求,体量再大一些,再考虑自建或混合架构。
把防护需求落到配置项而不是口号

复盘结束后,如果只写“加强安全意识”是无效的,可落地的防护需求应该长这样:
- 后台登录强制多因素认证,限制连续失败次数,来源IP绑定。
- 上传接口做前后端双重类型校验,存储目录禁止执行脚本。
- Web目录与系统目录权限隔离,运行账号禁止
sudo。 - 开启访问日志保留至少180天,配合异常请求告警规则。
- 核心域名接入云WAF,开启高频CC攻击和SQL注入拦截策略。
从复盘到落地:给运维团队定一个响应节奏
攻击事件复盘不能只出一份报告,还要定下下次异常时的处理框架,没有SLA的应急响应,往往在争论中错过止损窗口。
- 0-5分钟:值班人员收到告警,确认影响范围,摘除问题节点。
- 5-30分钟:完成快照留存、初步定位攻击类型,启用备用资源恢复核心业务。
- 30-60分钟:安全人员介入,封禁来源IP、下架异常文件、重置受影响账号。
- 1-4小时:完成全量排查,确认无持久化后门,输出内部简报。
- 24小时内:召开复盘会,更新防护策略和监控规则。
这个节奏不是标准答案,但可以作为团队第一次跑通的模板,跑过一次,下次再遇到就不会手忙脚乱。
攻击事件复盘防护相关问答
网站被攻击了怎么排查最有效?
最有效的方式是按时间线还原:先保留现场快照和日志,再分析Web访问日志、系统登录日志、计划任务和异常进程,入口可能是一段POST请求、一个异常上传文件,也可能是一次弱密码登录,不要只看告警,要顺着访问路径找到攻击者真正控制服务器的节点。
DDoS防护多少钱一年?
DDoS防护费用没有统一标价,取决于防护峰值、接入方式和是否包含代运维,基础云清洗服务按年订阅常见在几千元起步,中高规格从几万元到十几万元不等,自建清洗设备初期投入则更高,评估预算时,先把业务中断损失算进去,再决定买多大规格。
企业网络安全防护方案哪家好?
没有适用于所有企业的单一答案,中小企业通常更适合云WAF加堡垒机的组合,成本低、维护少;大型企业或合规要求高的单位,则要考虑自建安全运营中心或采购托管安全服务,最终选型取决于业务类型、数据敏感度和内部安全人员配置。