为什么通过SSH登录root这么糟糕以至于每个人都建议禁用它?

Modified on: Sat, 30 Jun 2018 10:52:30 +0800

互联网上的每个人都建议通过SSH禁用root登录,因为这是一个不好的做法和安全漏洞。系统,但没有人解释为什么会这样。

启用root登录时有什么危险(特别是禁用密码登录)?

如果允许密码验证,从安全角度看X符号用户名和Y符号密码或root用户名和X + Y符号密码有什么区别?

作者:Tshepang,rush

最佳答案

为什么root over SSH是坏的

有很多机器人尝试通过SSH登录您的计算机。
这些机器人以下列方式工作。

他们执行类似ssh root@$IP的内容,然后他们尝试标准密码,如“root”或“password123”。
他们尽可能地这样做,直到找到正确的密码。
在全球可访问的服务器上,您可以在日志文件中看到许多日志条目。我每分钟可以达到20分钟。

当攻击者有运气(或足够的时间)并找到密码时,他们将拥有root访问权限,这意味着您遇到了麻烦。

但是当你不允许root用SSH登录时,僵尸程序需要先猜出一个用户名,然后再输入匹配的密码。
因此,假设合理密码列表中包含N条目,合理用户列表中M条目大。机器人有一组N*M条目要测试,所以这使得机器人比根本情况更难一点,因为它只是一组大小N

有些人会说这个额外的M并不是真正的安全增益,我同意它只是一个小的安全增强。但我更多地想到这一点,因为这些小挂锁本身并不安全,但它们阻碍了很多人轻松访问。这当然只有在您的机器没有其他标准用户名时才有效,例如tor或apache。

不允许root的更好理由是root可以在机器上造成比标准用户更多的伤害。因此,如果运气不好他们找到了您的密码,整个系统就会丢失,而使用标准用户帐户时您只能操纵该用户的文件(这仍然非常糟糕)。

在评论中提到普通用户可以有权使用sudo,如果猜到该用户的密码,系统也会完全丢失。

总之,我会说攻击者获取的用户密码无关紧要。当他们猜到一个密码时,你就不能再相信系统了。攻击者可以使用该用户的权限使用sudo执行命令,攻击者还可以利用系统中的弱点获得root权限。如果攻击者可以访问您的系统,您就不能再相信它了。

这里需要记住的是,系统中允许通过SSH登录的每个用户都是一个额外的弱点。
通过禁用root,您可以消除一个明显的弱点。

为什么SSH上的密码不好

禁用密码的原因非常简单。

  • 用户选择错误的密码!

尝试密码的整个想法仅在密码可猜测时才有效。
因此,当用户使用密码“pw123”时,您的系统就会变得不安全。
人们选择的密码的另一个问题是他们的密码永远不会真正随机,因为这很难记住。

此外,用户倾向于重复使用密码,使用密码登录Facebook或其Gmail帐户以及服务器。
因此,当黑客获得该用户的Facebook帐户密码时,他可以进入您的服务器。用户可能很容易通过网络钓鱼丢失它,或Facebook服务器可能被黑客入侵。

但是当您使用证书登录时,用户不会选择他的密码。
证书基于随机字符串,该字符串非常长,从1024位到4096位(~128 - 512个字符的密码)。
此外,此证书仅用于登录您的服务器,不用于任何外部服务。

链接

http://bsdly.blogspot.de/2013 /10/the-hail-mary-cloud-and-lessons-learned.html

这篇文章来自评论,我想给它一些更突出的位置,因为它更深入地探讨了尝试通过SSH登录的僵尸网络问题,它们是如何做到的,日志文件是如何进行的看起来和人们可以做些什么来制止它们。它由Peter Hansteen撰写。


相关问答

添加新评论