因此,我最近配置了一个使用 WebSockets 的应用程序,并且我使用 Apache proxy pass 通过 domain.com/application 传递该应用程序
问题是该应用程序非常裸露。它确实带有一个登录屏幕,但我更进一步,通过位于 proxypass 配置中的 Apache 实现了 htpasswd 登录。
(我觉得我在打字时正在回答我的问题,但我会重新措辞/重新提问)
<Location /application>
AllowOverride AuthConfig
AuthUserFile /home/[USERNAME]/.htpasswd
AuthName "Authorization Required"
AuthType Basic
require user [USERNAME]
ProxyPass wss://192.168.1.50:443/application
ProxyPassReverse wss://192.168.1.50:443/application
</Location>
我可以配置 Fail2Ban 以从 ProxyPass 服务器监控实际应用程序登录屏幕 [应用程序无法安装 Fail2Ban]
--解决方法? 通过实现 htpasswd 授权页面@,代理服务器将根据通过初始 Apache 身份验证提示登录失败的尝试来阻止fail2ban?
答案1
您绝对确定在纯配置中,由于多种原因, proxypass failure2ban 不会在这里工作。
fail2ban 实际上可以查看日志,并阻止失败的身份验证尝试;您没有进行身份验证的人,因为身份验证日志位于后端。
fail2ban 作为已知协议的一系列定义;在某些特定情况下,情况可能并非如此,当发生这种情况时,您将必须开发插件。
fail2ban 需要在进行身份验证的同一台计算机上运行。
首先也是最重要的,当您选择工具时,我建议您稍微调查一下它们是否适用于您的特定情况。比使用这些工具更重要的是了解它们是否适用于您的情况。
正如此链接所示,确实可以使用fail2ban来阻止滥用的网络基本身份验证。我只是认为你的 proxypass 优先并且身份验证从未完成。您可能需要一个登录页面进行身份验证,并且不在该虚拟主机的根目录下执行 proxypass。
我通常使用 mod_evasive 至少作为 Apache 中的附加安全层来控制 DoS/滥用请求。看看我在该线程上的回复(这不是标记为正确的回复)编辑我的 /etc/hosts.deny不要忘记,在 Apache 中,您可以对请求进行速率限制,这对于防止人们滥用您的服务确实有很大帮助,而不仅仅是在询问密码时。
请考虑使用验证码作为第 7 层措施来限制答案的速率。僵尸网络协调网络将使用多个不同的 IP 来绕过您的措施,从而使您的fail2ban 规则失效。
看看这个:
“Google reCAPTCHA - 保护您的网站免受垃圾邮件和滥用,同时让真人轻松通过”