Sshguard

来自 阿尔派 Linux

sshguard 保护主机免受针对 SSH 和其他服务的暴力攻击。它聚合系统日志,并使用多种防火墙后端(包括 iptables、ipfw 和 pf)阻止重复攻击者。

sshguard 可以从标准输入(适合从 syslog 管道输入)读取日志消息,或监控一个或多个日志文件。日志消息按行解析,查找识别的模式。如果检测到攻击(例如几秒钟内多次登录失败),则会阻止攻击者的 IP。攻击者会在设定的时间间隔后解除阻止,但可以使用黑名单选项进行半永久性禁止。

sshguard 不支持自定义日志解析。请查看网站以了解他们支持哪些服务。

安装

Sshguard 可以使用多个后端,您可以使用 ls /usr/libexec/sshg-fw* 查看它们。在 Alpine 上最简单的后端是 nftables。安装 sshguard 后,您需要创建一个配置文件,否则它将无法启动。

apk add sshguard nftables

Contents of /etc/sshguard.conf

#!/bin/sh BACKEND='/usr/libexec/sshg-fw-nft-sets' FILES='/var/log/messages'

您可以使用 nft list ruleset 查看规则。

Iptables 后端

要使用 iptables 后端,您必须首先创建一个名为 "sshguard" 的链。启用 iptables-service 以在关机时保存规则并在启动时重新加载它们

iptables -N sshguard iptables -A INPUT -j sshguard rc-update add iptables boot

您可以使用 iptables -L 查看规则。