首次打开 SSH 服务器到互联网,需要检查什么

首次打开 SSH 服务器到互联网,需要检查什么

我已经运行一些服务器相对较长的时间,但我一直只是租用它们,所以我没有太多保护实际服务器(而不是我在其上运行的应用程序)的经验。

现在我想将我家里的小型 SSH 服务器开放到互联网上。

我将是唯一使用它的人,我的密码已经够复杂了,我已经将默认的 SSH 端口更改为 4000 左右,唯一可访问的端口是通过路由器/防火墙上的端口转发访问的这个 SSH 端口,并且它每晚都会自动更新(它运行 Arch Linux,一个滚动发布的发行版)。

如果有的话,我还应该做些什么来保证它的安全?

谢谢!

答案1

确保禁用 root 登录PermitRootLogin no。我还考虑完全禁用密码PasswordAuthentication no并使用公钥PubkeyAuthentication yes

答案2

确保只允许 SSH-2(因为 SSH-1 引发了一些安全问题在过去):

Protocol 2

指定仅允许哪些用户通过 SSH 登录:

AllowUsers bob, john

为了提高安全性,不允许密码验证并使用公钥验证:

PasswordAuthentication no
PubkeyAuthentication yes

笔记:本教程包含创建密钥和配置公钥认证的说明。

答案3

除了禁用 root 登录或仅使用公钥身份验证的要点外,我还会仔细检查系统上是否存在密码简单或为空的用户帐户。您说您的个人密码没有问题,但这并不排除由于其他原因而创建密码较差的帐户的可能性。

举个例子:我必须修复一个网络,其中以前的管理员在他的所有系统上从源代码安装了 nagios,并创建了一个没有密码或密码为“nagios”的 nagios 用户,然后继续攻击三台不同的机器。

答案4

我建议您安装Fail2ban!http://www.fail2ban.org

它会在 x 次尝试失败后 y 分钟内禁止某个 IP,以帮助控制脚本小子 ;)

相关内容