安装 Fail2Ban ,加固你的树莓派

在此树莓派 Fail2ban 教程中,我们将向您展示如何在树莓派上设置和配置 Fail2ban 软件。

在提高树莓派的安全性方面,Fail2ban 是至关重要的软件。如果您可以通过 Internet 公开访问树莓派,则它特别有用,因为它是一种主动的学习型防御方式。

对于那些不知道 Fail2ban 是什么](https://www.fail2ban.org/wiki/index.php/Main_Page) 的人来说,它是一款软件,试图阻止与您设备的恶意连接,在我们的案例是我们的树莓派。如果您 [拥有 SSH 或什至网络服务器,则非常重要可以公开访问。

Fail2ban 的工作原理是不断扫描您的日志文件并寻找潜在攻击的迹象。其中包括攻击,例如密码失败过多,扫描漏洞利用等等。一旦发现异常活动,它将自动更新防火墙以禁止该 IP 地址。

设备

在本教程中,您需要以下设备才能在树莓派上设置 Fail2ban 。

推荐的

  • 树莓派

  • Micro SD 卡如果您使用的是树莓派 2、 3 或 B +

  • 电源

  • 以太网线 (推荐)

可选的

  • 树莓派外壳

  • USB 键盘

  • USB 鼠标

安装和配置 Fail2ban

1 在开始将 Fail2ban 安装到树莓派之前,我们应该首先确保它完全是最新的。

我们可以通过在树莓派上的终端中运行以下命令来非常简单地执行此操作。

sudo apt-get update
sudo apt-get upgrade

2 随着 Raspbian 操作系统的更新,我们继续在以下命令上运行以下命令来安装 Fail2ban 软件: 树莓派。

sudo apt-get install fail2ban

3 在安装过程中,fail2ban 将生成一个名为”** jail.conf **” 的文件。

我们需要复制该文件并将其命名为”** jail.local **”,fail2ban 将自动检测该文件并为其加载配置。

让我们在树莓派的终端上运行以下命令来复制文件。

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

4 现在,我们继续打开刚才复制的文件,并查看 Fail2ban 加载时使用的默认配置。

通过在树莓派上运行以下命令,使用 vim 编辑器打开文件。

sudo vim /etc/fail2ban/jail.local

5 在此文件中,使用 CTRL + W 组合键搜索” \ [sshd] **”,其外观应类似于下面显示的文本。

[sshd]

端口= ssh
日志路径=%(sshd_log)s
后端=%(sshd_backend)s

6 现在,要启用此部分并设置 SSHD 过滤器,我们需要在上一步中找到的”** \ [sshd] **” 文本下方添加两行。

启用=真
过滤器= sshd

我们添加到此配置文件的第一行使 Fail2ban 能够处理指定端口的那些规则。

第二行告诉 Fail2ban ,它需要使用”**/etc/fail2ban/filter.d/sshd.conf **” 文件来过滤与 ssh 端口的连接。

7 除了能够启用它并设置过滤器外,我们还可以更改当有人触发过滤器时 Fail2ban 的功能。

要设置禁止动作,您可以利用以下行。在下面的示例中,我们将使用”** iptables-multiport **” 禁止操作。

此操作将禁止触发筛选器的用户,并限制他们访问设备上的任何端口。

banaction = iptables-multiport

您可以通过检出 **/etc/fail2ban/action.d/** 文件夹找到其他操作,尽管您通常想在所有端口上阻止攻击者,但通常可以这样做。

8 除了可以设置禁止操作之外,您还可以设置用户在被禁止之前获得的尝试次数以及应被禁止的时间。

为此,我们可以利用以下两个值,我们设置了一些示例值,下面将对其进行说明。

bantime = -1
maxretry = 3

上方的第一行 (“** bantime = -1 “) 用于设置您要禁止用户使用多长时间。此值必须以秒为单位,例如 1800 秒将禁止用户 30 分钟。如果您想无限期地禁止该用户,则可以像上面的示例一样将此值设置为 -1
第二行 (“
maxretry = 3 **”) 定义了在执行禁止操作之前用户获得的尝试次数。在我们的示例中,我们将此设置为 3 ,这意味着用户将有 3 次机会被禁止访问所有端口上的设备。

9 使用禁止操作,禁止时间,最大重试次数以及启用并设置过滤器完成对 ** \ [sshd] ** 部分的配置后,您应该得到类似我们下面。

[sshd]
启用=真
过滤器= sshd
端口= ssh
banaction = iptables-multiport
bantime = -1
maxretry = 3
日志路径=%(sshd_log)s
后端=%(sshd_backend)s

10 如果您对更改感到满意,请继续并按 ** CTRL + X ,然后按 Y **,最后按 ENTER * 保存文件。

11 您现在应该已经启动并成功运行树莓派 Fail2ban。要使 Fail2ban 软件在树莓派上加载您的更改,您需要继续并输入以下命令。

sudo service fail2ban 重启

Apache 和 Nginx Web 服务器

您也可以使用 Fail2Ban 保护 Apache 或 Nginx Web 服务器。设置与我们对 SSH 所做的非常相似。我将在下面快速介绍一个 Apache 示例。

1 如果要对 Apache 启用针对恶意机器人的保护,则需要打开 jail 本地文件。

sudo vim /etc/fail2ban/jail.local

2 找到名为 ** \ [apache-badbots] 的部分,您可以使用 CTRL + W ** 进行查找。

3 在此标题下,添加以下两行。

启用=真
筛选器= apache-badbots

过滤器名称通常与模块名称相同,除非您使用的是自定义配置文件。因此,** \ [apache-badbots] 的过滤器名称为 apache-badbots **。

您可以在以下目录中找到所有过滤器配置文件,使用 ** ls ** 列出所有文件。

ls /etc/fail2ban/filter.d/

4 编辑完 jail .local 文件后,请依次按 ** CTRL + X Y ENTER ** 保存文件。

5 最后,切记每次进行更改时都要在树莓派上重新启动 Fail2Ban 。

sudo service fail2ban 重启

我希望从树莓派 Fail2Ban 教程中,您已经学会了如何设置和配置软件。我也希望它已经显示出使用 Fail2Ban 这样的软件的好处。

如果您对本教程在树莓派上设置和配置 Fail2Ban 有任何反馈,请随时在下面发表回复。

分享到