网站被攻击了怎么办?攻击类型识别与应急处理四步

来源:互联网 时间:2026-09-19

早上打开监控,CPU 一直顶在 100%,网站时快时慢,客户的消息一条接一条。这种时候最不该做的动作是随便装个安全插件就宣布解决了。网站被攻击,处理的第一步不是防,是判断——判断到底是不是攻击、是哪一类攻击、打到哪一层了。类型认错,后面的处理全是白费工夫,甚至因为误封误删把正常用户也挡在门外。

一、先分清是被人打还是自己出问题

CPU 高不一定就是被打,可能是你自己的定时任务正在跑、程序里有个耗尽资源的死循环、或者数据库在做全表扫描。判断有没有攻击,看三个信号有没有一起出现:请求量远超平时的量级、来源高度集中、行为模式明显不像人(同一个地址被反复请求、日志里一口气多出成百上千条 404)。三个里占两个,基本可以按攻击处理;只有一个,先当故障排。

二、常见攻击类型和它们留下的痕迹

流量型攻击。表现是全站都慢甚至直接打不开,特征在带宽和连接数上——出网带宽被跑满、并发连接数暴涨。这类攻击的痕迹不在日志里,在流量图上。

CC 攻击。本质是用大量看起来合法的请求把后端资源耗干。它的迷惑性在于带宽可能不满、日志里每条记录都像正常访问,但并发数上去了、后端进程被占满、响应时间越拉越长。判断要靠“同一路径的请求量”和“进程数”这两个数一起看。

暴力破解。盯着你的登录后台和 SSH 端口,日志里会留下大量登录失败记录,来源 IP 往往集中在一片地址段里。这种攻击本身不致命,但如果你的密码够弱,它迟早会成功。

注入与上传。目标是往你的站里塞东西。痕迹有两处:请求参数里出现大量引号、union、特殊编码,以及服务器上突然多出你不认识的脚本文件。这类攻击最值得警惕,因为它可能已经成功了,只是你还没发现。

扫描探测。特征很好认:状态码里 404 一大片,路径五花八门,从后台入口到配置文件轮着试。这类攻击本身不造成损失,但它是后面所有攻击的前奏,看到就该警觉。

挂马与暗链。最隐蔽的一类,网站表面正常运行,但页面源码里多了陌生的脚本、隐藏链接,搜索引擎的结果标题和描述也被改了。往往是被用户投诉有风险提示,站长才知道自己中招。

三、几个命令把特征坐实

光看现象容易误判,把日志按几个维度统计一遍,类型基本就浮出来了。下面这一组命令是应急时的第一步,跑完再决定怎么处理。

# 1) 按 IP 统计请求量,找异常来源

awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -20

# 2) 被请求最多的路径,看是不是有人在盯某个入口

awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -20

# 3) 状态码分布,404/403 占大头说明在被扫描

awk '{print $9}' access.log | sort | uniq -c | sort -rn

# 4) 当前连接数与来源分布

ss -s

ss -ant | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20

# 5) 最近三天被改动过的脚本文件,重点看上传目录

find /www/wwwroot -type f \( -name "*.php" -o -name "*.jsp" -o -name "*.sh" \) -mtime -3 -ls

第 5 条最值得每天看一眼。真正麻烦的攻击都不是打到你打不开,而是悄悄留下一个能长期进出的后门,而所有后门都表现为“服务器上多了一个你不知道的文件”。把上传目录、缓存目录、附件目录这几个地方固定翻一遍,是成本最低的自查。

四、应急处理四步,顺序别倒

第一步识别。把上面查到的证据对到具体类型上,是流量型、CC、还是入侵型。类型决定后面用什么手段,认错了动作就全错。

第二步隔离。把攻击面切开:能封 IP 就封,量大就上限流,量再大就借 CDN 的防护能力,实在扛不住就临时只放行正常来源段。隔离的目标是止血,不是查清。

第三步取证。趁现场还在,把访问日志、系统日志、进程列表、连接列表、被改动的文件清单全部导到另一台机器上。这一步最容易被跳过,也最容易后悔。

第四步修复。补漏洞、清后门、改密码、加防护、重新做备份。这里要强调一句:取证和修复别图省事一起做。一边删文件一边改配置,回头你连攻击者从哪个入口进来的都不知道,同一种打法下周还会再来一次。

五、修复要落到具体动作

改掉所有管理员和数据库账号的密码,SSH 的也一起改,尤其是那种全站用同一个老密码的站;把程序和依赖组件升到最新的安全版本;按文件修改时间和内容比对,删掉确认的恶意文件,别靠眼熟判断;检查计划任务、开机启动项、SSH 的授权文件有没有被塞东西;把后台的访问来源限制到必要的地址;给关键接口加上限流或者接一层防护;最后做一次完整的整站备份。这几件事一件件做完,再宣布恢复。

六、留一份复盘记录

记下时间线、攻击类型、入口在哪、做了哪些处理、还遗留什么风险。被盯上的站基本不会只挨一次打,这份记录就是你的免疫系统,下次同样的手法过来,翻一下就能在几十分钟内处理完,而不是重新从零开始查。

相关阅读:

《网站被攻击打不开?先止损再溯源的处理顺序》

《网站服务器日常维护要做什么?巡检清单与例行维护项》

《网站打不开是什么原因?从DNS到程序的分层定位法》

相关文章

A5创业网 版权所有

返回顶部