我正在构build某种web应用程序,目前整个事情都在我的机器上运行。 我正在梳理我的日志,发现了几个“奇怪的”日志条目,让我有点偏执。 开始:
***.***.***.** - - [19/Dec/2010:19:47:47 +0100] "\x99\x91g\xca\xa8" 501 1054 **.***.***.** - - [19/Dec/2010:20:14:58 +0100] "<}\xdbe\x86E\x18\xe7\x8b" 501 1054 **.**.***.*** - - [21/Dec/2010:15:28:14 +0100] "J\xaa\x9f\xa3\xdd\x9c\x81\\\xbd\xb3\xbe\xf7\xa6A\x92g'\x039\x97\xac,vC\x8d\x12\xec\x80\x06\x10\x8e\xab7e\xa9\x98\x10\xa7" 501 1054
血腥的地狱……这是什么?
除非你已经注意到奇怪的新文件,改变了系统文件,或者从你的服务器上的其他奇怪的行为,我不会担心那些奇怪的日志条目。 任何人都可以发送畸形的HTTP请求到你的服务器,如果它对互联网开放,那么多人(或机器人)就是这样做的。
他们为什么要那样做? 那么,一些networking服务器已经知道漏洞,只要发送“正确”的请求就可以利用这些漏洞。 所以你可能看到的是探测已知的(甚至是未知的)漏洞。 如果让你觉得更安全,你可以采取一些追溯措施,比如阻止/禁止发送格式错误或未知请求的IP(使用iptables,fail2ban等)。
就我个人而言,我认为将“坏”IP列入黑名单并不值得,因为当你在日志文件中看到自己的痕迹时,他们已经知道你不是脆弱的,或者你已经被黑客入侵了。 我相信更好的方法是积极主动的安全:
保持你的服务器软件完整的补丁和最新的。 总是。 一丝不苟。 宗教。
保持您的攻击configuration文件尽可能小:不要在服务器上安装/运行任何不必要的软件。 而且,正如奥卡姆的威廉曾经说过的:“不要不必要地繁殖用户帐户。”
防火墙服务器。 ( 或者不要 ,但是知道你在做什么。)
运行入侵检测系统,如AIDE , OSSEC或samhain 。 当系统文件意外更改时,这会提醒您,通常会警告您的服务器已被盗用。
运行系统监控/绘图软件,如munin , cacti , collectd等。 定期观看图表,以了解正常的系统负载是什么样子的,以及您常规的趋势是什么样子的。 然后,当你的图表显示你以前从未见过的东西时,你有动力进一步调查。
运行Web日志分析器/绘图器,如webalizer或awstats 。 再次,熟悉正常的操作是什么样子,所以你可以很快地识别什么时候不正常。
运行一个单独的日志服务器—最好是在一个最小的,没有其他运行的安全强化的系统—并configuration你的服务器发送他们的日志。 这使得入侵者更难以掩盖他的踪迹。
你运行什么样的服务器? Apache的?
这看起来像一个IIS漏洞….代码红/ NIMDA
每个可公开访问的Web服务器都会整天收到这样的请求。 他们只是盲目地尝试已知的攻击对您的服务器。 我经常做的事情是configurationWeb服务器,当它接收到它的IP请求(例如http://10.0.0.1 )时显示一个空白页。 我只允许在请求正确的虚拟主机域时出现这些网站。
通过IP而不是通过域名访问Web服务器时,查看出现的站点。 大部分利用脚本爬行的网pipe都没有执行有效的虚拟主机请求(正确的虚拟主机头)。
您还可以查看各种可以自动阻止尝试恶意请求的IP地址的实用程序。
那么假设这些IP地址是你自己的,而不是外部地址,那么它可能只是你的networking应用程序日志垃圾。
这让我想起了一种情况,我曾经看到过使用UTF8格式的PHP日志logging数据,然后将其编码/转换成ASCII码,这些信息看起来非常类似。