debian 系统使用 fail2ban 教程

debian 系统使用 fail2ban 教程

老阳
2024-07-25 / 0 评论 / 47 阅读 / 正在检测是否收录...

作用:限制 ssh 远程登录,防止被人爆破服务器,封禁登录 ip

使用 lastb 命令可查看到登录失败的用户及 ip,无时无刻的不在爆破服务器

fail2ban 底层使用系统防火墙来实现屏蔽恶意 IP 地址的功能

fail2ban 默认使用 iptables 作为底层防火墙工具,如果系统防火墙工具是 nftables,则需在配置 fail2ban 时需指明 action,具体看配置文件。

常用命令:

# 查看登录失败记录

# centos 7.6
tail -100f /var/log/secure | grep "Failed"

# debian 11、12
tail -100f /var/log/auth.log | grep "Failed"

# 查看 fail2ban 日志
tail -f /var/log/fail2ban.log

# 查看 fail2ban 黑名单
fail2ban-client status sshd

# -n 2: 这个参数指定每 2 秒刷新一次输出。您可以根据需要调整这个时间间隔
# 'lastb -n 10': 单引号内是您希望执行的命令
watch -n 2 'lastb -n 10'

1.安装 fail2ban

apt install -y fail2ban

2.配置 fail2ban 封禁 ip 的规则

(1)进入目录并创建 sshd.local 文件

cd /etc/fail2ban/jail.d
vi sshd.local

(2)在 sshd.local 里写入以下内容

[sshd]
enable = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 1h
bantime = 3h
ignoreip = 192.168.31.1

# fail2ban 默认底层使用iptables,如果系统防火墙是nftables,需要放开下面一行
# action = nftables-multiport[name=SSH, port="%(port)s", protocol=tcp]

参数含义:

  • enable = true: 启用对 sshd 服务的保护,即当满足触发条件时会对 IP 地址进行封禁。
  • port = 22: 监控的 SSH 服务端口为 22。
  • filter = sshd: 表示使用 sshd 过滤器来分析日志。
  • logpath = /var/log/auth.log: 表示分析的日志文件为 /var/log/auth.log。
  • maxretry = 3: 允许尝试登录的最大次数,超过这个次数会触发封禁机制。
  • findtime = 1h: 触发封禁的时间窗口,即在这个时间段内累积超过 maxretry 次登录失败会被封禁。
  • bantime = 3h: 封禁的时间,即被封禁 IP 地址被阻止访问服务的时间长度。
  • ignoreip = 192.168.31.1: 指定不需要被 fail2ban 封禁的 IP 地址,即对该 IP 地址的登录失败次数不会计入封禁机制。

3.运行 fail2ban

(1)启动服务

systemctl start fail2ban

(2)设置开机自启动

systemctl enable fail2ban

(3)查看状态

fail2ban-client status

(4)查看当前状态报告

fail2ban-client status sshd

image.png

  • Total failed: 表示当前登录失败的数量
  • Total banned: 表示当前封禁的 ip 数量
  • Banned IP list: 表示具体封禁的 ip 有哪些

(5)手动解封 ip

fail2ban-client set sshd unbanip 222.10.31.33

表示从已封禁的 ip 中解封 222.10.31.33

(6)手动封禁 ip

fail2ban-client set sshd banip 88.99.184.62

4. linux 可以统一使用以下命令查看系统防火墙黑名单

# 如果底层使用的是 iptables 防火墙
iptables -L -n

# 如果底层使用的是 nftables 防火墙
nft list ruleset
nft list set inet f2b-table addr-set-SSH
0

评论 (0)

取消