如何在Ubuntu 20.04上安装和配置Fail2ban

Fail2ban是一种用于提高服务器免受网络攻击的安全性的工具。 它允许您根据定义的设置临时或永久阻止远程IP地址。 它可以帮助您保护服务器和数据免受攻击者的侵害。

本教程可帮助您在Ubuntu 20.04 LTS Linux系统上安装Fail2ban。 还为您提供了使用fail2ban保护SSL的初始配置。

先决条件

您必须具有sudo特权帐户的Shell访问Ubuntu 20.04系统。

步骤1 –安装Fail2ban

Fail2ban Debian软件包可在默认的apt资料库中找到。 您只需要更新Apt缓存并在系统上安装fail2ban debian软件包即可。

打开一个终端并输入:

sudo apt update 
sudo apt install fail2ban -y 

成功安装后,请确保已启动服务。

sudo systemctl status 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] 部分。

  • ignoreip – 由Fail2ban禁用的IP地址列表。
    [DEFAULT]

    ignoreip = 127.0.0.1/8 192.168.1.0/24

    123[DEFAULT] ignoreip = 127.0.0.1/8 192.168.1.0/24
  • 闲暇时间– 是禁止主机的秒数。 bantime = 60m
    1个bantime = 60m
  • 找时间– 如果主机在最近的“查找时间”秒内生成了“ maxretry”,则该主机将被禁止。 findtime = 5m
    1个findtime = 5m
  • maxretry – 是主机被禁止之前的失败次数。 maxretry = 5
    1个maxretry = 5

在下一节中,您可以将系统服务保护为

步骤3 –保护SSH / SFTP

完成默认配置后,进入同一文件jail.local并更新 [ssh-iptables] 部分如下。

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=22, protocol=tcp]
           sendmail-whois[name=SSH, dest=root, [email protected], sendername="Fail2Ban"]
logpath  = /var/log/secure
maxretry = 3

步骤4 –保护FTP

保护您的FTP(vsFTPd)服务器,找到以下项 [vsftpd-iptables] 部分,并进行如下更改。 如果您没有使用vsFTPd,则可以跳过本节。

[vsftpd-iptables]

enabled  = true
filter   = vsftpd
action   = iptables[name=VSFTPD, port=21, protocol=tcp]
           sendmail-whois[name=VSFTPD, [email protected]]
logpath  = /var/log/vsftpd.log
maxretry = 5
bantime  = 1800

步骤5 –管理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等特定服务。

Sidebar