尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Fail2Ban 用法总结

Fail2Ban 用法总结 吹灭读书灯一身都是月。导航1 工具介绍2 配置说明3 常用命令4 杂七杂八1、工具介绍Fail2Ban 是一个用于 Linux/Unix 系统的入侵防护服务它的主要用途就是防止SSH 暴力破解、Web 登录爆破等。它的工作原理就是“自动分析被保护应用的认证日志 → 若发现恶意行为 → 就借助 iptables 等防火墙功能临时制定封禁攻击源 IP 的规则”如此看来就像是一个基于日志驱动的防火墙应用。2、配置说明##### 配置结构图 #####/etc/fail2ban/ │ ├── fail2ban.conf# 主程序默认配置注主要就是关于启动 fail2ban 所需的参数保持默认即可。├── fail2ban.local# 主程序用户覆盖配置│ ├── jail.conf# 所有 jail 默认配置├── jail.local# jail 用户覆盖配置注一般都是一些防护的全局参数如尝试次数、阻断时间、违规动作等一般不会在这里开启服务的监狱配置│ ├── jail.d/# 拆分式 jail 配置目录注实际开启服务监狱的地方│ ├── sshd.conf │ └── nginx.conf │ ├── filter.d/# 日志匹配规则│ ├── sshd.conf │ ├── nginx-http-auth.conf │ └──... │ ├── action.d/# 封禁动作│ ├── iptables.conf │ ├── nftables.conf │ └──... │ └── paths-*.conf# 常见服务默认的日志路径注1Fail2Ban 的配置采用的是继承式的、局部优先于全局的用法如*.local文件的优先级总是高于*.conf文件的配置。例如在 conf 中设置A1,B2local 中设置B3,C4那么最终A1,B3,C4。2官方建议一般情况下*.conf文件中的内容保持默认就好不要进行改动非要改动的话就创建一个同名的*.local文件这是因为 fail2ban 在升级或重装的时候会覆盖掉*.conf的配置。3对于使用者来说fail2ban 主要的配置文件就是以 jail 开头的目录和文件其余配置文件保持默认即可。##### ssh 服务的监狱配置 ##### # /etc/fail2ban/jail.d/sshd.conf [sshd] enabled true #下面这些参数一般在 jail.conf 中已被配置。filter 和 logpath 一般会对应于 filter.d/* 和 paths-*.conf 中的变量值。 #port 22,23 #filter sshd #logpath /var/log/auth.log #下面这些参数一般是在 jail.local 的 [DEFAULT] 下配置但也可以在此处进行针对性的配置。 #maxretry 3 #bantime 60 #findtime 600 #banaction nftables-multiport #bantime.increment true #bantime.factor 2 #bantime.maxtime 2d #ignoreip 1.1.1.1/24 2.2.2.2 #以上配置作用说明1600 秒内认证失败3次拦截60秒拦截使用的是 nftables 防火墙。2再次被拦截拦截时间为60的平方继续则为60的平方再平方最大拦截时间是2天。3对访客添加白名单从此认证失败也不用被拦截。3、常用命令# 测试配置文件语法是否正确fail2ban-client-t# 导出当前生效的配置fail2ban-client-d# 重新加载 fail2ban 的配置fail2ban-client reload# 查看已拦截的主机列表fail2ban-client banned# 解除所有已拦截的主机fail2ban-client unban--all# 查看目前开启防护的服务列表以及所防护服务的详细情况fail2ban-client status fail2ban-client status sshd# 针对 sshd 服务手动添加/删除拦截主机fail2ban-clientsetsshd banip1.2.1.1 fail2ban-clientsetsshd unbanip1.2.1.1# 查看 fail2ban 支持防护的应用服务grep^\[.*\]$/etc/fail2ban/jail.conf4、杂七杂八1参考文档官方手册2图形化工具fail2ban-uiname:fail2ban-UIservices:fail2ban-ui:container_name:fail2ban-uinetwork_mode:hostvolumes:#若所保护服务的认证日志不在 /var/log 目录中则需要另外映射此卷的位置。-fail2ban-ui:/config-/etc/fail2ban:/etc/fail2ban-/var/run/fail2ban:/var/run/fail2ban-/var/log:/var/log:roimage:swissmakers/fail2ban-ui:latest3action 和 banaction 的区别banaction 是“如何封 IP”action 是“完整处理流程”action banaction 通知 whois 邮件 其它动作。4注意任何jail.*文件中[DEFAULT]下的enabled false都不能设置为enabled true状态否则 fail2ban 会启动异常原因未知。我的博客园
返回列表