安全

什么是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集成以添加和删除规则。在依赖它之前,你应该先测试集成,因为不同发行版的默认配置可能不同。

更多来自安全

LUKS
LUKS是标准的Linux全盘加密格式,将密钥材料存储在加密卷本身的头部中。
DDoS
DDoS攻击通过来自多个来源的大量流量或昂贵请求来淹没目标,以耗尽带宽、连接状态或处理能力。
流量清洗
清洗是将流量通过过滤基础设施进行路由,该基础设施会丢弃攻击数据包并转发合法数据包。
空路由
空路由会丢弃发往某个IP地址的所有流量,通过使目标完全不可达来保护更广泛的网络。