Files
StudyDiary/10-WebClipper/Linux系统Fail2ban安装配置测试与管理全流程-开发者社区-阿里云.md
T
2026-07-23 20:36:13 +08:00

198 lines
4.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
2025-02-05 2647 发布于四川
版权
举报
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 [阿里云开发者社区用户服务协议](https://developer.aliyun.com/article/768092)》和 《[阿里云开发者社区知识产权保护指引](https://developer.aliyun.com/article/768093)》。如果您发现本社区中有涉嫌抄袭的内容,填写 [侵权投诉表单](https://yida.alibaba-inc.com/o/right)进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
**简介:** 通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
Fail2ban是一款开源的入侵防护工具,通过监控日志文件来检测潜在的攻击行为,如暴力破解,并自动更新防火墙规则以阻止这些攻击。本文将详细介绍如何在Linux系统中安装和配置Fail2ban。
一、安装Fail2ban
------------
### 1\. 安装Fail2ban
在Debian/Ubuntu系统中,可以使用以下命令安装Fail2ban:
```null
sudo apt update
sudo apt install fail2ban
```
在CentOS/RHEL系统中,可以使用以下命令安装Fail2ban:
```null
sudo yum install epel-release
sudo yum install fail2ban
```
### 2\. 启动和启用Fail2ban服务
安装完成后,启动Fail2ban服务并设置为开机自启动:
```null
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
```
### 3\. 检查Fail2ban服务状态
可以使用以下命令检查Fail2ban服务的状态:
```null
sudo systemctl status fail2ban
```
二、配置Fail2ban
------------
### 1\. 创建本地配置文件
Fail2ban的默认配置文件位于 `/etc/fail2ban/jail.conf`,不建议直接修改该文件。相反,我们可以创建一个本地配置文件 `/etc/fail2ban/jail.local` 来覆盖默认设置。
```null
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
```
### 2\. 配置基本设置
打开并编辑 `/etc/fail2ban/jail.local` 文件:
```null
sudo nano /etc/fail2ban/jail.local
```
`[DEFAULT]` 部分,可以配置全局设置,例如:
```null
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
```
### 3\. 启用并配置具体服务
`jail.local` 文件中,配置具体服务的设置,例如SSH服务:
```null
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
```
确保将 `enabled` 设置为 `true`,以启用对SSH服务的保护。
三、Fail2ban 过滤器配置
----------------
Fail2ban 通过过滤器(filters)来解析日志文件中的失败尝试记录,并采取相应的措施。
### 1\. 查看默认过滤器
Fail2ban的默认过滤器文件位于 `/etc/fail2ban/filter.d/` 目录中。例如,SSH的过滤器文件是 `sshd.conf`
### 2\. 自定义过滤器
如果需要创建自定义过滤器,可以在 `/etc/fail2ban/filter.d/` 目录中创建新的过滤器文件,例如 `custom.conf`
```null
sudo nano /etc/fail2ban/filter.d/custom.conf
```
在文件中定义过滤规则,例如:
```null
[Definition]
failregex = <HOST> - - [.*] "GET /wp-login.php HTTP/1.1" 200
```
四、测试Fail2ban配置
--------------
### 1\. 测试配置文件语法
可以使用以下命令测试Fail2ban的配置文件语法:
```null
sudo fail2ban-client -d
```
### 2\. 手动测试过滤器
可以使用以下命令手动测试过滤器的匹配情况:
```null
sudo fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
```
五、管理Fail2ban
------------
### 1\. 查看被禁IP列表
使用以下命令查看当前被禁的IP列表:
```null
sudo fail2ban-client status sshd
```
### 2\. 手动解禁IP
使用以下命令手动解禁某个IP
```null
sudo fail2ban-client set sshd unbanip <IP_ADDRESS>
```
### 3\. 重启Fail2ban服务
每次修改配置后,需要重启Fail2ban服务以使更改生效:
```null
sudo systemctl restart fail2ban
```
六、总结
----
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
### 思维导图