我正在查看我的 Apache 日志并看到了以下内容:
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/db
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/sqlmanager
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/mysqlmanager
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/php-myadmin
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/phpmy-admin
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/webadmin
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/sqlweb
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/websql
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/webdb
[Wed Feb 02 00:56:54 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/mysqladmin
[Wed Feb 02 00:56:55 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/mysql-admin
[Wed Feb 02 00:56:55 2011] [error] [client 93.190.64.23] File does not exist: /srv/www/dogself.com/public_html/admin
有没有一种不太复杂的补救措施可以解决这个问题?例如,我不介意将所有请求 /phpmy-admin 的 IP 列入黑名单。
答案1
您httpd.conf
需要确保:
<Directory /srv/www/dogself.com/public_html/the-real-phpmyadmin-folder>
...
</Directory>
添加以下内容:
Order deny,allow
Deny from all
Allow from <your ip>
现在,除非来自您的 IP,否则任何人都无法访问 phpmyadmin。您可以做的另一件事是讨论这里。
答案2
如果必须,请使用“fail2ban”来动态配置您的防火墙,和/或mod_security,和/或为这些url配置自定义处理程序来重新配置您的防火墙。
但您可能实现的只是阻止那些返回 404 响应的请求。
答案3
首先确保您的 apache 网络服务器上没有易受攻击的软件,例如旧版本的 phpmyadmin(外界为什么需要访问 phpmyadmin)。
之后,您可以尝试使用 fail2ban。请谨慎使用过滤规则,导致大量 404 错误本身并不是一种攻击。尝试阻止此类事情可能会适得其反。
其他选项是 mod_security 或 http 筛选防火墙。