如何在 Ubuntu 20.04 中配置 sshguard?

Wol*_*ang 4 iptables ufw sshd 20.04

我之前通过简单安装sshguard软件包在 Ubuntu 16.04 上成功使用了 sshguard。然而,当我尝试在 20.04 上执行相同操作时,我发现它只是大部分有效:sshguard 正在记录块,并将它们添加到iptables --list sshguard,但块\xe2\x80\x99t 实际上没有生效。

\n\n

我需要做什么才能sshguard在 Focal Fossa 中充分发挥作用?

\n

Wol*_*ang 5

在 sshguard 上找到了 Arch Wiki 页面,它建议将以下内容添加到/etc/ufw/before.rules,就在# allow all on loopback块下方:

# hand off control for sshd to sshguard
:sshguard - [0:0]
-A ufw-before-input -p tcp --dport 22 -j sshguard
Run Code Online (Sandbox Code Playgroud)

将其添加到文件中并执行sudo systemctl restart ufw似乎已经成功了。


然而,您还应该进行另一项配置更改:Ubuntu 附带的 sshguard.conf 文件将导致 sshguard 重新触发其自己的日志消息,一旦犯了一个错误,就会立即禁止该 IP。(此错误似乎已在上游 debian 软件包中引入;sshguard 源中提供的示例没有此问题。)要解决此问题,请编辑/etc/sshguard/sshguard.confSYSLOG_FACILITYLOGREADER设置中删除选项,将其替换为-t sshd(以及可能的其他服务)您希望 sshguard 进行监控。)该设置应如下所示:

LOGREADER="LANG=C /bin/journalctl -afb -p info -n1 -o cat -t sshd"
Run Code Online (Sandbox Code Playgroud)

通过这两项更改,现在似乎可以按预期工作。