Solaris 11 sshd 暴力破解保护。Solaris 11 的 DenyHosts 等效版本

Solaris 11 sshd 暴力破解保护。Solaris 11 的 DenyHosts 等效版本

我经常在 x86 solaris 11.1 服务器上尝试暴力破解 ssh。在 Linux 上,我使用 DenyHosts 在多次错误登录尝试后阻止连接。是否有适用于 Solaris 11.1 的类似软件包或有关其他防止暴力破解 ssh 的替代方法的建议?

答案1

还有其他方法可以防止 ssh 暴力破解吗?

更改 SSH 运行的端口。暴力破解尝试主要针对端口 22。

$ sudo grep ^Port /etc/ssh/sshd_config 
Port 10022

限制用户允许连接, 例如:

$ sudo grep ^AllowUsers /etc/ssh/sshd_config 
AllowUsers dannix
AllowUsers [email protected].*
AllowUsers [email protected]

禁用 root 登录:

$ sudo grep ^PermitRootLogin /etc/ssh/sshd_config 
PermitRootLogin no

使用公钥认证而不是密码。

禁用基于密码的身份验证(仅当您使用公钥身份验证时才执行此操作):

$ sudo grep ^PasswordAuthentication /etc/ssh/sshd_config 
PasswordAuthentication no

此外,您可以使用防火墙规则来限制哪些远程主机可以访问您系统上的 SSH。

答案2

Gene 建议的解决方案要求您知道谁将从哪里进行连接。如果这符合您的需求,那么您应该使用它。这很简单。无论如何,您都应该始终禁用 SSH 守护进程中的 root 登录。(在 Solaris 11 及更高版本中,无论如何都无法以 root 身份从外部登录到框中(因为 root 已成为一个角色,而不是用户),因此将该限制放入 SSH 守护进程的配置中实际上不会改变任何东西 - 但我仍然建议这样做)。

如果你已经熟悉拒绝主机为什么不也可以在 Solaris 上使用它

无论如何,另一个解决方案(适用于 Solaris)是详细的这里。它通过在后台维护“黑名单”来阻止暴力攻击。如果同一个 IP 在 Y 秒内发送了 X 次连接尝试,则将其列入黑名单,并且不允许该 IP 进一步尝试。通常,您需要一个 1 小时的宵禁,之后将删除特定 IP 的黑名单。链接中的解决方案的优点在于它不需要任何额外的软件。它实际上只是一个在每次 SSH 连接尝试时执行的脚本,并且在 Solaris 11 上它非常非侵入性,因为您不必更改任何系统设置、安装其他软件包或类似的东西。

答案3

在这种情况下,您可以在 SunOS 中使用MaxStartups和。但最好在接触Solaris之前阻止这些尝试。LoginGraceTimesshd_configsshdipf

您可以在这里找到经常更新的要阻止的 IP 列表:开放的BL我很少在日志中看到尝试,只是使用了这个黑名单。

然后,您可以组装 cron 作业脚本来更新 FW 规则,或者选择使用hosts.deny格式化的文件。

相关内容