Fail2ban是一个强大的基于Python的安全工具,它通过阻止尝试使用不正确的凭据登录的IP地址来帮助保护Linux系统免受暴力攻击。Fail2ban可以监控日志文件,以查找失败的登录尝试和其他可疑活动,当它检测到此类活动时,它会通过修改防火墙规则来禁止违规IP地址。
在本文当中,小编主要介绍在Ubuntu 24.04系统上安装和使用Fail2ban工具简单过程,以便用它来保护你的系统免受这些攻击,一起来看看吧。
在Ubuntu 24.04上安装Fail2ban
要在Ubuntu 24.04上安装Fail2ban,需要通过运行以下apt命令来更新系统软件包列表:
sudo apt update
接下来,使用以下命令安装Fail2ban工具:
sudo apt install fail2ban
安装后,通过检查其版本来验证Fail2ban是否正确安装:
fail2ban-client --version Fail2Ban v1.0.2
在Ubuntu 24.04上配置Fail2ban
/etc/fail2ban目录是Fail2Ban配置文件和日志的主要位置,此目录包含了一些对Fail2Ban功能至关重要的子目录和文件。以下是关键组件的详细解释:
action.d
:此目录包含Fail2Ban用于禁止IP地址的操作脚本,这些脚本特定于正在使用的防火墙或服务(例如iptables
,nftables
,ufw
)。filter.d
:此目录包含过滤器配置文件,定义Fail2Ban如何识别和禁止IP地址,这些过滤器特定于受监控的服务(例如HTTP
、FTP
、SSH
)。jail.d
:此目录包含jail配置文件,定义Fail2Ban监控的具体服务和禁止IP地址的规则。paths-arch.conf
,paths-common.conf
,paths-debian.conf
,paths-opensuse.conf
:这些文件包含特定于不同Linux发行版的路径。fail2ban.conf
:这是Fail2Ban的主要配置文件,其中包含全局设置和选项。jail.conf
:此文件包含各种服务的默认jail配置。jail.local
:此文件用于覆盖默认的jail配置,建议创建一个jail.local
文件以方便升级和进行自定义。fail2ban.log
:这是Fail2Ban的主要日志文件,其中记录其操作和事件。
Fail2ban附带了默认配置文件,你可以根据需要自定义,主配置文件位于/etc/fail2ban/jail.conf。但是,小编建议创建本地副本(/etc/fail2ban/jail.local),以防止你的更改在更新期间被覆盖。
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
在nano文本编辑器中打开local配置文件:
sudo nano /etc/fail2ban/jail.local
在配置文件中,找到[ssh]
部分并取消注释行,然后修改值以调整Fail2ban的行为,具体如下所示:
maxretry
:定义了在禁止IP地址之前登录尝试失败的最大次数。findtime
:将设置必须发生最大重试次数才能触发禁令的时间窗口。bantime
:定义了IP地址在超过最大重试次数后被禁止的持续时间。
示例配置如下(根据自己实际需要进行修改):
[ssh] enabled = true maxretry = 3 findtime = 10 bantime = 4h
在此示例中,启用了jail,在10秒内最大重试次数设置为3次,并且被禁止的IP会被阻止4小时。
完成所需的更改后,保存文件并重新启动Fail2ban服务以使新配置生效:
sudo systemctl restart fail2ban sudo systemctl enable fail2ban sudo systemctl status fail2ban
在Ubuntu 24.04中测试Fail2ban
要测试Fail2ban,可以模拟对系统的暴力攻击,这涉及故意触发Fail2ban监控的条件,例如多次登录尝试失败等操作行为。
首先登录到另一台Linux服务器,运行以下命令模拟登录失败,确保将192.168.122.1替换为你自己服务器的IP地址。
for i in {1..6}; do ssh invaliduser@192.168.122.1; done
登录尝试失败后,检查Fail2ban日志以查看IP地址是否已被禁止,命令如下:
sudo tail -f /var/log/fail2ban.log
验证SSH jail的状态并检查IP地址是否已被禁止:
sudo fail2ban-client status sshd
如果需要取消禁止该IP地址,请使用以下命令。
sudo fail2ban-client set sshd unbanip 192.168.122.1
结论
总之,Fail2ban是一款功能强大的工具,可保护你的Ubuntu 24.04服务器免受暴力攻击。按照本文设置过程,你可以在Ubuntu 24.04系统中安装、配置和使用Fail2ban工具,从而能够显著降低未经授权访问你服务器的风险,最终微你的数据和应用程序安全保驾护航。