我有一个奇怪的机器人打击我的网站。它可能是某种低级拒绝服务攻击,但我认为这不太可能。我正在寻找阻止它的建议,因为它正在迅速咀嚼我的所有CPU和带宽分配。
以下是它的作用:
每周大约650页的请求,如发条,持续数周
大量的IP列表 - 数百个,旋转,地理位置随机散布在世界各地
轮换用户代理字符串,其中许多用于合法浏览器
HTTP_REFERER经常(但并非总是)充满垃圾网站
最奇怪的是,GET请求几乎总是会产生404错误,因为大部分都是针对非MY SITE的完全限定的URL。当它们不是完整的网址时,它们适用于不存在,从未拥有的网页或资源,甚至看起来不是漏洞利用尝试。
以下是我的服务器日志中的一些示例记录:
80.84.53.26 - - [24/Feb/2015:06:15:43 -0600] "GET http://www.proxy-listen.de/azenv.php HTTP/1.1" 404 - "http://www.google.co.uk/search?q=HTTP_HOST" "Opera/9.20 (Windows NT 6.0; U; en)"
54.147.200.126 - - [24/Feb/2015:06:15:44 -0600] "GET http://www.pinterest.com/jadajuicy07/ HTTP/1.1" 404 - "-" "Mozilla/4.0 (compatible; Ubuntu; MSIE 9.0; Trident/5.0; zh-CN)"
91.121.161.167 - - [24/Feb/2015:06:15:44 -0600] "GET http://78.37.100.242/search?tbo=d&filter=0&nfpr=1&source=hp&num=100&btnG=Search&q=%221%22+%2b+intitle%3a%22contact%22+%7efossil HTTP/1.1" 404 - "http://78.37.100.242/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
185.2.101.78 - - [24/Feb/2015:06:15:43 -0600] "GET http://mail.yahoo.com/ HTTP/1.1" 200 269726 "-" "Mozilla/4.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; .NET CLR 3.5.30729; MS-RTC LM 8; .NET CLR 3.0.30729)"
142.0.140.68 - - [24/Feb/2015:06:15:44 -0600] "GET http://ib.adnxs.com/ttj?id=4311122&cb=[CACHEBUSTER]&referrer=[REFERRER_URL] HTTP/1.0" 404 - "http://www.monetaryback.com/?p=1419" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.206.1 Safari/532.0"
这是我第三次处理这些相同的情况。它发生在大约六个月前。作为参考,我的网站是一个关于棒球的博客(在我自己建立的博客平台上),有几百名常客。我在美国,但我的网站没有国家机密!
现在,我已将所有404错误重定向到一个脚本,该脚本动态修改我的.htaccess文件,以立即禁止发出不连贯请求的IP。这很有效,但我认为它不可持续。
这是什么东西?什么是阻止它的最佳实践方法?感谢。