安装方法
Fail2Ban 在大多数 Linux 发行版中作为默认软件包提供。您可以使用以下命令轻松安装。
Debian/Ubuntu
sudo apt-get update
sudo apt-get install fail2ban
CentOS/RHEL
sudo yum install epel-release
sudo yum install fail2ban
安装后启动和启用 Fail2Ban 服务
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
安装后启动服务并设置为在启动时自动运行。
主要配置文件
Fail2Ban 的核心配置在 `jail.conf` 和 `jail.local` 文件中进行。最佳做法是不要修改原始文件 `jail.conf`,而是创建 `jail.local` 文件以覆盖设置。
⚙️ 主要配置文件位置
/etc/fail2ban/jail.conf
📝 用户自定义配置文件(推荐)
/etc/fail2ban/jail.local
要更改 `jail.conf` 的配置,只需创建此文件并添加所需的设置即可。此方法可以防止在更新时覆盖原始文件。
jail.local 文件的主要设置示例
以下是经常添加到 `jail.local` 文件中的设置选项。通过这些设置,您可以详细控制 Fail2Ban 的操作方式。
- [sshd]: 开始为 sshd 服务配置.
- enabled = true: 启用该 jail(监狱).
- port = ssh: 指定要保护的 ssh 端口(默认 22).
- maxretry = 5: 如果在指定时间(findtime)内失败登录次数超过 5 次,则阻止.
- bantime = 10m: 设置阻止时间(10 分钟).
- findtime = 10m: 设置计算失败登录次数的时间(10 分钟).
主要命令
用于检查 Fail2Ban 服务状态或手动阻止/解除阻止 IP 的主要命令。
检查 Fail2Ban 服务状态
sudo systemctl status fail2ban
确认 Fail2Ban 服务是否正常运行。
检查 Fail2Ban 日志
sudo journalctl -u fail2ban
查看 Fail2Ban 阻止的 IP 列表等详细操作日志。
手动阻止特定 IP
sudo fail2ban-client set sshd banip 1.2.3.4
手动阻止指定的 IP 地址在 `sshd` jail 中。
手动解除阻止特定 IP
sudo fail2ban-client set sshd unbanip 1.2.3.4
手动解除之前在 `sshd` jail 中阻止的 IP 地址。
查看当前被阻止的 IP 列表
sudo fail2ban-client status sshd
查看当前在 `sshd` jail 中被阻止的 IP 地址列表。