我最近在 EC2 上安装了 Amazon Linux 来运行 NodeJS 应用程序。
建议以非 root 用户身份运行它们。这个用户仍然是我,所以不用担心其他人可以访问 vim,这不在列表中。
我添加了一个 newuser,现在 newuser 具有与 root 相同的 sudo 权限。那么现在怎么样才更安全呢?仅仅是因为 newuser 必须输入密码才能运行命令吗?
答案1
因为您可以在 newuser 中定义一组特定的命令,该命令/etc/sudoers
仅限于以提升的权限运行。理想情况下,您会找出需要的最少命令并将其限制于此。如果可以的话,不要允许该帐户以 root 身份执行所有命令。
接下来,您不允许 root 通过 ssh 登录。 (/etc/ssh/sshd_config
, 放PermitRootLogin no
)。您始终以自己的身份登录,而不是 root,然后根据需要使用 sudo 。
答案2
如果恶意用户访问了您的登录信息并且您拥有不受限制的sudo
访问权限,那么您是对的:sudo
与直接使用 shell 相比,访问不会提供任何额外的障碍root
。 (无论如何,这可能是他们使用访问权限要做的第一件事sudo
。)
然而,如果只是你使用它,使用正常的权限,除非你实际上需要root 访问权限可以帮助防止一些令人不快的错误。
这不是一个安全点;而是一个安全点。这是预防事故的一个点。
这已在本网站的其他地方进行了广泛讨论:
注意:在企业环境中设置sudo
对非常特定命令的访问限制当然是一个实际的安全优势。在我上面的陈述中,我指的是个人计算机,并回答这个问题:“为什么不受限制的sudo
访问比root
直接使用 shell 更好,即使在个人计算机上也是如此?” 这是更可取的,因为它可以防止事故。