Linux 上的 Fail2ban:用于服务器管理员的 Internet 安全和实用工具

Fail2ban 是一款适用于 Linux 服务器和网络主机管理员的互联网安全实用工具。 您可以使用 Fail2ban 工具在 Linux 服务器上控制、监控和添加规则。 假设您在任何托管平台上都有一个网站。 在这种情况下,您可能知道如果您快速输入错误的用户名或密码,系统会自动阻止您登录 WHM 或 c-Panel 和仪表板。 如果您有一台在 Linux 系统下运行的服务器,您可以使用 Fail2ban 工具维护您服务器的登录监控系统。 我必须说,如果你是 Linux 服务器 admin安装 Fail2ban 是让您的服务器安全、安全、稳定的绝佳尝试。

Fail2ban 的重要功能

Fail2ban 是用 Python 编写的,可以防止你的 Linux 服务器受到暴力攻击。
受到攻击后,您可以从 Fail2ban 日志文件中检查该攻击的强度。 你可能会问,Fail2ban 能阻止你服务器上的 DDOS 攻击吗? 答案是,Fail2ban 并非旨在避免 DDOS 攻击; 它是为了防止未知或可疑的登录尝试。

但是,毫无疑问,Fail2ban 可以减少 Linux 服务器上的 DDOS 攻击次数。 在 Linux 服务器上安装 Fail2ban 工具并设置参数后,它可以自动保护您的服务器免受登录攻击。

Fail2ban 使用 Jail 脚本来确保 Linux 服务器的安全。 Jail 是设置脚本文件,其中设置了所有默认 IP 阻止和维护参数。 了解 Jail 脚本对于确保 Linux 服务器的安全性至关重要。

要查看 Fail2ban 的配置文件,请在终端上运行以下 list 命令。 你会发现一个 fail2ban.conf 和一个 jail.d 列表中的文件。 我们将在 jail.d 文件以重新配置 Fail2ban 设置。

ls -al /etc/fail2ban/

我列出了 Linux 系统上 Fail2ban 工具的主要和基本功能。

  • 支持 Python Scrapy
  • 阻止特定范围的 IP
  • 全球时区明智区块
  • 自定义参数设置
  • 易于配置 ApacheNginx, SSHD, 和其他服务器
  • 接收电子邮件警报
  • 禁止和取消禁止设施
  • 设置禁止时间

各种 Linux 发行版上的 Fail2ban

– –

Linux 爱好者必须知道 Linux 为大多数 Web 服务器提供支持。 虽然服务器在 Linux 上供电,但必须保持非常严格的安全基准以阻止未经授权的登录尝试。 在这篇文章中,我们将看到如何在各种 Linux 发行版上安装和配置 Fail2ban 包。 稍后,我们还将看到如何修改和观察 Fail2ban 工具。

第 1 步:在 Linux 上安装 Fail2ban 软件包

在 Linux 上安装 Fail2ban 是一个简单的过程。 您需要更新系统存储库并使用一些终端命令行直接安装软件包。 我将介绍 Debian 上 Fail2ban 的安装方法, Fedora Linux、红帽 Linux、OpenSuSE 和 Arch Linux。

1. 在 Ubuntu 和 Debian 发行版上安装 Fail2ban

在 Debian 发行版中,更新系统存储库是使您的 Linux 系统更流畅和更高效的过程。 由于我们将在我们的系统上安装一个新包,我们必须首先更新系统存储库。 您可以使用以下命令行来更新您的系统存储库。

sudo apt update
sudo apt upgrade -y

现在,复制并粘贴以下 aptitude 软件包管理命令,在您的 Debian 系统中安装 Fail2ban 工具。 您可以将此命令用于 Ubuntu、Kubuntu、Linux Mint 和其他 Debian 发行版。

sudo apt install fail2ban

2.在Manjaro中安装Fail2ban

在这里,我们选择了 Manjaro Linux 来展示如何在 Arch 和基于 Arch 的 Linux 发行版上安装 Fail2ban 包。 Manjaro 由 Arch Linux 项目支持和维护。 您可以使用以下 packman 在 Arch Linux 上安装 Fail2ban 的命令行。

sudo pacman -S fail2ban

如果您在安装软件包时遇到任何错误,可以运行以下命令 -Rs Arch Linux 终端中的命令来绕过错误。

sudo pacman -Rs fail2ban

3. 在 OpenSuSE 和 SuSE Linux 中安装 Fail2ban

在 SuSE 和 OpenSuSE Linux 中,安装 Fail2ban 比其他发行版容易得多。 首先,你需要下载 .ymp Fail2ban 的打包文件。 你可以 从这里下载 SuSE Linux 的 Fail2ban 包. 下载完成后,通过 SuSE Linux 的默认软件商店打开包文件。 然后单击安装按钮完成安装过程。

下载 Fail2ban suse linux

4.安装Fail2ban Fedora

在这里,我将向您展示如何安装 Fail2ban 包 Fedora Linux。 我正在使用 DNF 命令将软件包安装到 Fedora. 首先,在您的系统上安装企业 Linux (EPEL) 版本的额外软件包。

sudo dnf install epel-release

现在,在您的设备上运行以下命令 Fedora Linux终端获取Fail2ban包。

sudo systemctl start sshd
sudo dnf install fail2ban

Fedora上的fail2ban

5. 在 CentOS 和 Red Linux 上安装 Fail2ban

很少有人使用 Red Hat 和 CentOS 来维护服务器。 但是,如果您在 Red Hat Linux 上安装了服务器,则可以通过运行以下命令在 Linux 系统上安装 Fail2ban 软件包 yum Linux 机器上的命令。

首先,在您的系统上安装 Extra Packages for Enterprise Linux (EPEL) 版本。 然后安装 Fail2ban 包。

sudo yum install epel-release
sudo yum install fail2ban

第 2 步:Linux 上的防火墙设置

由于 Fail2ban 使用网络协议来维护 Linux 服务器,因此您需要确保您的 Linux 防火墙已启用并配置为访问 Fail2ban 软件包。 默认情况下,Fail2ban 使用端口 22 建立连接。 这就是为什么您需要为 Fail2ban 允许端口 22。 在这里,我们将看到如何为 Debina 和其他 Linux 发行版设置防火墙设置。

1. Ubuntu 和 Debian 的防火墙设置

Debian 和 Ubuntu 用户可以启用 UFW 设置来添加防火墙规则。 按照终端命令行在您的 Debian 发行版上配置 UFW 防火墙。 如果您的 Debian 系统上没有启用防火墙,请先启用它。

sudo ufw allow 22
sudo ufw enable

现在您可以检查 Linux 系统上的防火墙状态。 您会发现在防火墙设置中添加并允许了端口 22。

sudo ufw status

ufw 端口 22

2. Red Hat、CentOS 和 CentOS 的防火墙设置 Fedora Linux

红色的帽子, Fedora、Centos、Arch Linux、SuSE 和其他 Linux 发行版使用 防火墙 工具来配置防火墙设置。 正如我们所知,UFW 是一个专用于 Debian 发行版的基于命令行的防火墙接口,同样,Firewalld 是主要的应用程序编程接口 (API) 管理工具,您可以在其中添加防火墙规则。

您可以使用以下系统控制命令在 Linux 机器上启动、启用、停止和重新加载 Firewalld。

systemctl status firewalld
systemctl enable firewalld
sudo firewall-cmd --reload
systemctl stop firewalld

正如我们已经知道的,我们必须在防火墙配置上允许端口 22。 使用以下命令添加规则。 您还可以使用 Firewalld 上基于区域的配置系统 工具。

firewall-cmd --add-port=22/tcp
firewall-cmd --list-all

现在,重新启动 Linux 系统上的 Fail2ban 工具。

systemctl restart fail2ban

防火墙

第 3 步:在 Linux 上配置 Fail2ban

到目前为止,我们已经安装了 Fail2ban 并配置了防火墙设置。 现在,我们将了解如何配置 Fail2ban 设置。 所有 Linux 发行版的常规设置和配置都是相同的。 您可以对所有发行版执行此步骤。

首先,您必须在 Fail2ban 上配置监狱设置。 如果您不需要进行任何更改,您可以保留默认设置。 您可以在配置脚本中找到 /etc/fail2ban/ 目录。 使用以下终端命令行编辑和配置监狱设置。

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

现在,您可以在 Jail 配置脚本中复制并粘贴以下规则。 在这里,我们设置了 bantime、ignoreIP、findtime 和 maxretry 参数。

[DEFAULT]
ignoreip = 127.0.0.1
bantime = 3600
findtime = 600
maxretry = 3


[sshd]
enabled = true

ignoreip = 127.0.0.1 ::1 192.168.100.11

我正在简要描述 Fail2ban 脚本参数。

  • 班泰 – Bantime 是您要申请禁止任何可疑 IP 地址的持续时间。
  • 忽略ip – ignoreip 是指您不想被Fail2ban 工具禁止或监控的IP 地址。 通常,您当前的主机 IP、个人 IP 地址和 localhost 地址会添加到 ignoreip 列表中。
  • 最大重试次数 – Maxretry 是一种日志文件,用于在您的 Linux 服务器上存储失败的登录尝试。 您可以控制要允许任何用户登录的尝试次数。
  • 找时间 – Findtime 是过去的持续时间,您可以添加到设置中以查找以交叉检查可疑 IP 地址。

您还可以从 Linux 上的 Fail2ban 设置中取消禁止任何 IP 地址。 首先,您需要打开 Jail 的 SSHD 配置脚本。 然后您可以解禁所需的 IP 地址。

/etc/fail2ban/jail.d/sshd.local

使用以下命令行取消禁止任何 IP 地址。

/etc/fail2ban/jail.local
sudo fail2ban-client set sshd unbanip 83.136.253.43

第 4 步:监控 Fail2ban 状态

完成安装和配置步骤后,您现在可以从 Linux 系统监控 Fail2ban 工作功能。 在这里,我将描述一些基本的命令行,您可以在 Linux 终端上运行这些命令行来监视和监控 Fail2ban 工具。

您可以使用以下命令行查看有关 Fail2ban 工具的调试信息、跟踪信息、ping 和其他相关信息。

fail2ban-client -vvv -x start

使用以下终端命令行从您的 Linux 系统查看 Fail2ban 的日志文件和授权文件。

nano /var/log/fail2ban.log
nano /var/log/auth.log

使用以下命令行监控 Fail2ban 的客户端状态和 SSHD 状态。

sudo fail2ban-client status
sudo fail2ban-client status sshd

Linux fail2ban 客户端状态 sshd

要查看被禁止的 IP 日志,请在 Linux shell 中运行以下终端命令行。

sudo zgrep 'Ban:' /var/log/fail2ban.log*

要查看错误日志文件,请在 Linux 终端中运行以下终端命令行。

/var/log/httpd/error_log

您可以通过系统控制命令行检查 Fail2ban 的状态。 使用下面给出的终端命令行检查 Linux 系统上的 Fail2ban 状态。

systemctl status fail2ban
systemctl status fail2ban.services

fail2ban linux活动状态

您可以在系统启动时运行 Fail2ban 服务。 要将 Fail2ban 包添加到您的启动应用程序列表中,请在您的 Linux 终端上使用以下系统控制命令行。

systemctl enable fail2ban.services

最后,您可以使用下面给出的以下终端命令行来启动、重新启动和启用 Linux 系统上的 Fail2ban 服务。

systemctl enable fail2ban
systemctl start fail2ban
systemctl restart fail2ban

额外提示:获取电子邮件警报

此步骤将展示当有人尝试从未经授权的设备、使用错误的用户名或密码以及恶意网络登录到您的 Linux 服务器时,您如何获得电子邮件警报。 要设置电子邮件警报设置,您需要编辑 jail.local Fail2ban 目录中的文件。

首先,您可以复制您的监狱设置脚本,以便在您做错任何事情时替换默认设置。 运行以下命令行以制作 Jail 脚本的副本。

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

您可以使用下面给出的以下命令行来编辑 jail.local 配置脚本。

sudo nano /etc/fail2ban/jail.local

现在,将下面给出的脚本命令复制并粘贴到您的 jail.local 脚本。 然后替换脚本上的目标电子邮件(destemail)和发件人电子邮件地址。 然后您可以保存并退出配置脚本。

[DEFAULT]
destemail = [email protected]
sender = [email protected]

# to ban & send an e-mail with whois report to the destemail.
action = %(action_mw)s

# same as action_mw but also send relevant log lines
#action = %(action_mwl)s

现在重新启动 Linux 系统上的 Fail2ban 工具。

sudo systemctl restart fail2ban

从 Linux 移除 Fail2ban

删除 Linux 发行版上的 Fail2ban 需要从 Linux 卸载软件包的标准方法。 现在,我将展示如何从 Linux 系统中删除 Fail2ban 工具。 使用以下命令行从 Debian/Ubuntu Linux 系统中删除软件包。

sudo apt-get remove fail2ban

使用以下命令行删除 Fail2ban Fedora、CentOS、Red Hat Linux 和其他 Linux 发行版。

sudo yum remove fail2ban
sudo yum purge fail2ban
sudo yum remove --auto-remove fail2ban

结束词

毫无疑问,Fail2ban 是 Linux 系统和服务器管理员的必备工具。 虽然使用 UFW、IPtables 和其他网络监控工具可以帮助服务器管理员,但 Fail2ban 是一个完整的软件包,可以防止有害或匿名用户的匿名登录。

在整篇文章中,我描述了在各种 Linux 发行版上安装、配置和监控 Fail2ban 工具的方法。 如果您觉得这篇文章有用且内容丰富,请与您的朋友和 Linux 服务器管理员分享这篇文章。 你可以在评论部分写下你对这篇文章的看法。