Apache 2.4 异常日志

Apache 2.4 异常日志

几天以来,我遭受了几次黑客攻击,但实际上一切似乎都很好。

但我看到了一些我无法解释的日志:

127.0.0.1:443 216.218.206.66 - - [09/Oct/2015:04:49:29 +0200] "GET / HTTP/1.1" 404 4857 "-" "-"
127.0.0.1:80 220.181.108.177 - - [09/Oct/2015:07:56:11 +0200] "-" 408 0 "-" "-"
127.0.0.1:443 199.115.117.88 - - [09/Oct/2015:10:35:04 +0200] "GET /admin/i18n/readme.txt HTTP/1.1" 404 5081 "-" "python-requests/2.8.0"

这是我的日志配置:

# - Exeption
SetEnvIf Request_URI "\.jpg$|\.jpeg$|\.gif$|\.png$|\.ico|\.icon|\.css$|\.js$|piwik\.php$|frogglogin\.php" dontlog
SetEnvIf User-agent "(bot|baidu)" dontlog

CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined env=!dontlog
  • 这些请求怎样才能到达 127.0.0.1?
  • 我该怎么做才能避免 408 错误?
  • 看到此类攻击来袭,我应该惊慌吗?

谢谢

附言:

这是一个好主意吗 ?

<VirtualHost 127.0.0.1>
# [ Default restriction ]
<Directory />
    Order deny,allow
    Deny from all
    allow from 127.0.0.1
</Directory>
</VirtualHost>

答案1

公共 IP 地址不可能直接到达您的环回地址。这是 NAT 的问题,apache 可能会将这些 IP 地址转换为环回地址,因为要么是您告诉 apache 这样做,要么是配置错误。

对于这样的事情没有必要惊慌,受到僵尸网络和/或旨在尝试登录页面等的自动化应用程序的攻击是正常的。

当这些尝试正在进行时,我宁愿检查:

  netstat -an (or adding additional parameters)

检查连接。

答案2

这就是我解决这个问题的方法:

我在所有定义的虚拟主机之后添加了此配置,以捕获“其他”请求(与任何其他虚拟主机不匹配的请求)。最重要的是虚拟位置(最后一个)和命令ServerAlias *

#---------------#
# [ LOCALHOST ] #
#---------------#
# Local host for other:
# ServerName localhost
# ServerName 88.xxx.xxx.xxx
# ServerName xxxxxxxx.net
# and more ...
# need to be at the last position
<VirtualHost *:80 *:443>
# [ Server Domain ]
ServerName localhost
ServerAlias *
# [ Server Root ]
DocumentRoot /var/www/home/
# [ Cancel trafic ]
RewriteCond %{REQUEST_URI} !errors\/hack\.htm
RewriteRule .*? - [END,R=406]
# [ Custom Log ]
CustomLog ${APACHE_LOG_DIR}/hack.log combined
</VirtualHost>

相关内容