更新:正如 Craig 所建议的,我现在正在尝试 fail2ban。尽管我也遇到了问题。
但是 failregex 没有找到任何结果。我已在 jail.local 中启用所有 apache*,以下是我的 apache 记录错误的方式:
[Fri Jul 25 11:31:20.758218 2014] [auth_basic:error] [pid 4959] [client 8.8.8.8:12767] AH01617: user GOLD: authentication failure for "/Folder": Password Mismatch
[Fri Jul 25 11:31:22.941978 2014] [auth_basic:error] [pid 4959] [client 8.8.8.8:12767] AH01618: user asd not found: /Folder
以下是 failegex apache-auth.conf 的配置方式:
failregex = ^%(_apache_error_client)s user .* (authentication failure|not found|password mismatch)\s*$
我也尝试添加此代码但仍然不起作用
failregex = [[]client <HOST>[]] (Digest: )?user .* (authentication failure|not found|password mismatch)
http://example.com/FOLDER/通过 htaccess 和 htpasswd 进行密码保护。但我认为它可能被暴力破解,因为没有失败尝试限制。有什么技巧可以确保安全吗?Mod 安全对我的情况没有帮助,因为没有登录页面或重定向页面(我不知道在这种情况下如何使用 mod 安全通过从日志中提取错误消息)。还有其他建议可以阻止 IP 失败 n 次吗?
谢谢!
答案1
如果你可以控制服务器的操作系统,则可以使用失败2ban通过 iptables 在一定次数尝试后阻止暴力破解尝试。您还可以选择在 IP 被阻止时启用通知。
查看这个 ServerFault 问题欲了解更多信息,Fail2ban 网站目前似乎已关闭。