收起左侧

使用fail2ban防止ssh爆破

1
回复
239
查看
[ 复制链接 ]

2

主题

2

回帖

0

牛值

江湖小虾

2026-3-29 13:14:59 显示全部楼层 阅读模式

看日志发现最近很多非法爆破ip

image.png

需要用到root权限。如果你登录不到root权限、说明本方法将不适用你、建议不用的时候关闭ssh服务、或者更改ssh端口

安装 fail2ban 自动封爆破 IP

apt install fail2ban

启动并开机自启:

systemctl enable--now fail2ban

一、不要直接改默认配置

默认配置文件:/etc/fail2ban/jail.conf (升级会被覆盖!)

新建一个自定义配置:

vim /etc/fail2ban/jail.local

二、建议SSH 防护配置

ini

[DEFAULT]

封禁时间:单位秒

1小时 = 3600

1天 = 86400

7天 = 604800

bantime = 86400

在多长时间内失败算累计(秒)

findtime = 600

最大失败次数(超过就封)

maxretry = 2

自动解封后,再次失败直接封更久

bantime.increment = true
bantime.factor = 3
bantime.maxtime = 604800

忽略本机IP,永远不封自己

ignoreip = 127.0.0.1/8 ::1

你的固定IP/办公IP,写在这里永远不被封

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 你的公网IP

[sshd]
enabled = true
port = ssh

如果你改了SSH端口,把上面改成:

port = 22345

logpath = %(sshd_log)s
backend = %(sshd_backend)s

三、参数解释

  • bantime = 86400

    封 24 小时

  • findtime = 600

    10 分钟内

  • maxretry = 2

    失败 2 次直接拉黑

  • ignoreip

    白名单 IP,永远不封(一定要写你的本机 / 办公 IP)

  • bantime.increment = true

    累犯加重处罚:

    第一次封 1 天 → 再犯封 3 天 → 再犯 7 天 → 最长 7 天

四、配置完重启生效

systemctl restart fail2ban

查看状态:

fail2ban-client status sshd

五、常用命令(必须收藏)

  1. 看被封的 IP
fail2ban-client status sshd
  1. 手动封一个 IP
fail2ban-client set sshd banip 1.2.3.4
  1. 手动解封 IP
fail2ban-client set sshd unbanip 1.2.3.4
  1. 看日志
tail -f /var/log/fail2ban.log

另外日志还有一个bug持续好几个版本、望改正

image.png

image.png

image.png

收藏
送赞 2
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

2

主题

2

回帖

0

牛值

江湖小虾

2026-3-29 16:11:28 楼主 显示全部楼层
[DEFAULT]
# 封禁时间:单位 秒
# 1小时 = 3600
# 1天 = 86400
# 7天 = 604800
bantime = 86400

# 在多长时间内失败算累计(秒)
findtime = 600

# 最大失败次数(超过就封)
maxretry = 3

# 自动解封后,再次失败直接封更久
bantime.increment = true
bantime.factor = 3
bantime.maxtime = 604800

# 忽略本机IP,永远不封自己
ignoreip = 127.0.0.1/8 ::1

# 你的固定IP/办公IP,写在这里永远不被封
# ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 你的公网IP


[sshd]
enabled = true
port = ssh
# 如果你改了SSH端口,把上面改成:
# port = 22345
logpath = %(sshd_log)s
backend = %(sshd_backend)s
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则