我看到很多请求,用户试图请求我的Web服务器上的PhPMyAdmin目录,我想结束它。 他们尝试了几个不同的目录,比如PhpMyAdmin-2.10或者PhpMyAdmin或者PhpMyAdmin-2.09
Apache重写规则是否是将它们redirect到禁止其IP再次访问IP的黑洞的最佳方式?
要么
我可以简单地创build这些目录,并把JavaScriptredirect到黑洞。
感谢一个好的解决scheme的想法。
编辑:这是我在.htaccess中做什么
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/phpmyadmin [NC,OR] RewriteCond %{REQUEST_URI} ^/admin [NC,OR] RewriteCond %{REQUEST_URI} ^/dbadmin [NC,OR] RewriteCond %{REQUEST_URI} ^/mail [NC,OR] RewriteCond %{REQUEST_URI} ^/myadmin [NC,OR] RewriteCond %{REQUEST_URI} ^/mysql [NC,OR] RewriteCond %{REQUEST_URI} ^/php\-my\-admin [NC,OR] RewriteCond %{REQUEST_URI} ^/pma [NC,OR] RewriteCond %{REQUEST_URI} ^/webmail [NC] RewriteRule .* http://%{REMOTE_ADDR}%{REQUEST_URI} [R=301]
你可能会浪费他们的时间 – 可能会做更多的事情来阻止他们扫描整个互联网,而不是禁止他们的IP:
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} ^/phpmyadmin [NC] RewriteRule .* http://%{REMOTE_ADDR}%{REQUEST_URI} [R=301]
更新:要添加目录或文件,你可以添加额外的条件(小心不要阻止search蜘蛛等)…
更新x2:添加了L ast和Q uery S tring A ppend标志,为额外的规则评论了理想的位置。
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} ^/phpmyadmin [NC,OR] RewriteCond %{REQUEST_URI} ^/admin [NC,OR] RewriteCond %{REQUEST_URI} ^/dbadmin [NC,OR] RewriteCond %{REQUEST_URI} ^/mail [NC,OR] RewriteCond %{REQUEST_URI} ^/myadmin [NC,OR] RewriteCond %{REQUEST_URI} ^/mysql [NC,OR] RewriteCond %{REQUEST_URI} ^/php\-my\-admin [NC,OR] RewriteCond %{REQUEST_URI} ^/pma [NC,OR] RewriteCond %{REQUEST_URI} ^/webmail [NC] RewriteRule .* http://%{REMOTE_ADDR}%{REQUEST_URI} [L,R=301,QSA] # # any other rewrite conditions and rules here #
ModSecurity或fail2ban是我的研究带领我的。
还有一个问题: 如何阻止PHPMyAdmin攻击?