这个问题我一直没有得到一个权威的答案,但它对我感兴趣多年:
把Apache与重写规则匹配,说:
1组匹配触发403禁止情况。 403页面在网站上托pipe,所以基本上这些条件会触发网站上的另一个页面加载,并且基本上向探测者确认基本域或IP存在。
但是我一直想知道的是,如果有一种方式基本上发送匹配某些条件的请求,比如已知的垃圾邮件/入侵尝试模式,并且基本上将其发送到/ dev / null或apache等价物。
从来没有find这样的解决scheme,我经常只是使用一个虚假的域名,并redirect匹配的请求到这个虚假的域名,从我的服务器中删除负载,因为该域名不存在(我总是select抽象的名称实际上并不存在),301之后的请求获得404,但在我的理想情况下,请求只会失败并返回任何东西,或一些Apache的等价物。
这实际上是我需要弄清楚的,因为某些工具正在被用于检测一些关于我们网站的数据,而这些数据是不应该被检测到的,但是这里的原因并不重要,因为每个网站的变化情况,我的问题是,我猜,有几点:
如果不存在基本redirect到/ dev / null这样的事情,是否有办法dynamic地分配服务器上不存在的F禁止403页面,这样请求就不会退回到站点403页面,这可能会让一些事情暴露给人们探测。 这是最糟糕的select,因为该网站正在确认IP地址/域和端口存在。
理想情况下,有没有办法实际发送请求无处? 在一个完美的世界里,它会返回404,因为没有find我猜测这意味着特定的IP地址探测器会导致不存在。 也许这毕竟是某种意义上的答案? 但它不会是一个404,然后加载的网站404页面,这将是一个404像一个不存在的生成一个请求,或一个IP地址,不存在的端口组合探头。
当然,最好的情况是,当请求匹配模式时,它什么都不做,不响应,什么也不做,请求被吸收到黑洞中。 就好像你从一些实际根本不存在的东西中所要求的东西。 不是来自确实存在的域,而是不存在的页面,而是整个请求与任何域或页面或IP地址不匹配的地方。
在这个Apache mod重写的特定场景中find任何信息是非常困难的,至less我从来没有发现过这个问题,所以如果任何人都可以提供一个权威的答案,我已经构build了问题标题,可能导致search结束在本页。
同样,理想的结果是,在重写规则中满足匹配条件之后,探测器从未意识到它实际上在IP端口扫描上获得了活动站点,这意味着,不是403,而是301,而不是200响应,而不是来自网站的HTMLtypes的响应。
请注意,在这种情况下,我无法访问主数据中心防火墙或服务器防火墙,因此它必须是我可以使用Apache 2本身获得的最佳结果。
我已经在C写了一些小的Apache模块如何做到这一点在Apache网站上很好的描述
你可以用C来匹配你想要的任何东西,然后执行例程中的“then”部分,以使Apache API能够让你使用。 我没有检查它,但代码听起来像它会
– 如果模式匹配,则什么都不做。 这将有效地发送一个请求无处..
或者 – 如果模式匹配,那么不要回应…詹姆斯