在 Debian 11/12/10 上安装 Fail2ban

Tutorial/教程 在 Debian 11/12/10 上安装 Fail2ban

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • 很荣幸 游客 的到来!开始前请阅读 社区规则 确保您顺利的熟悉本社区。注册用户可以提交资源,如果您有已发布资源的新版本,您可以随时更新版本!

    文件链接损坏,请在文件下方留言,我们将会及时更新来自备份服务器的新链接。

  • 我们拥有多账户检测系统,对于重复注册我们将采取严厉措施!提示:如果您的账户超过180天处于非活动状态,系统将自动删除您的账户!

    We have a multi account detection system, and we will take strict measures against duplicate registrations! Tip: If your account has been inactive for more than 180 days, the system will automatically delete your account!

oksgo

Administrator

管理成员
贡献: 25%
注册
10 16, 2023
消息
1,351
G
354 G
  • 主题 作者
  • #1

第 1 部分:安装 Fail2ban​


第 1 步:更新Debian​


在安装 Fail2Ban 之前,您必须更新Debian操作系统。这可确保所有现有软件包都是最新的,并且您运行的是最新版本的软件。要更新系统,请在终端中运行以下命令:

sudo apt update && sudo apt upgrade

该命令 sudo apt update 从存储库中检索最新的软件包信息,并将sudo apt upgrade已安装的软件包更新到最新版本。


第2步:安装Fail2ban​


Fail2Ban 包含在默认的Debian存储库中,这意味着您不需要添加额外的存储库来安装该程序。要安装 Fail2Ban,请在终端中使用以下命令:此命令告诉软件包管理器 (apt) 在您的Debian


sudo apt install fail2ban

系统 上安装 Fail2Ban 软件包。


第3步:确认安装Fail2ban​


安装完成后,您需要确认 Fail2Ban 已正确安装。为此,请运行以下命令:

fail2ban --version

此命令将显示已安装的 Fail2Ban 版本,表明安装成功。


步骤4:检查Fail2ban服务​


安装后,Fail2Ban 服务应处于活动状态并默认启用。但是,检查服务的状态以确保其按预期工作始终是一个好主意。要检查 Fail2Ban 服务的状态,请使用以下 systemctl 命令:

systemctl status fail2ban

如果您的 Fail2Ban 服务未激活或未运行,您可以使用以下命令启动它:

sudo systemctl start fail2ban

此命令告诉 systemctl 启动 Fail2Ban 服务。如果您还想默认在系统启动时启用 Fail2Ban,请使用以下命令:

sudo systemctl enable fail2ban

在系统启动时启用 Fail2Ban 可确保该服务在您重新启动Debian服务器时自动启动,从而提供持续保护,无需手动干预。


第 2 部分:安装 UFW(可选)​


如果您更愿意将简单防火墙 (UFW) 与 Fail2Ban 结合使用而不是 IPTables,请按照以下步骤操作。 UFW 是 IPTables 的友好界面,提供了一种管理服务器防火墙的简单方法。请注意,Debian默认情况下没有 UFW。


第1步:安装UFW​


要在Debian系统 上安装 UFW ,请在终端中运行以下命令:此命令使用包管理器 (apt) 从Debian

sudo apt install ufw

存储库 安装 UFW 包。


第 2 步:验证安装​


安装UFW后,需要验证安装是否成功。要检查已安装的UFW版本,请运行以下命令:

ufw version

该命令将显示已安装的UFW版本,表明安装成功。


第 3 步:启用 UFW​


现在是时候在您的系统上启用 UFW 了。启用 UFW 将启用防火墙并确保它在您启动Debian服务器时自动启动。要启用 UFW,请使用以下命令:

sudo ufw enable

该命令请求启动 UFW 并将其配置为在系统启动时启动。运行此命令后,您应该看到类似于以下内容的输出:


在 Debian 111210 上安装 Fail2ban-1.webp



此输出确认 UFW 处于活动状态,并将在您重新引导Debian服务器时自动启动。


第 3 部分:Fail2Ban 备份设置​


安装Fail2Ban后,您需要根据您的服务器环境进行安装和配置。 Fail2Ban 附带两个默认配置文件,位于 /etc/fail2ban/jail.conf 和/etc/fail2ban/jail.d/defaults-debian.conf


重要提示:不要直接修改这些文件。这些是您的原始文件,将在未来的 Fail2Ban 更新期间被替换。


要保存用户设置,请创建扩展名为 .local 的配置文件的副本。 Fail2Ban 将优先读取 .local 文件而不是 .conf 文件。通过创建 .local 文件,您可以确保您的设置在更新期间不会丢失,并且您始终有一个新副本可以在配置错误时依靠。


第 1 步:备份您的配置文件​


运行以下命令创建jail.conf 文件的副本:

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

此命令使用cp(复制)命令在同一目录中创建名为jail.local 的重复jail.conf 文件。 sudo 前缀提供执行此操作所需的权限。



您现在拥有原始配置文件的备份,并且可以通过编辑jail.local 文件安全地配置Fail2Ban 设置,而不必担心在将来的更新期间丢失更改。


第 4 部分:设置 Fail2Ban​


备份原始配置文件后,需要更改jail.local 文件中的设置以满足服务器的安全需求。


步骤一:编辑配置文件​


要使用nano 编辑器编辑jail.local 文件,请运行以下命令:

sudo nano /etc/fail2ban/jail.local

此命令以管理员权限在nano 文本编辑器中打开jail.local 文件,允许您编辑其内容。


第二步:增加禁令时间​


启用“禁令时间增量”选项可延长屡犯者的禁令持续时间。例如,如果默认禁止时间为一小时,您可以在五次重复禁止后将其增加到五小时。为此,您需要为禁止时间增加逻辑设置一个乘数。


例子:


在 Debian 111210 上安装 Fail2ban-2.webp



在此示例中,后续每个禁令的禁令时间都会加倍。您可能希望启用此功能,通过增加每次被禁止时的禁止持续时间来阻止持续的攻击者。


步骤 3:将 Fail2Ban 中的 IP 地址列入白名单​


要将特定 IP 地址列入白名单,请注释掉ignoreip 行并添加所需的 IP 地址,以空格或逗号分隔。您还可以将 IP 地址范围列入白名单。


示例:

ignoreip = 127.0.0.1/8 ::1 180.53.31.33 (example IP address)

本例中,IP 地址 180.53.31.33 被列入白名单。您可能希望将属于受信任用户或服务的 IP 地址列入白名单,以防止意外禁止。


步骤 4:配置默认禁止时间​


默认情况下,在 10 分钟窗口内尝试失败 5 次后,Fail2Ban 会禁止攻击者 10 分钟。您可以自定义这些默认设置,但建议您为不同的监狱设置自定义禁止时间和重试限制。


例子:


在 Debian 111210 上安装 Fail2ban-3.webp



在此示例中,默认设置会在 10 分钟窗口内尝试 5 次失败后阻止攻击者 10 分钟。您可以更改这些设置以更好地满足服务器的安全要求。


步骤 5:配置 Fail2Ban 以使用 UFW 而不是 IPTables​


要将 Fail2Ban 配置为使用 UFW 而不是 IPTables 作为默认禁止操作,请更新 [DEFAULT] 部分中的 banaction 行。


示例:

[DEFAULT]
banaction = ufw

通过将 banaction 更改为 ufw,Fail2Ban 将使用 UFW 而不是 IPTables 来管理禁令。如果您已经使用 UFW 作为服务器的主要防火墙并且想要维护一致的管理系统,这非常有用。


第 6 步:警报/电子邮件​


配置 Fail2Ban 以将带有 whois 报告的电子邮件通知发送到指定的电子邮件地址。您还可以设置各种报告选项,例如向黑名单提供商或攻击者的提供商发送电子邮件。


例子:


在 Debian 111210 上安装 Fail2ban-4.webp



在此示例中,[email protected]是将通知发送到的电子邮件地址,[email protected]是通知将发送到的电子邮件地址。您可以启用电子邮件警报以随时了解安全事件并在必要时采取适当的措施。


第 7 步:Fail2Ban Jails​


Jails 包含针对各种服务器应用程序的预定义过滤器和操作。您可以根据服务器的需要启用、禁用或自定义监狱。


要启用监狱,请将enabled = true 添加到相应的监狱部分。


例子:


在 Debian 111210 上安装 Fail2ban-5.webp



此示例启用 apache-badbots Jail 功能来保护 Apache Web 服务器免受恶意机器人的侵害。在一次尝试失败后,此功能将阻止违规者 48 小时。您可以根据服务器上运行的服务及其相关的安全风险启用特定的监狱。


您还可以通过更新监狱部分中的 banaction 行来添加自定义操作或使用 action.d 目录中的操作。


例子:


在 Debian 111210 上安装 Fail2ban-6.webp



此示例启用 apache-botsearch Jail 功能来防止 Apache Web 服务器上的搜索机器人攻击。自定义禁止操作配置为使用 action_mw 和 cloudflare 操作。您可以添加自定义操作以增强安全性或将 Fail2Ban 与其他安全工具和服务集成。


步骤8:重新启动Fail2Ban服务​


Fail2Ban 配置完成后,重新启动服务以应用更改:

sudo systemctl restart fail2ban

第 5 节:如何使用 Fail2Ban 命令阻止/取消阻止​


配置 Fail2Ban 后,您可以使用fail2ban-client 命令管理 IP 禁止。您可能需要 sudo 权限,具体取决于您的设置。


第 1 步:阻止 IP 地址:​


要手动阻止特定监狱(例如 apache-botsearch)的 IP 地址,请使用以下命令:

sudo failure2ban-client set apache-botsearch banip <ip address>

此命令将指定的 IP 地址添加到禁止的 IP 列表中apache 监狱 -botsearch 的地址。因此,根据监狱中定义的规则,该 IP 地址将被阻止访问您的服务器。


第 2 步:解锁 IP 地址:​


要取消禁止特定监狱(例如 apache-botsearch)的 IP 地址,请使用以下命令:

sudo failure2ban-client set apache-botsearch unbanip <ip address>

此命令取消禁止指定的 IP 地址,允许其再次访问您的 IP 地址。服务器,前提是它遵循 apache-botsearch 监狱中的规则。


第 3 步:访问帮助菜单:​


要访问帮助菜单并查看其他设置或命令,请使用以下命令:

sudo fail2ban-client -h

此命令显示帮助菜单,其中包含用于管理 Fail2Ban 的各种选项和命令。


第 4 步:更多示例:​


检查特定监狱的状态:​

sudo fail2ban-client status apache-botsearch

此命令提供有关 apache-botsearch 监狱的信息,例如其当前状态和被禁止的 IP 地址的数量。


重新加载配置而不重新启动 Fail2Ban 服务:​

sudo fail2ban-client reload

此命令重新加载 Fail2Ban 配置,应用所做的所有更改,而无需重新启动服务。


检查您的特定监狱的禁止 IP 地址列表:​

sudo fail2ban-client get apache-botsearch banned

此命令列出了 apache-botsearch 监狱中当前禁止的所有 IP 地址。


为监狱中的特定 IP 地址设置自定义禁止时间:​

sudo fail2ban-client set apache-botsearch bantime &lt;time_in_seconds&gt; --banip &lt;ip_address&gt;

此命令在 apache-botsearch 监狱中禁止指定的 IP 地址一段指定的时间(以秒为单位)。


这些命令提供了使用 Fail2Ban 有效管理 IP 禁令的工具。请记住将 <ip_address> 替换为您要禁止或取消阻止的实际 IP 地址,并根据您的配置将 apache-botsearch 替换为适当的监狱名称。


第 6 节:检查/监控 Fail2Ban 日志​


监视和查看 Fail2Ban 日志以确保您的监狱正常运行非常重要。默认情况下,Fail2Ban 日志可以在 /var/log/fail2ban.log 中找到。


第1步:实时日志监控​


要实时查看日志并注意到服务器上运行时的任何问题,请使用 tail -f 命令:

tail -f /var/log/fail2ban.log

该命令允许您实时监视日志中的变化。当新条目添加到日志文件中时,您将看到它们,这可以帮助您识别异常活动或错误。


第二步:在日志中搜索具体信息​


您还可以使用 grep 命令在日志中查找特定信息,例如 IP 地址、用户代理或错误。 grep 命令过滤日志文件并仅显示包含指定关键字的行。


用户代理示例:​

grep "Bing" /var/log/fail2ban.log

此命令查找包含单词“Bing”的所有日志条目,这可以帮助您识别不需要的机器人或用户代理活动。


错误示例:​

grep "error" /var/log/fail2ban.log

此命令查找包含“错误”一词的日志条目,帮助您检测 Fail2Ban 的任何问题或问题。


IP 地址示例:​

grep "123.123.123.1" /var/log/fail2ban.log

此命令搜索包含指定 IP 地址的日志条目,允许您跟踪特定 IP 地址的活动或确定它是否已被拒绝。


这些示例演示了使用终端命令过滤和搜索日志的不同方法。定期查看 Fail2Ban 日志将帮助您维护服务器的安全并确保您的监狱按预期运行。


第 7 节:如何删除(卸载)Fail2Ban​


如果您决定从系统中删除 Fail2Ban,可以按照以下步骤轻松将其删除:


步骤 1:停用 Fail2Ban 服务​


如果 Fail2Ban 服务仍然处于活动状态,您需要先禁用它,以便删除过程顺利进行。禁用服务将阻止其在后台运行并干扰卸载过程。


使用以下命令禁用 Fail2Ban 服务并停止其运行:

sudo systemctl disable fail2ban --now

此命令立即禁用 Fail2Ban 服务(-now 标志)并确保它不会在后续系统重新引导时自动启动。


第 2 步:从系统中删除 Fail2Ban​


禁用该服务后,您可以使用以下命令删除 Fail2Ban:

sudo apt remove fail2ban

此命令将删除 Fail2Ban 及其系统依赖项和关联数据。
 

相似主题

第 1 步:更新包存储库。 首先,您需要更新系统软件包以确保您拥有最新版本。打开终端并运行以下命令: 代码: 更新系统软件包有助于避免兼容性问题并确保您拥有最新的安全补丁。 步骤 2. 安装依赖项。 bpftool 需要多个依赖项才能正常工作。通过运行以下命令来安装它们: Bash 此命令将安装必要的软件包,包括用于克隆 bpftool 存储库的 Git、构建工具以及编译 bpftool...
0
6
0
安装Java Elasticsearch是一个Java应用程序,因此第一步是安装Java。 首先运行更新列表并安装更新 然后以 root 或具有 sudo privileges 命令的用户身份运行以下命令以安装OpenJDK软件包: 通过输入下述指令来验证Java是否已安装: 输出应类似如下所示: openjdk version "11.0.6" 2020-01-14OpenJDK...
15
330
1
Nginx 是一个 Web 服务器,其开发旨在高负载下工作。但无论 nginx 的功能如何,当您需要限制站点/服务器上的负载时。这里的考虑因素可能有所不同,首先,这对于那些喜欢下载整个网站,然后将其以不同名称放置的人来说是一个障碍,当然对此的保护很弱,其次,有高峰,短期-术语负载,为此没有必要扩展服务器硬件。 Nginx 有两个模块 ngx_http_limit_zone_module -...
0
6
0
很长时间没写文章了,这几天我安装了最新的xf2.3b2,因为2.3版本对系统有了更高的要求,我升级了mysql、php,但因我的虚拟机配置一般,打算使用docker 配置elasticsearch 7.17.18,供xf enhanced search 使用。 下面是我使用docker 安装 elasticsearch 7.17.18(设置服务访问密码)...
9
255
0
与 Gzip 一样,Brotli 也是 Google 开发的通用压缩算法。它结合现代技术和算法来压缩数据。它的速度与放气相似,但提供更高的压缩。所有主要浏览器(例如 Chrome、Firefox、Safari、Edge)都支持 Brotli 压缩。 本教程帮助您在 Apache Web 服务器和 Xenforo 2 中启用 brotli 压缩。 以下是在 Apache(也称为...
3
331
0
后退
顶部