我正在看我的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列表。
在你的httpd.conf你需要确保你拥有:
<Directory /srv/www/dogself.com/public_html/the-real-phpmyadmin-folder> ... </Directory>
您添加以下内容:
Order deny,allow Deny from all Allow from <your ip>
现在没有人可以访问phpmyadmin,除非他们来自你的IP。 你可以做的另一件事是在这里讨论。
如果必须的话,可以使用'fail2ban'dynamicconfiguration你的防火墙,和/或mod_security,和/或这些urls的自定义处理程序来重新configuration你的防火墙。
但是,你所有可能实现的是阻止请求,无论如何,这将会返回一个404响应。
首先确保你的apache web服务器上没有易受攻击的软件,比如老版本的phpmyadmin(为什么外部世界需要访问phpmyadmin)。
之后,你可以尝试例如fail2ban。 小心你的过滤规则,导致大量的404错误本身不是一个攻击。 而试图阻止这样的事情可能会适得其反。
其他选项是mod_security或http筛选防火墙。