我正在设置一个仅用于存储加密文件的安全服务器,但需要从 Internet 访问它。服务器本身位于安全的位置,没有物理访问权限,这很好,但我更担心互联网方面。我正在考虑在没有其他软件的情况下使用 Ubuntu,除了开放的 ssh。
如何设置 iptables 以阻止除 ssh 之外的所有连接?以及如何设置 open ssh 以锁定超过 2 次的失败尝试?
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --name sshattack --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name sshattack --rcheck --seconds 60 --hitcount 4 -j LOG --log-prefix 'SSH REJECT: '
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name sshattack --rcheck --seconds 60 --hitcount 4 -j REJECT --reject-with tcp-reset
Run Code Online (Sandbox Code Playgroud)
见,例如,我的关于这个问题的书面记录的更多详细资料(包括你的防火墙规则在哪里放置这些,这确实物质)。
其他受访者的建议只允许基于密钥的 ssh 我完全赞同,因为它使蛮力密码猜测无用;但是您可以更进一步,只允许两因素身份验证,有关详细信息,请参阅我在 yubikey 上的文章。
| 归档时间: |
|
| 查看次数: |
981 次 |
| 最近记录: |