查看我的服务器错误日志,我看到很多来自中国、泰国的 IP 地址的尝试,以及试图访问不存在的名为“manager”、“phpmyadmin”、“admin”的目录,以及 cgi-bin 中的任何内容,以及类似。有几个奇怪的重复请求称为“w00tw00t.at.blackhats.romanian.anti-sec:”和“HNAP1”。
我正在考虑如何编写 .htaccess 规则以将请求重定向回请求的 IP 地址,但想知道是否还有其他讨厌的技巧会挫败这些垃圾袋,因为总是尝试相同的 4 或 5 个不存在的目录.
更新:按照下面“Michael - sqlbot”的建议,我尝试在我的服务器上将 mod_security 设置为 tarpit。我安装得很好,并配置了它,但即使我可以验证它正在编译我的配置脚本(通过引入语法错误并重新启动 httpd 来验证),它似乎忽略了不受欢迎的访问尝试。
这是我在 /etc/httpd/modsecurity.d/activated_rules/tarpit.conf 中的内容
<IfModule mod_security2.c>
SecRuleEngine On
SecDefaultAction log,allow,status:406,phase:2
SecRule REQUEST_URI phpmyadmin t:lowercase,id:14142,pause:5000,log,noauditlog,status:402,deny
SecDebugLog /var/log/httpd/modsec_debug.log
SecDebugLogLevel 0
</IfModule>
modsec_debug.log 文件最初创建但始终为空。请求 mydomain.com/phpmyadmin 只会返回通常的 403 错误,就好像 mod_security 不存在一样。(我不确定为什么会收到 403 错误,可能是由于我必须使用旧的符号链接到 phpmyadmin 目录,该目录已经很久没有存在了)。