我正在考虑使用空白的 root/Administrator 密码运行公共 Web 和应用程序服务器,并且我想知道这是否是一个糟糕的政策。
我认为没有密码有几个好处。“无密码”不会被暴力破解、丢失、遗忘或落入他人之手。管理员需要使用个人帐户登录,这样可以更轻松地查看谁有访问权限以及在做什么,而不必跟踪谁知道 root 密码。如果您设法将自己锁定在外,则可以轻松重新激活任何可以物理访问该机器的帐户。
我主要运行 Ubuntu 14 和 Windows Server 2008 服务器,默认情况下,这两种服务器都拒绝没有密码的帐户远程登录。Linux 计算机通过 SSH 访问,Windows 计算机通过 RDP 访问,SSH 通过 Copssh 访问。该服务器的物理保护足以满足实际用途,任何设法获得访问权限的人都可以造成破坏,无论密码如何。
问题是,这可能是一个好的安全策略,还是这里有我没有想到的实际考虑因素?具体来说,Windows 或 Linux 中是否有任何特定服务可以允许通过使用空白密码的帐户远程访问计算机?
答案1
答案2
您说得对,您的管理员应该使用个人用户帐户。共享帐户从各方面来说都是个坏主意。
在 Windows 方面,空密码的想法似乎很糟糕。任何设法在计算机上获得非特权本地代码执行的人都将拥有很多我认为,使用空白 RID 500 管理员密码可以更轻松地提升权限。即使使用策略设置来限制控制台的空白密码登录,您仍面临风险,因为 Microsoft 错过了一种远程使用空白密码的方法。
没有人需要 Windows RID 500 管理员密码,因此“跟踪”知道该密码的人是不必要的。在安装期间将其设置为一个较长、随机、高熵的字符串,将其物理记录下来,并锁定该物理记录。
在我看来,这种空白密码策略的风险/回报方程式不平衡。
答案3
千万不要考虑给 root 用户设置空白密码。如果这样做,很容易将非 root 用户入侵转变为 root 用户入侵。
请考虑多种可能的情况之一:
攻击者利用未修补的漏洞来破坏 Web 服务器或 Web 服务器所服务的应用程序。他以 Web 服务器的用户身份运行 shell。使用空白 root 密码,他只需执行su
即可获得 root 权限。
答案4
我认为目前的答案没有完全回答这个问题。原始问题是“我发现没有密码有几个好处。”但所有答案都谈到了空白密码。
那么问题是:空白和无一样吗?
目前,托管服务提供商提供使用上传的公共 SSH 密钥设置服务器的可能性。这非常方便,因为这意味着在设置新服务器时可以少做一件事。
自从数字海洋已经提到,有必要指出的是,在这种情况下
使用 SSH-keys 时,无需设置 root 密码。
这当然不同于说 root 用户的密码为空(我认为空与未定义不同)
所以现在的问题是,是否可以完全不使用密码来设置 root 帐户。在理想情况下,我猜这比使用任何可以想象的密码更安全,因为没有密码可以匹配。但我不敢说我 100% 确定这一点。有人可以证实这一点吗?
编辑: 事实证明,我的猜测在一段时间内只会停留在理想状态。我在 DigitalOcean 中创建了一张支持单,答案如下:
使用 ssh-keys 时无需设置 root 密码,这一点没错。建议登录后使用“passwd”设置一个。
就是这样。在初始设置期间使用 SSH 私钥是安全的,但仍需执行 passwd。