侧边栏壁纸
博主头像
GG's Blog博主等级

行动起来,活在当下

  • 累计撰写 23 篇文章
  • 累计创建 12 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

SSH防爆破-fail2ban

mrqinzh
2024-05-03 / 0 评论 / 0 点赞 / 53 阅读 / 2181 字

项目地址:https://github.com/fail2ban/fail2ban

背景:

最近研究1panel时,发现服务器在被别人暴力破解,为了防御,看见上面提示可通过工具箱中的 Fail2ban 屏蔽暴力破解 IP,从而保护主机安全。遍去了解了一番。

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

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

安装

sudo apt install fail2ban

配置

fail2ban安装路径为 /etc/fail2ban

fail2ban在安装时会创建两个默认的配置文件/etc/fail2ban/jail.d/defaults-debian.conf和/etc/fail2ban/jail.conf。我们不建议直接修改这些文件,因为更新fail2ban时它们可能会被覆盖。

fail2ban将按以下顺序读取配置文件。每个.local文件都会覆盖.conf文件中的设置:

  • /etc/fail2ban/jail.conf

  • /etc/fail2ban/jail.d/*.conf

  • /etc/fail2ban/jail.local

  • /etc/fail2ban/jail.d/*.local

每个.local文件都会覆盖.conf文件中的设置。配置fail2ban的最简单方法是将jail.conf复制到jail.local并修改.local文件。你也可以从头开始构建.local配置文件。

示例

[sshd]
enable = true # 启用对sshd服务的保护,即当满足触发条件时会对IP地址进行封禁
maxretry = 3 # 允许尝试登录的最大次数,超过这个次数会触发封禁机制
findtime = 1h # 触发封禁的时间窗口,即在这个时间段内累积超过maxretry次登录失败会被封禁
bantime = 3h # 封禁的时间,即被封禁IP地址被阻止访问服务的时间长度
ignoreip = 192.168.31.1 # 指定不需要被fail2ban封禁的IP地址,即对该IP地址的登录失败次数不会计入封禁机制

运行

sudo systemctl start fail2ban # 启动服务

sudo systemctl enable fail2ban # 开机自启

Fail2ban客户端

fail2ban-client -h # 客户端命令帮助

fail2ban-client status {服务名} # 检查服务状态

fail2ban-client set {服务名} unbanip {ip} # 解封ip

fail2ban-client set {服务名} banip {ip} # 封禁ip

0

评论区