Apache是​​否可以不响应特定请求?

为了强化一个面向公众的networking服务器,我和我的同事提出了一个计划,让Apache对某些请求进行“黑洞”。 例如,请求phpmyadmin(这是不运行)或其他明显的黑客/恶意企图,我们希望Apache甚至没有响应。

我知道Apache可以发送各种错误或使用mod_rewrite空数据响应,但我想尽可能less发送它们,所以理想情况下…没有。

需要保护其应用程序的大型站点使用称为networkingIDS(入侵检测系统,也称为IPS(入侵防御系统),可以根据某些标准(源IP,行为,指纹等)拒绝数据包)。许多IDS将允许你在地面上丢弃数据包(例如,根本没有响应),立即终止TCP / UDP会话,将你添加到黑洞列表,将会话引导到蜜jar等等。这个主题可能是非常复杂和非常复杂的有趣的是:思科和其他人为了你而销售昂贵的设备,一些安全pipe理员花费了他们的职业生涯,等等。像Facebook,Twitter和Google这样的大型网站都有非常复杂的IDS,这些都非常有趣。

IDS是networking级别的设备,而不是应用程序级别的设备。 应用级别的IDS仍然受到诸如DDOS,TCP和IP级别攻击等其他攻击的影响。

但是,并不是每个人都可以实现networkingIDS。 在Apache级别,许多人使用mod_security作为应用程序级别的IDS。 默认情况下,mod_security具有保护站点免受许多常见攻击的能力,可以自定义以执行所需的特定操作。 mod_security可以在Permissive模式下运行,在这种模式下,它会警告攻击并打印出它认为应该做的事情,而在阻止模式下,它将主动阻止感知到的攻击。 从他们的FAQ:

https://github.com/SpiderLabs/ModSecurity/wiki/ModSecurity-Frequently-Asked-Questions-%28FAQ%29#wiki-What_exactly_is_ModSecurity

ModSecurity™是一个开源免费的Web应用程序防火墙(WAF)Apache模块。 目前,所有攻击的70%以上都是在networking应用程序级别上进行的,组织需要所有的帮助来提高系统的安全性。 WAF被部署来build立一个外部安全层,提高安全性,检测并阻止攻击到达Web应用程序之前。 它可以防范针对Web应用程序的一系列攻击,并且可以对现有基础架构进行很less或根本没有更改的HTTPstream量监控和实时分析。

在OSI堆栈中在这个级别丢弃一个会话有点笨拙,但有些人做了一些接近的事情。 请参阅如何使用mod_security删除所有请求

mod_security并不总是一个容易的前景,但mod_rewrite也可以变得非常复杂。 mod_security确实有很多的文档和经验丰富的用户社区。

你想在这里做什么? 不方便可能攻击你的服务器或保护你的服务器的人? 2不兼容。

Apache不能干涉networking堆栈而不作任何回应; 这意味着你必须保持连接的开放,这意味着你已经人为地保持了一个纺纱的时间比所需的时间长。 这对于任何想要执行你的站点DOS的人来说都是一个非常有效的资产 – 他们只是用500个左右的请求来打你的phpmyadmin,并且你的服务器上的每个插槽都被绑定了。

你可以把它们redirect到一个黑洞地址,但是你必须花钱维护一个静态的IP地址,这个IP地址什么也不做。

此外,你是否认为脚本小子知道如何在客户端configuration一个短暂的暂停? 你只通过实现这个来击败单个请求。

更好的解决scheme是捕获并logging这些请求,并使用日志(或只是过滤您的error_log)来提供fail2ban。 这样,你可以在防火墙上实现一个块,在它们能够映射出你已经安装了什么软件之前,防火墙将阻止它们。