Kzq*_*qai 4 logging apache-2.2
在我的日志观察记录中,这些情况一直在稳步增长:
408 Request Timeout
null: 694 Time(s)
Run Code Online (Sandbox Code Playgroud)
在我的网络服务器上。
以下是/var/log/apache2/access.log访问日志中的一些贡献请求:
ip - - date requestsfor"-"? httpcode bytes referrer useragent
75.149.117.146 - - [28/Jan/2013:17:49:47 -0500] "-" 408 0 "-" "-"
65.55.215.247 - - [28/Jan/2013:17:57:40 -0500] "-" 408 0 "-" "-"
205.157.206.75 - - [28/Jan/2013:18:00:21 -0500] "-" 408 0 "-" "-"
Run Code Online (Sandbox Code Playgroud)
正常访问请求示例当然有更多相关信息,如下所示:
ip - - date request-for httpcode bytes referrer useragent
66.251.23.171 - - [28/Jan/2013:17:45:41 -0500] "GET /images/al/al-mb0608tn.jpg HTTP/1.1" 200 4085 "http://example.com/brands.php?F=S&BrandCode=AL" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
Run Code Online (Sandbox Code Playgroud)
在这里查看我的访问日志的更大样本(有一些正常的 get 请求,其余的 408)
我对 ips 进行了反向 IP 查找,它们似乎来自美国和加拿大的不同地点。我想这可能只是意味着涉及代理吗?有一个很大的街区:
96.42.74.117 - - [18/Feb/2013:02:55:58 -0500] "-" 408 0 "-" "-"
Run Code Online (Sandbox Code Playgroud)
这经常重复。
我犹豫不决地得出结论,这是一次攻击而不是故障,但记录的探测数量几乎在同一时间一直在稳步增加,例如logwatch也说
A total of 125 sites probed the server
107.22.9.89
108.132.76.100
108.172.60.59
108.226.133.142
12.166.56.82
12.54.94.24
Run Code Online (Sandbox Code Playgroud)
.... 不断地列出对服务器使用检测到的探针的各种 ip。列出为“探测”服务器的 ips 和使用空值访问访问日志的 ips 有一些重叠,因此这可能表明存在攻击,但由于服务器必须为请求提供服务,因此很难判断是否合法来自 DOS 请求超时攻击的超时,如果这就是这里发生的事情。
如何调试这个问题,或者如果是攻击,处理这个攻击?
根据我所做的一些研究,这些是导致408消息的一些可能性。您可以测试每一个以确定与您的案例相关的一个。
1) ApacheTIMEOUT值非常低- 您的 Web 服务器可能在客户端甚至有机会发送请求之前就结束了会话。
2) browser predictive optimization- 您可以使用不同的浏览器轻松测试。只需这样做tail -f /var/log/apache2/access.log,同时使用可以在第一个搜索页面上显示您的网站的相关关键字,将鼠标悬停在指向您网站的链接上,检查网站预览是否出现.....所有这些都无需单击打开您网站的链接.
http://forum.linode.com/viewtopic.php?f=10&t=8048
3) denial of service attack- ddos 预热,例如slow loris可以打开与服务器的太多连接,而不会发送一个字节码来占用所有 Apache 进程。
http://blog.spiderlabs.com/2011/07/advanced-topic-of-the-week-mitigating-slow-http-dos-attacks.html
来自上面链接的引用 -
“诀窍是打开与服务器的连接,但不发送单个字节。打开连接并等待攻击者几乎不需要任何资源,但它永久地占用了一个 Apache 进程以耐心等待请求。Apache 将一直等到超时到期,然后关闭连接。从 Apache 1.3.31 开始,请求行超时被记录到访问日志中(状态码为 408)。请求行超时消息出现在错误日志中,并带有级别信息。Apache 2不会将此类消息记录到错误日志中,但正在努力添加与 1.x 分支中存在的功能相同的功能。”
| 归档时间: |
|
| 查看次数: |
9233 次 |
| 最近记录: |