当前位置:首页 > 系统

Debian 12 上使用 Fail2Ban 来增强 SSH 的安全性

ym02303个月前 (03-24)系统532

使用 Fail2Ban 来增强 SSH 安全性是一个非常有效的选择,特别是针对暴力破解攻击。Fail2Ban 可以监控系统日志并自动封禁恶意 IP 地址,减少暴力破解的尝试。以下是配置 Fail2Ban 的步骤:

1. 安装 Fail2Ban

Debian 12 默认软件仓库中包含 Fail2Ban,可以通过以下命令安装:

apt update
apt install fail2ban

安装完成后,Fail2Ban 会自动启动。你可以使用以下命令检查其状态:

Copysystemctl status fail2ban

2. 配置 Fail2Ban

Fail2Ban 的配置文件位于 /etc/fail2ban/ 目录下。默认的全局配置文件是 /etc/fail2ban/jail.conf,但建议不要直接修改该文件,而是创建一个本地配置文件 /etc/fail2ban/jail.local 或者在 /etc/fail2ban/jail.d/ 目录下添加自定义配置。

创建本地配置文件

首先,复制默认配置文件并编辑:

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

配置 SSH 防护

在 jail.local 文件中,找到 [sshd] 部分,或者添加以下内容:

[sshd]
enabled  = true
port     = 22
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5
bantime  = 3600
findtime = 600


说明:

  • enabled = true:启用 SSH 防护。

  • port = 22:SSH 默认端口(如果更改过端口,请相应调整)。

  • filter = sshd:使用内置的 SSH 过滤器。

  • logpath = /var/log/auth.log:Debian 12 中 SSH 日志的默认路径。

  • maxretry = 5:如果超过 5 次登录失败,IP 将被封禁。

  • bantime = 3600:封禁时间为 1 小时(单位:秒,视情况调整)。

  • findtime = 600:统计失败登录尝试的时间窗口为 10 分钟。

完成后保存并退出编辑器。

3. 启动并测试 Fail2Ban

配置完成后,重启 Fail2Ban 以应用配置:

systemctl restart fail2ban

检查 Fail2Ban 是否正常运行:

fail2ban-client status

查看 SSH 防护的具体状态:

fail2ban-client status sshd

4. 监控和解禁

你可以随时查看被封禁的 IP 地址,并手动解禁:

查看被封禁的 IP

fail2ban-client get sshd banip

手动解禁某个 IP(如果误封)

fail2ban-client unban 目标IP

注意事项

  • 确保 SSH 服务(sshd)已启用并正常运行。

  • 如果使用了非标准日志路径,需要调整 logpath

  • 定期检查日志文件 /var/log/fail2ban.log,确保规则已生效。


扫描二维码推送至手机访问。

版权声明:本文由嘉睿博客发布,如需转载请注明出处。

本文链接:https://www.tius.cc/?id=61

分享给朋友:

“Debian 12 上使用 Fail2Ban 来增强 SSH 的安全性” 的相关文章

CentOS 6 时间,时区,设置修改及时间同步

CentOS 6 时间,时区,设置修改及时间同步

一、时区显示时区date --help 获取帮助…

Centos7 修改硬件时间和系统时间

Centos7 修改硬件时间和系统时间

要是用root查看系统时间[root@localhost ~]# date Tue Jun 13 10:20:13 CST 2017查看硬件时间[[root@localhost ~]# hwclock&nbs…

如何从命令行关闭或重启远程 Linux 主机?

如何从命令行关闭或重启远程 Linux 主机?

在远程管理 Linux 主机时,有时需要通过命令行关闭或重启主机。本文将详细介绍如何使用命令行在远程 Linux 主机上执行关闭或重启操作,以确保安全和便捷地管理远程系统。1. 远程连接到 Linux 主机在执行关闭或重启操作之前,首先需要通过 SSH(Secure Shell)或其他远程连接方式连…

timedatectl详解

timedatectl详解

一、timedatectl输出解析1.Local time本地时间,初始值来自于RTC,由内核维护,系统启动之后和RTC就没有关系,通常等于RTC+时区值(如上图的本地时间=RTC+8)2.Universal time系统时间永远是UTC,在应用程序使用的时候转换为本地时间3.RTC(real-ti…

一条命令永久激活 Windows 及 Office 重装自动激活

一条命令永久激活 Windows 及 Office 重装自动激活

采用硬件激活的方式,重装系统之后,联网也会自动激活激活方式可选硬件永久激活 WindowsOhook 永久激活 OfficeKMS 激活 Windows 至 2038 年KMS 激活 180 天当然这么厉害的工具,一定给大家找到出处。Github 上的开源项目 Microsoft-Acti…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。