在Web服务器上处理安全扫描程序的好方法

我想知道,当处理人们扫描你的web服务器的潜在漏洞时,你们会推荐什么? 有什么好办法来解决这个问题?

它有助于在防火墙级别阻止他们的IP吗? 我在想,也许增加一个iptables的规则来阻止或评估传入连接的限制可能会有所帮助? 如果是这样,这将是一个很好的iptables的规则?

有什么想法吗?

谢谢

有什么好办法来解决这个问题?

确保你的服务器是安全的,他们会离开你一个人。

处理自动化机器人有两个阶段:

  1. 检测和识别机器人。
  2. 决定如何处理他们。

如果您有任何一种中等stream行的网站,机器人的数量将使手动这样做是不切实际的。 你将需要一个自动化机器人的自动回复。

漏洞扫描机器人很可能会产生大量的404(我假设你是在谈论Web应用程序漏洞,而不是SSH或Apache漏洞,如果你更关心端口扫描程序寻找暴露在互联网上的MySQL ,那么防火墙和忽略它们是最好的select)。所以,您可能需要创build一个脚本来扫描您的Apache错误日志中的404错误,并按IP地址对结果进行分组。 像这样的东西:

grep "File does not exist:" /var/log/httpd/error_log | cut -d' ' -f1 | sort | uniq -c | sort -n | tail

会给你最高的10个404请求IP地址。 但是,这不是任何不法行为的证据。 您还需要查看访问日志中的一些实际请求,以validation这些实际上是否尝试探测漏洞。 这个脚本将给你一个“可能的嫌疑犯”的名单,从中你可以开始缩小真正的罪魁祸首。 从cron作业运行它并在下一步中使用输出。

接下来我要做的就是开始按照SpamAssassin评分垃圾邮件的方式将分数分配给IP地址,这取决于它所做的请求。 例如,某些string在自动攻击中会出现很多。

  • 以“.txt ???????”结尾的url
  • 包含“?var1 = http://evil.com/foo.txt ”的url
  • 包含“../../../”的url
  • 包含任何Javascript,HTML,PHP或SQL的URL。

任何这些(我相信你会发现你自己的string)应该增加IP地址的分数。 当然,攻击者可以在一定程度上适应于逃避你的检测,但是在你成为一个更高价值的目标之前,他们不会这样做的机会是好的。 这个战略将会持续很长时间。

一旦你得到每个IP地址,find一个分数阈值,所有的机器人都高于,所有的真实用户都低于,并将所有更高的IP地址添加到列表做一些事情。

现在我们进入第二阶段:决定如何处理它们。

您可以:

  1. 发送一个HTTP 403(禁止)消息。
  2. 向他们发送一个ICMP拒绝包(这是你的iptablesconfiguration中的-j REJECT)
  3. 丢弃他们的数据包,不要发送任何东西。 (这是你的iptablesconfiguration中的-j DROP)
  4. 速率将其连接限制为每分钟60个数据包或每秒512个字节。
  5. logging一切,并联系他们的ISP。
  6. 以上都没有…有更多的select。

所有上述选项都涉及修改configuration文件和重新启动服务。 我build议自动生成一个完整的文件,并在你的Apacheconfiguration文件中使用Include语句,或者将其附加到你的iptablesconfiguration文件中,然后重新启动Apache或者iptables。 要非常小心的使用iptables,很容易将自己或用户locking在盒子外面。 确保您在脚本中构build了故障安全,或者您有另一种访问方法,例如控制台端口或KVM。

最好的方法是在到达Web服务器之前停止它。 虽然这可以在Web服务器上使用防火墙来完成,但我相信这两个function足够专业,应该是独立的。 任何体面的防火墙都将通过简单地丢弃来自该源的所有数据包来响应端口扫描,从而为您提供所需的保护,而且这不需要或生成“数百万条目”,如其他地方所build议的那样。

过去我在防火墙上使用过PSAD,效果很好。 你我也是我们的iptables速度限制选项,以减缓networking服务器本身的DOS攻击。

最好的select是不要让4chan在你身上打勾。

一对简单的方法是阻止ICMP(ping)除了本地子网之外的任何东西,并阻止通过IP而不是通过DNS的请求。

第一个在IPTables中是可行的。 第二个是使用mod_security2.5,只要你使用的是Apache。 (免费,Mod_security是一个应用程序级别的防火墙,是对IPTables的一个很好的补充)

当合法的客户端请求页面时,请求通常包含DNS信息。 另一方面,机器人往往只是增加IP地址。

不,没有办法。 我们不是人的,我们主要谈论机器人随机扫描IP地址。

iptables – 玩得开心。 下一个蠕虫会将数百万条logging添加到您的表格中。

只要确保你的服务器是安全的,并与之共存。