前言
很多站长、运维遇到网站突然流量暴涨、CC攻击、恶意爬虫扫描,第一时间都会看User-Agent。
但这里有个大坑:
只拉黑UA是不够的,攻击者很容易伪造、轮换UA;我们真正目标,是通过UA特征,定位背后的攻击IP。
一、先搞懂:什么是UA攻击
User-Agent是HTTP请求头,用来告诉服务器客户端是什么浏览器、什么程序。
正常用户:UA固定,比如Chrome、Edge、微信内置浏览器。
UA类攻击一般分这几类:
- 脚本默认UA:python-requests、curl、wget、HttpClient、Scrapy,CC、扫描器、爬虫最爱用;
- 空UA、畸形乱码UA、格式断裂;
- 伪造浏览器UA(伪装成Chrome,但行为完全不正常);
- 批量代理IP共用同一个恶意UA,批量发起请求。
重点区分:合法爬虫(百度、搜狗)有固定UA,并且IP是官方公布网段,和恶意爬虫IP不一样。
二、5类高风险UA特征,用来锁定可疑IP
拿到访问日志,优先筛选下面特征,命中之后,再统计对应的IP:
- 工具类UA:python-requests、curl、wget、Scrapy、urllib、Java/HttpClient、go-http-client;
- 空UA或者纯随机字符串:User-Agent为空、乱码、无规范浏览器格式;
- 扫描器、渗透工具UA:sqlmap、Nessus、Nikto、Awvs、爬虫扫描标识;
- AI爬虫UA:GPTBot、ClaudeBot等(业务不需要可管控);
- 伪造UA指纹不匹配:UA写Chrome,但不加载图片、css、js,无Referer,高频轮询接口。
难点:现在攻击者都会伪造标准Chrome UA,单看UA识别不出来,必须结合
访问行为+IP信誉综合判断。
三、实战:Nginx日志筛选,从UA提取攻击IP
nginx日志标准格式包含:客户端IP、UA、请求时间、访问路径。
几条直接可用的Shell命令,服务器上一键跑,统计【异常UA对应的TOP攻击IP】
# 统计所有UA访问量TOP
grep -E "python-requests|curl|wget|HttpClient" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -20
- $1 代表日志里的客户端IP;
- 可以自行增加关键词,扫描到一批高频IP,就是重点嫌疑对象;
- 把筛选出来的IP,去查IP信誉库:是否机房代理、肉鸡、恶意IP库标记。
日志分析判断标准(满足多条基本实锤攻击IP)
- 同一个IP,短时间几十上百次请求,请求间隔极短;
- 只请求接口、后台路径 /admin、/api,不加载静态资源;
- UA是爬虫工具标识,或者频繁切换不同UA;
- 无Cookie、无Referer,请求头残缺;
- IP归属:海外机房、代理池、VPS,不是正常用户宽带IP。
四、两种UA攻击场景,识别思路不一样
场景1:固定UA批量CC(简单)
特征:大量不同IP,统一携带同一个恶意UA。
做法:先标记UA指纹,把该UA下所有访问IP提取出来,加频率限制、WAF验证。
场景2:伪造浏览器UA(最难防)
攻击者全部伪装成Chrome/Edge,UA和正常用户一模一样。
这种不能靠UA文本识别,要靠行为指纹锁定IP:
- 单IP并发高、请求速度远超真人;
- 只POST/GET攻击接口,不访问页面静态资源;
- Cookie、Accept-Language、header顺序和真实浏览器不一致;
这类需要WAF、JS挑战、验证码联动识别IP,不能只依赖UA黑名单。
五、识别出来攻击IP之后,防护落地方案
- WAF/CDN侧:配置UA匹配规则,对可疑UA的IP启用频率限速、人机验证;
- 防火墙层面:对确认恶意IP直接拉黑(iptables、安全组、云WAF黑名单);
- 接入Fail2ban:监控日志,UA异常+高频访问,自动封禁IP一段时间;
- 白名单机制:把百度、搜索引擎官方爬虫IP段加入信任,避免误杀;
- 定期导出日志复盘:很多攻击是分批轮换代理IP,每天复盘UA+IP报表。
六、非常重要的避坑(很多运维踩坑)
误区1:直接拉黑UA一劳永逸攻击者一行代码就能修改UA,拉黑UA治标不治本;UA是
线索,IP才是拦截主体。
误区2:看到python类UA直接全部封内部监控、定时脚本也会用curl、requests,要结合IP归属+业务白名单区分。
误区3:只看单条日志判断IP偶尔一条curl请求可能是运维自测,
必须看单位时间内访问频次。
七、总结
UA不是最终的拦截条件,而是
一条关键线索。
完整链路:日志筛选异常UA → 提取关联IP → 核验访问行为、IP信誉 → 确认攻击IP → 限速或者封禁。
常规爬虫、CC攻击,这套日志分析流程足够快速定位;对于深度伪造UA的攻击,需要配合请求头指纹、人机校验,才能精准揪出攻击IP。
关于墨者安全
墨者安全致力于安全防护、服务器高防、网络高防、ddos防护、cc防护、dns防护、防劫持、高防服务器、高防dns、网站防护等方面的服务,全网第一款指纹识别技术防火墙,自研的WAF指纹识别架构,提供任意CC和
DDoS攻击防御