超安全 Linux 服务器 仅限 SSH

2 security linux ssh iptables

我正在设置一个仅用于存储加密文件的安全服务器,但需要从 Internet 访问它。服务器本身位于安全的位置,没有物理访问权限,这很好,但我更担心互联网方​​面。我正在考虑在没有其他软件的情况下使用 Ubuntu,除了开放的 ssh。

如何设置 iptables 以阻止除 ssh 之外的所有连接?以及如何设置 open ssh 以锁定超过 2 次的失败尝试?

Mad*_*ter 5

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 上的文章