我最近注意到我的主要生产服务器上有一个巨大的负载,在一些日志解析之后我偶然发现大量这些用户代理来自大约 20 个不同的 IP:
173.244.182.194 - - [07/May/2013:16:26:17 +0200] "GET / HTTP/1.1" 302 490 "-" "Java/1.6.0_26" 173.244.182.194 - - [07/May/2013 :16:26:18 +0200] "GET / HTTP/1.1" 200 17376 "-" "Java/1.6.0_26"
猜想这是某种屏幕抓取工具,我设法用 fail2ban 阻止了那些用户代理。
现在很纳闷,一旦ban time 过了,IP 的请求又开始了。我目前每天阻止大约 10 个 IP。
它是什么?IP 来自服务器和个人用户,这是正常事件(就像那些不断尝试使用 SSH 登录的受感染服务器)我应该担心我的服务器安全吗?
当 Java 发出 HTTP 请求时,User-Agent 是默认值。它表明它是由懒得设置自定义用户代理的程序员编写的。
即使它是一个合法的机器人,它也可能写得不好。我会很乐意阻止它。
我在我自己的网络日志中看到了相同的 IP 地址(以及附近的其他几个 IP 地址)检索非常垃圾邮件的 URL,例如
/blog/there-are-some-diablo-3-gold-players.html
以及带有垃圾邮件Referer:
标题的通用 URL,这使得他们看起来像是刚刚搜索了色情内容。我还看到它发送的请求是
POST /action/sign_in
合法的爬虫机器人不应该做的。它还通过一个简短的普通(如果稍旧)浏览器列表更改其用户代理。是的,您应该关注服务器的安全性。我建议继续阻止这些 IP 地址。
如果您特别担心 ssh 登录,可以使用像DenyHosts这样的工具。这是一个HowTo。