安全
什么是fail2ban?
fail2ban monitors log files for repeated authentication failures and temporarily firewalls the offending addresses. It reduces log noise and slows brute-force attempts, and it is genuinely useful in front of services that must accept passwords. It is not a substitute for disabling password authentication on SSH, which removes the attack class entirely rather than throttling it — a key-based login cannot be brute-forced at all.
为什么fail2ban很重要
它可以减少日志噪音并减缓暴力破解尝试,并且在必须接受密码的服务前确实很有用。但它不能替代在SSH上禁用密码认证,后者完全消除了此类攻击类别,而不是仅仅限制其速度——基于密钥的登录根本无法被暴力破解。请仔细调整设置:激进的findtime和maxretry最终可能把你自己的服务器封禁,这也是人们发现其提供商没有带外控制台的较常见原因之一。sshguard和CrowdSec等现代等效工具以相同方式工作,而nftables可以在没有任何守护进程的情况下表达简单的速率限制。
fail2ban的实际应用
运行fail2ban意味着读取/var/log/fail2ban.log并观察哪些监狱被触发。根据实际流量调整findtime、maxretry和bantime;默认值假设的用户耐心程度比你的用户要高。配置错误会在迁移过程中将你封禁,然后你发现你的提供商没有带外控制台。这就是配置错误的代价:你被锁在外面,除了重启别无恢复办法。
人们对fail2ban常见的误解
人们将fail2ban视为解决SSH暴力破解的方案。事实并非如此;它只是限速。正确的做法是完全禁用密码认证,使用密钥。这样fail2ban就恢复了它本来的作用——减少噪音——而不是充当虚假的防护。
fail2ban —— 常见问题
fail2ban和防火墙有什么区别?
防火墙是静态规则集,通常不变。fail2ban在检测到重复认证失败时会动态添加临时阻止规则。防火墙仍然有帮助,但并不能替代fail2ban。
fail2ban是否兼容UFW?
是的,在Ubuntu上。fail2ban可以与UFW集成以添加和删除规则。在依赖它之前,你应该先测试集成,因为不同发行版的默认配置可能不同。
fail2ban在哪些地方出现
- 如何保护新 VPS 的安全? 五个步骤可应对绝大多数真实世界中的入侵:基于密钥的 SSH 并禁用密码认证、禁止直接 root 登录、默认拒绝的防火墙、无人值守安全更新,以及 fail2ban 或等效工具。这些加在一起大约只需十分钟,就能消除几乎所有自动化攻击。…
- 如何阻止 SSH 暴力破解攻击? 完全禁用密码认证——对基于密钥的 SSH 进行暴力破解是不可能的。添加 fail2ban 以减少日志噪音,并考虑将 SSH 移出 22 端口,这样能将扫描流量减少约 95%。最强的选择是将 SSH 放在 WireGuard 之后,使其永远不会暴露在公共互联网上。…
- 10 分钟搞定新 VPS 安全 五项调整几乎能杜绝所有针对新服务器的自动化攻击:使用密钥认证的 SSH 并禁用密码、禁止直接 root 登录、默认拒绝的防火墙(同时覆盖 IPv4 和 IPv6)、自动安全更新,以及 fail2ban。这些加在一起大约需要十分钟,远比任何提供商的特性都更重要。…