Fail2ban 是一种用于提高服务器安全性免受网络攻击的工具。 它允许您根据定义的设置临时或永久阻止远程 IP 地址。 它可以帮助您保护您的服务器和数据免受攻击者的侵害。
本教程向您描述了在 Debian 10 Buster Linux 系统上安装 Fail2ban 的步骤。 还为您提供使用 fail2ban 保护 SSL 的初始配置。
先决条件
您必须有一个可以访问控制台的正在运行的 Debian 10 系统。 登录到您的系统 sudo 特权帐户。
第 1 步 – 安装 Fail2ban
Fail2ban Debian 软件包在默认 apt 存储库下可用。 您只需要更新 Apt 缓存并在您的系统上安装 fail2ban debian 包。
打开终端并输入:
sudo apt update
sudo apt install fail2ban -y
安装成功后,确保服务已启动。
sudo systemctl status fail2ban
确保 fail2ban 服务已启动并正在运行。
步骤 2 – 配置 Fail2ban
Fail2ban 将配置文件保存在 /etc/fail2ban 目录。 jail.conf 文件包含可用于创建新配置的基本配置。 Fail2ban 使用单独的 jail.local
文件作为配置以避免在软件包更新期间更新 jail.conf。
所以创建一个名称为配置文件的副本 jail.local
:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
下一个编辑 jail.local
文本编辑器中的配置文件。
sudo vim /etc/fail2ban/jail.local
更新下的初始设置 [DEFAULT]
部分。
- 忽略ip—— 被 Fail2ban 禁止的 IP 地址列表。
贝壳
[DEFAULT]忽略 IP = 127.0.0.1/8 192.168.1.0/24123[DEFAULT] 忽略ip = 127.0.0.1/8 192.168.1.0/24
- 班时间—— 是主机被禁止的秒数。
贝壳
禁止时间 = 60m1班时间 = 60米 - 查找时间 – 如果主机在最后的“findtime”秒内生成了“maxretry”,则该主机被禁止。
贝壳
查找时间 = 5m1找时间 = 5米 - 最大重试 – 是主机被禁止之前的失败次数。
贝壳
最大重试 = 51最大重试次数 = 5
第 3 步 – 管理 Fail2ban 服务
完成所有更改后,保存文件并使用以下命令重新启动 Fail2ban 服务。
sudo systemctl restart fail2ban.service
sudo systemctl enable fail2ban.service
出于测试目的,我尝试使用来自另一台机器的错误凭据进行 SSH。 在三次错误尝试后,Fail2ban 通过带有拒绝 ICMP 的 iptables 阻止了该 IP。 屏蔽IP地址后,您可以在iptables中看到规则,如下所示。 对于仅限 SSH 的系统,在进行这些测试之前,请确保从另一个 IP 获得 SSH 访问。
结论
本教程帮助您在 Ubuntu 20.04 LTS 系统上安装和配置 Fail2ban。 此外,还为您提供了配置详细信息以保护特定服务,如 SSH、SFTP 和 FTP。