SSHGuard 是一个开源守护进程,用于增强 ssh 以及其他网络协议的安全性。 此外,它用于防止暴力攻击。 它将持续监控并保留系统日志的跟踪记录,这有助于跟踪持续的登录尝试或恶意活动。 一旦检测到此类活动,它将立即使用防火墙后端(例如 pf、iptables 和 ipfw)阻止 IP。 然后它会在设定的时间间隔后解锁IP。 SSHGuard 支持多种日志格式,例如原始日志文件、Syslog-ng 和 Syslog,并为包括 ssh 在内的多种服务 postfix、Sendmail、vsftpd 等提供额外的层保护。
在本教程中,您将学习在 Ubuntu 20.04 中安装 SSHGuard 并配置系统以防止暴力攻击。 让我们从安装开始。
SSHGuard 安装
您可以从 apt 包管理器安装 sshguard; 您只需在终端中执行以下安装命令。 首先,我们总是需要在使用 apt 安装任何包之前更新包信息。
$ sudo apt update $ sudo apt install sshguard
SSHGuard 安装成功后,您可以使用 systemctl 守护进程检查 SSHGuard 的状态。 您将看到类似于以下的输出 example.
$ sudo systemctl status sshguard
在 Ubuntu 上配置 SSHGuard
默认远程主机禁止时间为 120 秒,每次连续失败的登录尝试都会将禁止时间增加 1.5 倍。 您可以配置 SSHGuard sshguard.conf 文件,您可以在以下路径中找到该文件。
$ sudo vim /etc/sshguard/sshguard.conf
正如你在上面看到的 example 有许多具有默认值的指令。 让我们重点介绍一些指令及其实际用途。
- 名为 BACKEND 的指令包含系统防火墙后端的路径。
- 名为 THRESHOLD 的指令指示用户将被阻止的尝试次数。
- BLOCKE_TIME 指令确定攻击者在连续不正确的登录尝试后保持被禁止的持续时间。
- DETECTION_TIME 指令确定检测/记录攻击者的时间。
- WHITELIST_FILE 指令包含包含已知主机列表的文件的路径。
然后,让我们使用系统防火墙来解决问题。 要阻止暴力攻击,您需要按以下方式配置防火墙。
$ sudo vim /etc/ufw/before.rules
然后,在打开的文件中添加以下代码行,就像 example 下面给出。
:sshguard - [0:0] -A ufw-before-input -p tcp --dport 22 -j sshguard
现在,写入并退出文件并重新启动防火墙。
$ sudo systemctl restart ufw
一旦一切就绪,您的系统就可以持续进行暴力攻击了。
将被阻止的主机列入白名单
白名单将允许被阻止的主机不受任何限制地重新登录系统。 要列入白名单,特定主机然后在位于以下目标的文件中指定主机的 IP。
$ sudo vim /etc/sshguard/whitelist
现在,将 IP 添加到白名单文件后,重新启动 SSHGuard 守护程序和防火墙后端以应用更改。
结论
在本教程中,我向您展示了怎样安装 SSHGuard 以及怎样配置安全软件以使系统能够持续进行暴力攻击并添加额外的安全层。
怎样在 Ubuntu 20.04 上安装和使用 SSHGuard
相关文章:
怎样在 Ubuntu Linux 上安装 Wine Windows 模拟器
Linux Mint 20 和 Ubuntu 20.04 中的救援和紧急模式
怎样在 Ubuntu 20.04 上安装 Gradle 构建工具
怎样在 Ubuntu 20.04 上安装和使用 SQLite