为什么为了安全而禁用 root 是必需的?

信息安全 ubuntu
2021-08-31 17:16:58

这个关于服务器强化的页面声称:

出于安全原因,必须禁用 root 帐户。

为什么出于安全原因需要禁用 root 帐户?

4个回答

如果您没有使用 Root,那么您使用的是 sudo!Sudo 是仅在需要时成为 root 的好方法。

  1. 根是一个巨大的目标。root的用户名是什么?根!我太聪明了:)
  2. 记录。sudo 具有更强大的审计日志命令(因此当有人使用 sudo 做一些愚蠢的事情时,您可以向中央日志服务器报告他们)。在某些情况下,这有助于取证分析。
  3. 细粒度的权限。Root 是一把大锤子。不要将 BFH 交给您的用户。Sudo 允许您指定用户可以在没有密码的情况下运行 aptitude 等更新命令,但一切都不受限制!你不能用 root 的 BFH 做到这一点。IT 允许您灵活地为用户批准某些命令,但不允许其他命令。这允许您构建一个安全策略,不需要管理员在每次需要更新机器(或其他琐碎任务)时物理登录机器。
  4. 防白痴。为什么不给用户一个BFH?因为他们很笨。为什么我使用 sudo 而不是 root?我很笨。愚蠢意味着错误,错误意味着安全漏洞和系统管理员问题。

您链接到的网站在解释他们让您做什么方面非常糟糕。没有禁用root 帐户,而是禁用了 root 的密码。就是passwd -l这样。

这些说明的目的是让人们无法以 root 用户身份登录,因为 root 帐户很容易被猜到。我不确定他们创建具有“难以猜测的名称”的伪用户的方法是否会更加安全......

这是大型机时代的一个古老传统。这个想法是root可以对机器做他想做的事,包括更换内核或破坏 UEFI 变量,这可能会使机器变砖。而非root帐户则不能——除非该帐户通过 获得管理权限sudo,这就是您在 Ubuntu 中所拥有的,并且它完全破坏了上述基本原理。

真的,禁用该root帐户现在专门用于安抚长老神,他们:

  1. 脾气暴躁;
  2. 已过时;
  3. 已经死了几十年,但仍然受到一个强大的大祭司种姓的崇拜,统称为“一致性审计师”。

实际上,您的数字生活完全可以从您的普通用户帐户访问,因此对root用户进行任何保护都没有多大意义。root/non-root区别混淆已成为过去,当时机器是由数百名可能相互敌对的用户共享的大型服务器。

请注意(至少在 Ubuntu 及其衍生产品上),禁用 root 密码需要权衡取舍。

如果您的系统发生灾难,您需要从控制台将系统引导到恢复(或单用户)模式。如果 root 密码被禁用(默认情况下),则在启动到单用户模式时不需要任何身份验证,因为 root 帐户没有用于此目的的凭据,并且不能保证其他帐户在这种情况下工作。这由 sulogin 程序中的特殊情况代码处理。

不过,总的来说,这是一个简单的交易:您可以防止一整类远程攻击,同时将系统开放给来自物理控制台的未经身份验证的 root 登录。请记住,无论如何,您永远无法保护系统免受攻击者的物理访问。这就是为什么存在具有电子访问控制的安全数据中心的原因。