SDB:安装和配置 sshguard
本文或章节引用的是版本 '11.1',现在已经过时!
请参阅本文的页面以获取更多信息。
请参阅本文的页面以获取更多信息。
sshguard 可以帮助您使您的 SSH 服务器比以往更加安全。本文档解释了如何获取、安装和配置 sshguard。
通用
sshguard 独立于 SSHD 守护进程和脚本工作。它开箱即用地监控多个系统日志。当发生多次无效登录尝试时,将在您的防火墙中创建一个条目,以在未来阻止攻击者。虽然最初是为保护 SSH 服务器而创建的,但现在它支持许多其他协议服务器。
Sshguard 正在积极维护中。它支持 IPv6、白名单和日志身份验证,并与所有主要的防火墙系统接口。
安装
Sshguard 不可用于 openSUSE 仓库。因此,请从 SourceForge 或其他可靠来源获取 sshguard 软件的副本。最好(如果可用)获取 RPM 版本以便于安装。在您希望保护的 SSH 服务器上安装 RPM 包。最简单的方法是使用
$ rpm -Uvh sshguard-package-name.rpm
防火墙配置
SuSEfirewall2 防火墙系统非常强大,但不幸的是,可能不清楚将其他规则放置在哪里,以便它们是永久性的并与内置的 openSUSE 防火墙配置工具互操作。
- 1. 编辑 /etc/sysconfig/scripts/SuSEfirewall2-custom 文件。将这些行添加到 fw_custom_before_port_handling 部分,在 "true" 语句之前
## For SSHguard, regular IPv4 support: iptables -N sshguard
- 2. 将这些行添加到同一文件的 fw_custom_before_denyall 部分,在 "true" 语句之前
## For SSHguard iptables -A INPUT -j sshguard
- 3. 通过将此行添加到 /etc/sysconfig/SuSEfirewall2 文件来激活防火墙规则自定义。
FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"
- 4. 使用以下命令重新启动防火墙,或等待系统稍后重置。
$ /etc/init.d/SuSEfirewall2_init restart
AppArmor 配置
是下一代 chroot,可防止服务进程或守护进程在受到攻击时执行超出其应有的操作。与其冒险禁用这项有价值的服务,不如相对容易地重新配置它以允许 sshguard 执行其工作。
- 1. 将以下行添加到 /etc/apparmor.d/sbin.syslog-ng 文件
# allow syslog-ng to launch and pipe information to sshguard /usr/sbin/sshguard pxr, /bin/bash ix,
- 2. 创建以下文件并将其保存为 /etc/apparmor.d/usr.sbin.sshguard
#include <tunables/global>
/usr/sbin/sshguard {
#include <abstractions/base>
/usr/sbin/iptables Ux,
}
现在重新启动您的系统。
syslog-ng
在旧版本的 sshguard 中,需要配置 syslog-ng 将消息导出到 sshguard。现在不再需要这样做。Sshguard 会自动处理此操作