4. 本地安全

接下来要查看的是您的系统针对本地用户攻击的安全性。我们刚才说了本地用户?是的!

获得本地用户帐户的访问权限是系统入侵者在试图利用 root 帐户时尝试的首要事情之一。如果本地安全松懈,他们可以使用各种漏洞和配置不当的本地服务,将他们的普通用户访问权限“升级”为 root 访问权限。如果您确保本地安全严密,那么入侵者将需要跨越另一个障碍。

本地用户也可能对您的系统造成严重破坏,即使(特别是)他们真的是他们所说的那个人。为你不认识或没有联系方式的人提供帐户是非常糟糕的主意。

4.1. 创建新帐户

您应该确保为用户帐户提供他们完成任务所需的最低限度的权限。如果您为您的儿子(10 岁)提供一个帐户,您可能希望他只能访问文字处理器或绘图程序,但不能删除不属于他的数据。

当允许其他人合法访问您的 Linux 机器时,有几个好的经验法则

许多在安全漏洞中使用的本地用户帐户已经数月或数年未使用。由于没有人使用它们,它们提供了理想的攻击载体。

4.2. Root 安全

您的机器上最受追捧的帐户是 root(超级用户)帐户。此帐户对整个机器拥有权限,其中可能还包括对网络上其他机器的权限。请记住,您应该只将 root 帐户用于非常短的特定任务,并且大部分时间应该以普通用户身份运行。即使以 root 用户身份登录时犯下的小错误也可能导致问题。您拥有 root 权限的时间越少,您就越安全。

避免以 root 身份搞砸您自己机器的几个技巧

如果您绝对肯定需要允许某人(希望是非常信任的人)拥有您机器的 root 访问权限,则有一些工具可以提供帮助。sudo允许用户使用他们的密码以 root 身份访问有限的命令集。例如,这将允许用户能够弹出和挂载您 Linux 机器上的可移动媒体,但没有其他 root 权限。sudo还保留所有成功和不成功的 sudo 尝试的日志,允许您跟踪谁使用了什么命令做了什么。因此,即使在许多人拥有 root 访问权限的地方,sudo也能很好地工作,因为它有助于您跟踪所做的更改。

虽然sudo可以用于为特定用户提供特定任务的特定权限,但它确实存在一些缺点。它应该仅用于有限的任务集,例如重启服务器或添加新用户。任何提供 shell 转义的程序都将为通过sudo调用它的用户提供 root 访问权限。这包括大多数编辑器,例如。此外,像/bin/cat这样无害的程序也可以用于覆盖文件,这可能会导致 root 帐户被利用。将sudo视为一种问责制手段,并且不要期望它取代 root 用户并且仍然安全。