EC2 实例中没有 SSH 根登录——真正的意义是什么?

EC2 实例中没有 SSH 根登录——真正的意义是什么?

我的问题不是如何获取它,我知道可以通过将密钥从 ubuntu-user 的文件夹复制到 root 的文件夹来完成。

我的问题是关于了解默认限制之后的动机。

我读过的每一篇文章、帖子、教程等都解释说这样配置是由于安全问题,为了改进它,但由于 EC2s 同时建议不要为 root 用户分配密码,任何以 ubuntu 用户身份访问系统的人都可以立即以 root 身份访问,所以我不明白这种动机。

我想这也可能是因为许多攻击可能使用 root 作为默认用户,因此使用另一个不太常见的用户可能是个好主意,但同样,由于每个 EC2(显然是带有 Ubuntu 的 EC2)中的默认用户都是 ubuntu,这似乎也不是这样做的好动机。

最后,我猜使用 ubuntu 用户而不是直接使用 root 可能更安全,就像一个“个人防火墙”,我的意思是,只要一个人必须执行“sudo -i”才能成为 root,他就可以避免犯一些错误,因为在那 2 秒钟内他可以有机会思考“等等,我要运行的这个命令可能不是一个好主意......”,而这一点我确实理解,但这对我来说是唯一真正真实的。

总而言之,我的问题是,如果我允许通过 SSH 进行 root 登录,或者在允许 SSH root 登录时我是否遗漏了任何重要/真正的安全点,那么最后一点是否是我唯一应该担心的?

答案1

是的,你忽略了要点。也就是说,没有密码的用户无法登录,因此取消设置 root 密码将禁止任何人以 root 身份登录,但 sudoers 仍然可以访问 root shell 并以 root 权限执行命令。禁止 root 从 ssh 登录是个好主意,因为许多攻击都尝试对用户进行字典攻击,因此 root/admin/public 非常容易受到攻击。

答案2

大多数 VM 映像都以这种方式配置实际上有几个原因。

一是用户经常将默认用户配置为使用密码登录,即使他们最初没有这样设置,许多机器人会尝试对 root 用户进行字典攻击。如果默认用户不是 root,攻击者还必须尝试猜测默认用户的名称密码,这需要更多资源,因此攻击者在使用时更容易被发现fail2ban。限制 root 登录会使事情变得更加困难,而安全的关键在于纵深防御。

另一个原因是,最好尽可能不要以 root 身份运行。长期使用 Unix 的用户总是希望以非特权用户身份运行,并且只在需要时才使用 sudo 以 root 身份运行。这样可以减少错误带来的麻烦,并且当有多个用户时,审计会变得更容易,因为您可以看到谁登录了以及做了什么。因此,为默认的非特权用户提供 sudo 权限会以大多数用户想要使用的方式默认配置系统。

如果你配置节点供个人使用如果您只使用 SSH 密钥(即在配置中完全禁用密码和质询-响应身份验证),那么以 root 身份使用 SSH 是可以的。但请注意,对于具有多个用户的系统或企业环境,这不是一个好的做法。

相关内容