用途:在面向互联网的服务器上自动封禁发起端口扫描、SSH 暴力破解或其他侦察行为的 IP,作为主机层的自动化响应措施。
主要能力:基于 Fail2ban 解析 syslog、auth.log、kern.log、access.log 等日志;可通过 iptables/nftables 在封禁时添加防火墙规则;支持自定义 filter 匹配组织特有的攻击特征;提供 recidive 元 jail 对重复违规者升级封禁时长;可配置 webhook、邮件等通知动作;也可在流量到达 IDS/IPS 前降低自动化扫描噪声。
必要用法:需安装 Fail2ban 0.11+(fail2ban-client --version),具备 root/sudo 权限操作 iptables/nftables,且服务将连接尝试写入可解析日志。配置时不要直接编辑 jail.conf,而是复制为 jail.local 后修改;创建自定义 filter 后可用 fail2ban-regex 测试正则是否匹配真实日志,再重启服务并用 fail2ban-client status 查看各 jail 状态。封禁动作通常使用 iptables-multiport 或 iptables-allports。
限制:资料明确提示不应将其作为唯一网络安全控制,不适合防御来自大量不同源 IP 的分布式攻击,也不能替代正确的防火墙规则和网络分段。未提供具体版本的完整兼容性、性能开销或与特定发行版的差异说明;涉及的命令均需以实际环境和授权测试为准。