因为现在的攻击多为代理IP攻击,其特征点其实是IP随机或轮换攻击,多为同一个地区,部分为全国IP,但是随着攻击频率的加大,经常可以通过IP访问次数发现异常,比如某个地区IP或者某个IP超过百次访问随机链接,无有效来路等等。
然后我们通过一个月的观察,发现其实防火墙可以通过以下规则来识别恶意或者无意义的访问:
1. 单个IP无来路访问随机链接
即这个IP不是从搜索引擎,也不是通过内页跳内页方式访问,而是通过直接访问(无来路)方式访问的内页。这是因为大多数攻击或者扫描软件,都是通过圣生成链接或者通过第一个入口页面抓取源代码方式爬取链接,然后再使用软件直接访问的方式进行攻击或者爬虫。
所以这个时候,我们需要一个:单IP 访问N次,N次均无来路,的方式就可以屏蔽
2. 单IP访问,UA无固定值
我们通过一个月的观察分析,发现攻击IP为防止基础的防护规则,均使用模拟浏览器的方式进行攻击,但是这样也造成一个问题,就是单IP用户访问的UA是随机的,每次都不同。
虽然限于UA库他们可能不多,也会出现少量重复UA的情况,但是依然是单IP多UA的情况。
这种情况明显的攻击或者爬虫行为,也可以通过规则: 单IP,单日超过N个不同UA访问的情况,来进行屏蔽。
基本上识别恶意访问或者爬虫访问的概率超过95%,有效阻止恶意访问和爬虫访问98%,对于占用流量、带宽等服务器资源,保护内容资源是有极大帮助的。
可以将这个规则放到NGINX防火墙内。
|
|