超安全 Linux 服务器 仅 SSH

超安全 Linux 服务器 仅 SSH

我正在设置一个安全服务器,仅供我存储加密文件,但需要通过互联网访问。服务器本身位于安全位置,无需物理访问,这很好,但我更担心互联网方​​面。我打算使用 Ubuntu,除了打开 ssh 之外,不使用任何其他软件。

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

答案1

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

例如,参见我对这个主题的论述更多详细信息(包括防火墙规则中应放置这些内容的位置,事情)。

其他受访者建议仅允许基于密钥的 ssh彻底赞同,因为它使暴力密码猜测变得毫无用处;但你甚至可以更进一步,只允许双重身份验证,请参阅我对 Yubikey 的评价了解更多详细信息。

答案2

为了超级安全,仅允许 SSHKEY 输入,而不允许密码登录。

答案3

对于 SSH,我建议切换到仅使用密钥的身份验证。关闭对守护进程的 root 访问权限和密码身份验证。一旦基于密钥的身份验证成为唯一进入方式,就真的不需要像您建议的那样“锁定”。这实际上只是一种减缓暴力密码攻击有效性的有效方法。

iptables 网站已经由@MadHatter 回答。

答案4

以下是保护 Linux ssh。这包括设置(和仅使用)公钥认证、禁用 root 登录(和设置 sudo)以及使用非标准端口。

这是一个iptables 指南

相关内容