实战演练:Fail2Ban部署全攻略,确保您的服务器免受CVE-2024-6387侵害!

Fail2Ban是一个开源的入侵防护软件,它可以扫描日志文件,识别恶意行为(如多次失败的登录尝试),并自动采取措施(如更新防火墙规则)来阻止攻击者。最近,CVE-2024-6387漏洞的爆出使我们更加关注服务器安全问题,本文将详细介绍如何安装和配置Fail2Ban来保护您的服务器,特别是如何应对类似CVE-2024-6387这样的漏洞。

一、漏洞简介

CVE-2024-6387 是 OpenSSH 服务器中的一个严重漏洞,影响基于 glibc 的 Linux 系统。攻击者可以利用该漏洞在无需认证的情况下,通过竞态条件远程执行任意代码,获得系统控制权。这个漏洞源于处理超时信号时的不安全操作,最早在 OpenSSH 8.5p1 版本中引入。
受影响的版本:

OpenSSH 版本 8.5p1 到 9.8p1(不包括9.8p1)。

关于该漏洞的更加详细资料请阅读上一篇文章

二、安装Fail2Ban

Fail2Ban可以在大多数Linux发行版上安装,以下是安装步骤:

在Debian/Ubuntu上安装
bash 复制代码
sudo apt update
sudo apt install fail2ban
在CentOS/RHEL上安装
bash 复制代码
sudo yum update
sudo yum install epel-release
sudo yum install fail2ban

三、基本配置

Fail2Ban的配置文件位于 /etc/fail2ban 目录下,主要配置文件是 jail.conf 和 jail.local。我们建议不要直接修改 jail.conf,而是在 jail.local 中进行配置,以便于软件升级时保留自定义配置。

创建jail.local

首先,创建一个新的配置文件 jail.local:

bash 复制代码
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
配置SSH防护

打开 jail.local 文件,找到 [sshd] 部分,并进行如下配置:

properties 复制代码
ignoreip = 127.0.0.1/8
enabled = true
filter = sshd
port = 22
maxretry = 5
findtime = 300
bantime = 600
banaction = ufw
action = %(action_mwl)s
logpath = /var/log/auth.log
  • enabled:设置为 true 以启用对SSH服务的监控。
  • port:设置为 ssh,或指定具体的端口号。
  • logpath:指定SSH日志文件路径。大多数系统上为 /var/log/auth.log。
  • maxretry:可以单独为SSH服务配置失败尝试次数
启动和管理Fail2ban

配置完成后,可以启动Fail2ban服务:

shell 复制代码
sudo systemctl start fail2ban
sudo systemctl enable fail2ban

通过如下命令查看服务启动状态

四、高级配置

为应对CVE-2024-6387漏洞,我们需要更严格的配置和规则。可以通过调整 bantime(封禁时间)、findtime(检测时间窗口)和 maxretry(最大尝试次数)来实现。

调整封禁策略

在 jail.local 中,添加或修改以下内容:

properties 复制代码
[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 3

这样配置后,如果某个IP在10分钟内尝试登录失败超过3次,该IP将被封禁1小时。

六、重启Fail2Ban

完成配置后,重启Fail2Ban以使配置生效:

bash 复制代码
sudo systemctl restart fail2ban

七、监控和日志查看

Fail2Ban运行时会生成日志,默认日志文件位于 /var/log/fail2ban.log。您可以通过查看此日志文件来监控Fail2Ban的运行状态和封禁情况。

bash 复制代码
tail -f /var/log/fail2ban.log

八、总结

Fail2Ban是一款强大的工具,可以显著提高服务器的安全性。通过合理配置,您可以有效防范包括CVE-2024-6387在内的各种攻击。定期更新和监控Fail2Ban的日志,是确保服务器安全运行的关键。

相关推荐
木卫二号Coding5 小时前
推荐Linux统计文件大小并操作删除工具-ncdu
linux·运维·服务器
志栋智能6 小时前
超自动化运维:实现IT服务消费化的基础
运维·自动化
198******126346 小时前
2026企业AI办公工具选型指南:从评估框架到场景适配
大数据·运维·人工智能
吴声子夜歌6 小时前
Nginx应用与运维——Nginx HTTP模块详解(数据处理功能模块)
运维·nginx·http
2601_967212726 小时前
专利型电源轨道系统技术路线对比与选型框架
大数据·运维·网络·经验分享
数字化顾问7 小时前
(138页PPT)流程体系的建设优化与运营(附下载方式)
大数据·运维·人工智能
2601_967287578 小时前
轮胎侧壁上的 91V 是什么意思,负荷指数与速度级别怎么看
运维·服务器·汽车
Ivanqhz8 小时前
层归一化、残差、前馈网络与激活函数简述
服务器·数据库·人工智能·深度学习·算法
小此方8 小时前
Linux网络(十九):TCP流量控制与滑动窗口详解,超时重传和快重传到底有什么区别
linux·运维·服务器·网络·网络协议·tcp/ip
海宇服务9 小时前
零信任架构实战:基于海宇运营商近3个月欠费次数构建自动化履约能力评估管线
运维·人工智能·架构·自动化