什么可以使用“ – ”的HTTP请求方法

有一个看起来像这样的apache日志条目,其实我有一堆随着时间的推移传播。

XXX.XXX.XXX.XXX - - [27/Apr/2012:14:39:52 -0500] "-" 408 - "-" "-" 

这不是一个GET或POST,方法是“ – ”。

任何人看到这样的要求? 这不是来自渗透testing仪,但是从2012年4月起,直到包括今天在内,我都从其他IP获得。

我们与408失败了,只是想知道什么人可能试图和减号search不起作用。

408是请求超时。 这意味着连接的客户端,但实际上并没有发送任何数据一段时间,服务器放弃,并与此错误的连接。 这也是为什么没有其他logging; 没有数据实际上是从客户端发送的。

在这种情况下, Apache的默认超时时间是300秒(5分钟)。 它是可configuration的,但通常不需要改变。

这意味着Apache不知道请求方法是什么。 在这种情况下,它是由超时引起的(即客户端从未发送请求)。 在客户端发送无效请求(例如试图将TLS发送给非TLS端口,反之亦然)的情况下,400个“错误请求”响应也很常见,或者一旦build立了TCP连接就closuresTCP连接,而不发送任何内容(例如监视执行TCP连接检查的服务)。

可能是由slowloris或类似的攻击造成的。 这个想法是尽可能多地打开尽可能多的连接。 Timeout 在Apache中默认为300秒。

如果您使用preforking服务器,则很容易到达MaxClients并使网站无法访问。 如果Apache的configuration错误,大量的分叉处理可能导致过度交换并杀死机器,或者放慢抓取速度。

mpm_event或configuration好的mpm_worker对于slowloris mpm_worker应该更难。 其他缓解措施正在将“ Timeout降低到较低的值。 我想这取决于你的客户。 你可能不想用时间太短的超时时间来终止用户。 另一方面5分钟可能太多了。