根据ZDNet最近的一份报告 , 31%的stream量是非法的(黑客,刮板,垃圾邮件)。 作为一个系统pipe理员的挑战是find一种方法来阻止stream量,而不会阻止您的真实用户和search引擎。 我已经searchServerFault "block traffic" ,只发现有关具体工具(如这个和iptables 这一个)的答案,它不给你一个解决scheme的概述,在那里,何时使用它们,为什么我会喜欢发表这个问题,试图收集关于这个话题的权威答案。
我开始深入研究,大致了解如下:
– 你检查的堆栈中较低的 (例如iptables ) 性能更好 (因为它不被应用程序处理),但是更可能阻止合法的通信 (例如,如果你在IP上过滤,黑客使用访问点你最终将阻止所有依赖相同的访问点的用户)。
– 你检查的栈 (如apache mod_security ) 越高, 性能越差 (因为到那时为止的每个组件都必须处理这些信息),但阻止合法stream量的可能性较小 。
由于我们使用httpd/apache + PHP运行REHL 5.6和Ubuntu 10.04 ,所以我不打算撒谎,并且承认我只对符合这些configuration的解决scheme感兴趣。
问:您能否从经验中分享您使用的工具(以及为什么)来阻止您的网站的非法stream量?
我正在使用OSSEC来防止在我的网站上遭到非法攻击。 它会检查人们询问的内容,如果发现有人询问大量不存在的文件以尝试findlogin页面或打开的configuration文件,则会自动阻止这些用户。 这是相当广泛的。 我做了一个关于它的博客文章 。
定义自己的规则来阻止暴力攻击是很容易的。 您也可以使用一个服务器和多个客户端。 因此,如果一台服务器发现了一个攻击,它会阻止它并通知服务器事件。
这里有一个很好的post,关于如何阻止生成太多404的人。