Fail2Ban的核心是一个强大的入侵防御工具,可以作为服务器的警惕守护者。它会扫描日志文件以查找可疑活动,例如重复失败的登录尝试,并通过禁止违规 IP 地址立即采取措施。这种主动防御机制不仅可以阻止暴力攻击,还可以阻止恶意实体以您的服务器为目标。
在AlmaLinux 2上安装Fail9Ban。
第 1 步。在开始安装过程之前,请确保您的 AlmaLinux 9 系统是最新的。在终端中运行以下命令:
sudo dnf update
第 2 步。在AlmaLinux 2上安装Fail9Ban。
- 方法1:使用EPEL存储库。
首先,通过以 root 用户身份运行以下命令来启用 EPEL 存储库:
sudo dnf install epel-release
通过以 root 身份运行以下命令来安装 Fail2Ban:
sudo dnf install fail2ban
启动 Fail2Ban 服务,并通过以 root 用户身份运行以下命令使其能够在引导时自动启动:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
通过检查其状态来验证 Fail2Ban 是否正在运行:
sudo systemctl status fail2ban
如果 Fail2Ban 正在运行,您应该看到类似于以下内容的输出:
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2023-08-21 10:00:00 EDT; 1h ago
Process: 1234 ExecStart=/usr/bin/fail2ban-server -xf start (code=exited, status=0/SUCCESS)
Main PID: 1235 (fail2ban-server)
Tasks: 1 (limit: 4915)
Memory: 10.0M
CPU: 1.234s
CGroup: /system.slice/fail2ban.service
└─1235 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
- 方法 2:从源代码编译
如果您希望从源代码编译 Fail2Ban,您可以按照以下步骤操作:
通过以 root 身份运行以下命令来安装所需的依赖项:
sudo dnf install gcc python3-devel
接下来,从官网下载 Fail2Ban 源代码:
wget https://github.com/fail2ban/fail2ban/archive/0.11.2.tar.gz
提取源代码:
tar xzf 0.11.2.tar.gz
更改为解压缩的目录:
cd fail2ban-0.11.2
以 root 用户身份运行以下命令以编译并安装 Fail2Ban:
python3 setup.py build
python3 setup.py install
启动 Fail2Ban 服务,并通过以 root 用户身份运行以下命令使其能够在引导时自动启动:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
通过检查其状态来验证 Fail2Ban 是否正在运行:
sudo systemctl status fail2ban
如果 Fail2Ban 正在运行,您应该看到类似于以下内容的输出:
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2023-08-21 10:00:00 EDT; 1h ago
Process: 1234 ExecStart=/usr/bin/fail2ban-server -xf start (code=exited, status=0/SUCCESS)
Main PID: 1235 (fail2ban-server)
Tasks: 1 (limit: 4915)
Memory: 10.0M
CPU: 1.234s
CGroup: /system.slice/fail2ban.service
└─1235 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
第 3 步。配置 Fail2Ban。
Fail2Ban的效力在于其量身定制的配置,允许您自定义其行为以匹配服务器的独特要求。
- 找到配置文件:
找到 Fail2Ban 配置文件以开始自定义:
sudo nano /etc/fail2ban/jail.local
- 了解配置参数:
- 设置封禁时间和查找时间:
指定封禁时间(IP 封禁的持续时间)和查找时间(监视重复失败尝试的时间范围)。
banTime = 3600
findtime = 600
- 指定最大重试次数:
定义实施禁令之前的最大重试次数:
maxRetry = 5
- 定义禁令行动:
确定 Fail2Ban 在检测到值得禁止的事件(例如,发送电子邮件通知)时采取的操作:
action = iptables[name=SSH, port=ssh, protocol=tcp]
- 为特定服务自定义监狱:
为服务器上的关键服务定制 Fail2Ban 的保护:
- SSH访问:
[sshd]
enabled = true
- Apache Web Server:
[apache]
enabled = true
- 电子邮件服务(后缀,发送邮件):
[postfix]
enabled = true
[sendmail]
enabled = true
- 启用和禁用监狱:
根据服务器的服务微调您的监狱选择。要启用或禁用 jail,请相应地修改参数。enabled
感谢您使用本教程在您的 AlmaLinux 2 系统上安装 Fail9Ban。有关其他帮助或有用信息,我们建议您查看官方 Fail2Ban 网站。