以下是我的Apache 2.0 error_log
中的几行:
[Sun Nov 25 08:22:04 2012] [error] [client 64.34.195.190] File does not exist: /var/www/vhosts/default/htdocs/admin
[Sun Nov 25 14:14:32 2012] [error] [client 96.254.171.2] File does not exist: /var/www/vhosts/default/htdocs/azenv.php
[Wed Nov 28 03:02:01 2012] [error] [client 91.205.189.15] File does not exist: /var/www/vhosts/default/htdocs/user
[Wed Nov 28 03:44:35 2012] [error] [client 66.193.171.223] File does not exist: /var/www/vhosts/default/htdocs/vtigercrm
[Mon Dec 03 00:09:16 2012] [error] [client 82.223.239.68] File does not exist: /var/www/vhosts/default/htdocs/jmx-console
[Mon Dec 03 20:48:44 2012] [error] [client 221.2.209.46] File does not exist: /var/www/vhosts/default/htdocs/manager
[Thu Dec 06 07:37:04 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/w00tw00t.at.blackhats.romanian.anti-sec:)
[Thu Dec 06 07:37:05 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/phpMyAdmin
[Thu Dec 06 07:37:05 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/phpmyadmin
[Thu Dec 06 07:37:06 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/pma
[Thu Dec 06 07:37:06 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/myadmin
[Thu Dec 06 07:37:07 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/MyAdmin
[Thu Dec 13 02:19:53 2012] [error] [client 96.254.171.2] File does not exist: /var/www/vhosts/default/htdocs/judge.php
最常见的错误是对“phpMyAdmin”文件的请求,以及“w00tw00t.at.blackhats.romanian.anti-sec :)”。
我可以看到请求来自的IP地址。但谁是“客户”?
谢谢, 沙恩。
答案 0 :(得分:60)
这只是许多Script Kiddies部署的自动脚本,在您的apache版本/配置中寻找安全漏洞。签名w00tw00t通常由DFind
保留。
只需使用像fail2ban
这样的程序,例如本示例解释,以避免被这些请求淹没:
这并不一定意味着您已被黑客入侵,但已对服务器进行了漏洞扫描。但是,如果您使用在这些日志中看到的任何软件,并且它是具有已知漏洞的旧版本,则应检查服务器是否存在异常文件和登录活动。
答案 1 :(得分:6)
通常在没有服务器标头的情况下发送请求。只需为没有您期望的服务器头的请求创建默认虚拟主机并对其进行黑洞处理。记录损坏的流量并反向DNS以查看它是否来自另一个网络服务器(受损?)并根据whois数据库联系所有者也很有趣。您永远不知道谁从可公开识别的服务器运行愚蠢的脚本来扫描漏洞,然后通过ToR隧道利用它们。如果您不想引起注意,请使用刻录机联系信息。
答案 2 :(得分:6)
要跟进@ user823629给出的答案,这是我在Apache 2.4上使用的默认虚拟主机配置:
<VirtualHost *:80 *:443>
# Default vhost for requests not matching IP or Host of other vhosts
ServerName blackhole
ErrorLog logs/error_log_blackhole
CustomLog logs/access_log_blackhole combined
Redirect 404 /
</VirtualHost>
它将所有请求重定向到默认的404页面。
我把它放在conf.d
中,并给它命名为conf.d/0_default.conf
,以便它出现在其他vhosts定义之前,它是默认的虚拟主机。这可以通过以下方式验证:
apachectl -t -D DUMP_VHOSTS
其他虚拟主机将在此默认vhost之前匹配,如果1)其IP地址和端口更明确地与VirtualHost定义匹配(基于IP的虚拟主机),或者2)请求包含与{0}匹配的Host
标头请求(基于名称的虚拟主机)。否则,请求将回退到上面定义的默认黑洞虚拟主机。
有关虚拟主机匹配的更多详细信息,请参阅http://httpd.apache.org/docs/current/vhosts/details.html。
答案 3 :(得分:0)
除非您实际使用/var/www/vhosts/default/
来托管网站,否则这意味着您有来自默认主机的请求未被虚拟主机设置捕获。
暂时忽略这些是恶意请求,因为这些 vhosts / default / 错误的根本原因是你可能已经为虚拟主机禁用了SSL,&amp;这些是在默认服务器配置中捕获的HTTPS请求。
您可以将%v %V %p
添加到httpd.conf中的Apache访问日志记录参数,以查看有关这些请求的更多信息。 virtualhost / servername正在处理它们(%v %V
)&amp;在什么端口(%p
)上进行请求(如果是HTTPS的话,通常是端口443)。
要修复HTTPS方面,我要启用SSL&amp;然后输入RewriteRule将HTTP请求发送到HTTP(如果这是预期的行为)。 More info about how to do that here
除了帮助脚本小子,上面提到的黑洞是要走的路。只是确保你没有错误地发送合法的网络爬虫/蜘蛛请求HTTPS同样的银河死亡 - 例如Googlebot通过HTTPS测试合法网页,因为这是谷歌希望网络进入的方向。 / p>