【 Fail2ban 使用教程】

Fail2ban 是一款基于日志监控的安全工具,可通过实时监控系统日志,对多次失败的登录尝试进行阻止,有效防止暴力破解攻击。以下是详细的使用教程:


1. 安装 Fail2ban

不同的操作系统安装方式不同,以下为你列举常见系统的安装方法:

  • Debian 或 Ubuntu:
sudo apt-get update
sudo apt-get install fail2ban
  • CentOS 或 RHEL:
sudo yum install epel-release
sudo yum install fail2ban
  • Fedora:
sudo dnf install fail2ban

2. 配置 Fail2ban

Fail2ban 的主要配置文件位于 /etc/fail2ban 目录下,其中 jail.conf 是默认配置文件,但不建议直接修改它,而是创建一个 jail.local 文件来覆盖默认配置。

2.1 创建 jail.local 文件

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

2.2 基本配置参数说明

jail.local 文件中,你可以对以下参数进行配置:

  • [DEFAULT] 部分:
    • ignoreip:指定不受 Fail2ban 限制的 IP 地址,多个 IP 地址用空格分隔。例如:
ignoreip = 127.0.0.1/8 192.168.1.0/24
  • bantime:设置封禁 IP 的时间,单位为秒。可以使用 m(分钟)、h(小时)、d(天)等单位。例如:
bantime = 600  # 封禁 10 分钟
  • findtime:在该时间段内,如果某个 IP 地址的失败尝试次数达到 maxretry,则会被封禁。例如:
findtime = 3600  # 1 小时内
  • maxretry:允许的最大失败尝试次数。例如:
maxretry = 3  # 允许 3 次失败尝试

2.3 配置具体服务的监控规则

jail.local 文件中,你可以为不同的服务添加监控规则。以下是一些常见服务的配置示例:

2.3.1 SSH 服务

[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log  # Debian/Ubuntu 系统
# logpath = /var/log/secure  # CentOS/RHEL 系统
maxretry = 3
bantime = 3600
  • enabled:设置为 true 表示启用该监控规则。
  • port:指定要监控的端口,ssh 表示默认的 SSH 端口 22。
  • filter:指定使用的过滤规则,sshd 是 Fail2ban 内置的 SSH 过滤规则。
  • logpath:指定 SSH 服务的日志文件路径。

2.3.2 Apache 服务

[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache2/error.log  # Debian/Ubuntu 系统
# logpath = /var/log/httpd/error_log  # CentOS/RHEL 系统
maxretry = 6
bantime = 3600

3. 启动和管理 Fail2ban

3.1 启动 Fail2ban 服务

sudo systemctl start fail2ban

3.2 设置 Fail2ban 开机自启

sudo systemctl enable fail2ban

3.3 检查 Fail2ban 服务状态

sudo systemctl status fail2ban

3.4 重新加载配置文件

当你修改了 jail.local 文件后,需要重新加载配置文件使更改生效:

sudo systemctl reload fail2ban

4. 查看和管理封禁列表

4.1 查看当前封禁的 IP 地址

sudo fail2ban-client status ssh  # 查看 SSH 服务的封禁列表

4.2 解除封禁某个 IP 地址

sudo fail2ban-client set ssh unbanip 192.168.1.100

5. 自定义过滤规则

如果你需要监控一些特殊的服务或日志格式,可以自定义过滤规则。过滤规则文件位于 /etc/fail2ban/filter.d 目录下。以下是一个简单的自定义过滤规则示例:

5.1 创建自定义过滤规则文件

sudo nano /etc/fail2ban/filter.d/custom-filter.conf

5.2 编写过滤规则

[Definition]
failregex = ^Your custom log pattern here$
ignoreregex =
  • failregex:指定匹配失败登录尝试的正则表达式。
  • ignoreregex:指定需要忽略的日志模式。

5.3 在 jail.local 文件中使用自定义过滤规则

[custom-service]
enabled = true
port = 8080
filter = custom-filter
logpath = /var/log/custom-service.log
maxretry = 3
bantime = 3600

通过以上步骤,你可以完成 Fail2ban 的安装、配置和使用,有效保护系统免受暴力破解攻击。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值