当前位置: 首页 > news >正文

在 Ubuntu 24.04 或 22.04 LTS 服务器上安装、配置和使用 Fail2ban

关于在 Ubuntu 24.04、22.04 或 20.04 LTS Linux 服务器上安装和配置 Fail2ban 服务器、客户端和服务的教程。

博主和开发人员如果自行运行和管理服务器,也需要负责其安全性。在当今世界,如果不重视安全性,我们的服务器可能会成为攻击者的攻击目标并造成损害。尽管有许多在线 WAF(Web 应用防火墙),但为了加固服务器,有一个名为 Fail2ban 的开源程序。它可以确保在多次尝试失败后,攻击者的 IP 地址会被暂时阻止,从而防止无限次的尝试,这些尝试最终可能会导致密码被破解。

Fail2ban 可以监控各种服务,当然包括 SSH 访问、FTP、邮件等。在这里,我们学习如何在 Ubuntu 24.04 或 22.04 LTS 上安装 Fail2ban 及其配置过程。

在 Ubuntu 24.04 或 22.04 LTS 上安装 Fail2ban

安装和配置 Fail2ban 的软件包可在 Ubuntu 24.04/22.04 的官方仓库中找到。因此,我们需要使用 apt 命令进行安装。

首先,运行更新命令以重建仓库缓存:

sudo apt update

然后,使用以下命令安装这个安全工具:

sudo apt install fail2ban

运行上述命令后,安装完成后将提供以下程序:

  • fail2ban-server – 服务器
  • fail2ban-client – 用于配置和评估服务器的客户端程序
  • fail2ban-regex – 用于测试正则表达式的程序

启用并检查服务状态:

sudo systemctl enable fail2ban
sudo systemctl status fail2ban

在 Ubuntu 上配置 Fail2ban

Fail2ban 读取扩展名为 .conf.local 的配置文件类型。扩展名为 .conf 的文件在安装过程中创建,并且会在软件包升级时被 覆盖,因此所有更改都必须在对应的 .local 文件中进行。因此,只应在该文件中添加或更改与默认或全局设置不同的值。

Fail2ban 有三种配置文件类型:

/etc/fail2ban/action.d/*.conf/*
/etc/fail2ban/filter.d/*.conf/*
/etc/fail2ban/jail.conf
/etc/fail2ban/jail.d/*.conf

action.d

目录 /etc/fail2ban/action.d/ 中的文件包含用于(解除)阻止 IP 地址的命令。操作文件包含两个部分:[Definition][Init][Init] 部分中的条目用于覆盖在监狱中定义的规则。以下表中的示例取自 iptables-multiport-conf 操作。所有命令都以 fail2ban 用户权限执行。

选项概览 描述 示例
[Definition]
actionstart 在启动 fail2ban 时执行的命令 actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
actionstop 在退出 fail2ban 时执行的命令 actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
iptables -F fail2ban-<name>
iptables -X fail2ban-<name>
actioncheck 在每次执行 actionban 之前执行的命令。这些命令用于检查当前环境的功能性。 `actioncheck = iptables -n -L
actionban 当 IP 被阻止时执行的命令。条件是 <
http://www.dtcms.com/a/348968.html

相关文章:

  • 【Qwen Image】蒸馏版与非蒸馏版 评测小结
  • 第3篇:配置管理的艺术 - 让框架更灵活
  • 多线程下单例如何保证
  • [身份验证脚手架] 前端认证与个人资料界面
  • 2025.8.18-2025.8.24第34周:有内耗有挣扎
  • Spring Cloud 快速通关之Sentinel
  • 遥感机器学习入门实战教程|Sklearn案例⑩:降维与分解(decomposition 模块)
  • [e3nn] 等变神经网络 | 线性层o3.Linear | 非线性nn.Gate
  • 动态规划--编译距离
  • AI代码生成器全面评测:六个月、500小时测试揭示最强开发助手
  • Redis 高可用篇
  • 51单片机-实现定时器模块教程
  • GaussDB 数据库架构师修炼(十八) SQL引擎-统计信息
  • 用 WideSearch 思路打造「零幻觉、全覆盖」的多 Agent 信息收集器
  • SRE 系列(四)| MTTI 与 On-Call:高效故障响应之道
  • C++标准库算法:从零基础到精通
  • Go语言 Hello World 实例
  • 数据标注的质检环节有多少种
  • 单表查询-分析函数的应用
  • 智能体之推理引擎(3)
  • 记一次使用 C++ 实现多种扑克牌逻辑
  • ptrade `get_fundamentals` - 获取财务数据
  • 58 C++ 现代C++编程艺术7-模板友元
  • VC2022连接mysql
  • 微服务-21.网关路由-路由属性
  • 2025年KBS SCI1区TOP,新颖奖励与ε-贪婪衰减Q-learning算法+局部移动机器人路径规划,深度解析+性能实测
  • AI基础学习周报十
  • AI产品经理面试宝典第74天:技术边界与商业闭环的面试问题与答法
  • Trip Footprint_旅行分享功能模块技术架构天气模块技术架构
  • COSMIC智能化编写工具:革命性提升软件文档生成效率