fail2ban 是一款非常流行的入侵防御软件,用于保护服务器免受暴力破解等自动化攻击。以下是整理的 fail2ban 常用命令,分为几个类别以便于理解。
一、服务管理命令(启动、停止、重启)
这些命令用于控制 fail2ban 服务的状态。
命令 | 说明 |
---|---|
sudo systemctl start fail2ban |
启动 fail2ban 服务 |
sudo systemctl stop fail2ban |
停止 fail2ban 服务 |
sudo systemctl restart fail2ban |
重启 fail2ban 服务(常用) |
sudo systemctl reload fail2ban |
重新加载配置(不中断服务) |
sudo systemctl enable fail2ban |
设置 fail2ban 开机自启 |
sudo systemctl disable fail2ban |
取消 fail2ban 开机自启 |
sudo systemctl status fail2ban |
查看 fail2ban 服务状态 |
注意:在某些老版本的 Linux 系统(如 CentOS 6)上,可能需要使用 service
命令,例如 sudo service fail2ban start
。
二、监控与状态查看命令
这些命令用于查看 fail2ban 的运行状态、当前被禁止的 IP 以及各个监狱(Jail)的监控情况。
命令 | 说明 |
---|---|
sudo fail2ban-client status |
查看所有已激活的监狱(Jail)列表 |
sudo fail2ban-client status <jail名称> |
查看特定监狱的详细状态(包括当前被禁IP列表),例如:sudo fail2ban-client status sshd |
sudo fail2ban-client get <jail名称> banip |
查看某个jail当前封禁的所有IP,例如:sudo fail2ban-client get sshd banip |
sudo fail2ban-client ping |
测试 fail2ban 服务是否正常运行,正常会回复 pong |
sudo tail -f /var/log/fail2ban.log |
实时查看 fail2ban 的日志,用于调试和监控 |
三、交互式管理命令(封禁与解封)
这些是 fail2ban 最核心的管理命令,用于手动管理 IP 地址。
命令 | 说明 |
---|---|
sudo fail2ban-client set <jail名称> banip <IP地址> |
手动封禁一个 IP 地址到指定监狱 |
sudo fail2ban-client set <jail名称> unbanip <IP地址> |
手动解封一个 IP 地址(最常用) |
sudo fail2ban-client set <jail名称> unbanip --all |
解封指定监狱下的所有 IP 地址 |
sudo fail2ban-client unban --all |
解封所有监狱中的所有 IP 地址(慎用!) |
示例:
解封在 sshd 监狱中的 IP 192.168.1.100:
sudo fail2ban-client set sshd unbanip 192.168.1.100
四、配置相关
命令 | 说明 |
---|---|
sudo fail2ban-client reload |
重新加载 fail2ban 的配置文件(在修改配置后执行) |
sudo fail2ban-server --test |
测试 fail2ban 的配置文件语法是否正确 |
常用场景与命令组合
-
解封一个误封的 IP
-
sudo fail2ban-client status sshd
(先确认 IP 是否在sshd
监狱中) -
sudo fail2ban-client set sshd unbanip 1.2.3.4
-
-
检查 fail2ban 是否在工作
-
sudo systemctl status fail2ban
(检查服务状态) -
sudo fail2ban-client ping
(确认服务可响应) -
sudo fail2ban-client status
(查看有哪些监狱在运行)
-
-
修改配置后
-
修改
/etc/fail2ban/jail.local
或jail.d/
下的文件后,执行:
sudo systemctl reload fail2ban
或sudo fail2ban-client reload
-
重要文件与目录
了解这些文件有助于您进行高级配置和问题排查。
路径 | 说明 |
---|---|
/etc/fail2ban/ |
主配置目录 |
/etc/fail2ban/jail.conf |
全局监狱配置文件(不要直接修改此文件) |
/etc/fail2ban/jail.local |
自定义监狱配置文件(应在此文件中修改配置) |
/etc/fail2ban/jail.d/ |
其他监狱配置片段目录 |
/etc/fail2ban/action.d/ |
动作配置目录(如 iptables, mail 等) |
/etc/fail2ban/filter.d/ |
过滤器规则目录(定义如何匹配攻击日志) |
/var/log/fail2ban.log |
fail2ban 的日志文件 |
希望这个总结能帮助您更好地使用和管理 fail2ban!