我目前有一个中型网站,可能有一些安全缺陷。 这可能是正常的,我想。 你不能抓住一切。 问题是,我也有一些脚本小子,他们认为它的乐趣尝试日夜尝试破解我的网站,做谁知道什么。 可能是像删除数据库。 我有备份,但它仍然是内存和CPU的收费,我宁愿停下来。 有什么办法可以分析服务器日志,以便轻松找出哪些条目是由脚本小子造成的? 他们可能每分钟都会被多次点击确定,但是当我可以做一些有价值的事情时,通过挑选这些条目是一件痛苦的事情。
cat access_log | awk '{print $1}' | sort | uniq -c |sort -g
应该产生一个有序的IP地址列表,这是你的网站,第一列将是点击次数,第二个IP。
您可能必须更改值$ 1这是日志文件行中的IP地址字段的位置。 在我的networking服务器上,它的第一个$ 1,否则一个字段被定义为“以空格分隔”,所以下一个条目是$ 2等
Imho,你应该花时间修复你的网站,那么你将不必一直在扫描你的日志文件..
AWStats或Webalizer是众所周知的Web服务器日志 – >统计工具,也许你可以得到一些使用。
我不知道什么是“中型”网站。 但是,如果它足够大,可以在两台不同的服务器上安装DB和Web服务器,那么可以使用像GreenSQL这样的数据库防火墙。 这会给你更多的信息,他们想要做什么。 但是你仍然需要一个http日志分析器来找出他们正在攻击的地方(他们试图以什么样的方式来使用)。
如果您使用的是Apache,您可能需要考虑实施mod_security( http://modsecurity.org/ ) – 即使底层应用程序易受攻击,它也可以提供一定程度的保护以防止某些types的攻击。 它并没有抓住所有的东西,但它可以帮助你不必控制你正在运行的代码。
这是一个有点类似的问题,我最近问,可能有一个解决scheme给你:
Ubuntu服务器的新function,日志监视和做什么
有很多免费的日志分析器,都会告诉你相同的信息。 做一个谷歌search,试驾一些,看看你喜欢什么。
我不认为我会停止备份的网站。 你应该总是有备份。 太多的事情可能会发生,可能需要这些备份。
所以,检查日志,做备份,保持你的系统补丁,使用强大的密码,防火墙(最近有人推荐等…
我相信你会在这里得到一些好的build议。
即使你find属于脚本小子的条目,我怀疑这会帮助你做任何事情。 你不能通过阻止这些IP地址来locking它们。 大多数人拥有由其ISP分配的dynamicIP地址。
此外,日志文件可能无法显示你所有的攻击。 例如,蛮力SSHlogin尝试呢?
海事组织对你的问题唯一的理智的方法是努力解决尽可能多的安全缺陷,你可以合理的努力,并在紧急情况下备份。