如何保护我的用户密码和密码免受 root 的攻击

如何保护我的用户密码和密码免受 root 的攻击

sudo我如何安全地访问我拥有权限但管理员也拥有远程根访问权限的计算机中的“我的”Web 服务和帐户?

细节

我使用连接到(大型)封闭/受限 LAN 的台式机。即使登录系统也只有连接到局域网才能成功。

当然,管理员具有远程 root 访问权限(我建议更改并选择基于无密码 ssh 密钥的身份验证)。另外,我的用户 ID 被分配给 sudoers 组,即在文件中/etc/sudoers,有:

userid ALL=(ALL) NOPASSWD: ALL

我犹豫是否使用密码来访问我的网络邮件客户端和 Firefox 帐户。和更多。

问题

  • 我该怎么做才能确保我访问外部 Web 服务的密码免受除我之外的任何人的侵害?

  • 例如,既然我确实有sudo权限,我如何确保没有键盘记录器在运行?

  • 我基于 SSH 密钥无需密码即可访问各种服务。如何保护我的密码不被记录?

  • 在这样的用例中,2FA 访问外部服务是否安全?

  • 是否有“使用其他人可以远程访问的基于 Linux 的计算机的安全实践”的集合root

答案1

你不能。

root 用户拥有机器的完全访问权限。这包括运行键盘记录器、读取任何文件、导致您运行的程序执行操作而不在用户界面中显示它们的可能性......这是否是可能发生的情况取决于您的环境,因此我们无法告诉您这一点。即使 2FA 也不安全,因为存在会话劫持的可能性。

一般来说,如果您怀疑一台机器不安全,则不应使用它来访问您的服务。

答案2

我认为,所接受的答案在技术上是正确的,并且对于目前使用的 99% 的常用 Unix/Linux 机器来说可能没问题。尽管如此,我们可以用稍微更差异化的观点来解决问题,并尝试针对您的实际问题(这不完全是“可以 root 在我的机器中执行所有操作”,而是“我如何保护自己”)。

@ceph3us 已链接https://security.stackexchange.com/questions/7801/keeping-secrets-from-root-on-linux在评论中。这个问题及其答案讨论了保守秘密的可能性root,今天就可以提供。如果您真的很偏执,并且可能需要重新安装机器,那么您可以尝试其中的一些东西。即,SELinux 具有非常严格的设置。

在您的情况下,SELinux 有一个很大的缺点。远程管理员之所以是远程管理员,是因为他们应该管理您的计算机。这意味着他们需要完全控制任何事情,基本上用你的机器做任何事情,包括首先确保它的安全。这根本不是技术问题,而是组织问题。即使您安装了 SELinux,它们仍然需要拥有完全访问权限才能完成其工作。

为了超越这个问题root,让我们这样重新表述这个问题:任何拥有足够权力来完成远程管理员需要做的一切(包括配置和强化系统的任何安全方面)的远程管理员都在安全方面之外系统的。根据定义。任何技术措施都无法改变这一点。

所以,在实践中,我为您看到的唯一角度是:用您自己的安装重新安装机器,从头开始。现在,听我说完。有两种情况,我在不同的公司都经历过:一种公司承认,虽然大多数人(主要是非 Unix 人)不在乎,但有一些有能力且值得信赖的人可以操作自己的机器。如果你是这些人中的一员,那么你就用他们潜在的服务来换取你的自由。在您接管机器后,他们通常会拒绝对您的机器提供任何帮助。这正是你想要的。

然后,您可以根据需要对其进行强化,并且与其他任何脚本小子相比,您以前的管理员将没有特别强的可能性来破解您的计算机。

这类公司明白,内部 LAN 本身并不是一个特别安全的地方;它是一个安全的地方。即,它将 LAN 上的所有机器(即使它们可能由公司的管理员团队加固)作为可能的攻击者进行处理。在这种情况下,他们可能不太关心你安装自己的东西。

另一种情况是你的公司干脆禁止它。那么是时候找出原因了。他们是否担心你可能会弄坏你的机器然后打电话给他们寻求帮助,这对他们来说很难做到?向他们保证你会处理好自己。是否存在许可证问题?在 Linux 上?不这么认为。他们是否担心您可以从互联网上运行恶意代码/安装东西?你已经可以做到这一点,你已经有 root 权限了。他们是否认为您可以让机器在键盘记录器/屏幕记录器看到的情况下执行恶意操作?那么你可能在国家安全局工作,他们监视自己的人(我只是开玩笑,我不知道国家安全局的内部情况;))。

我希望你明白我要去哪里。没有任何实际理由可以假设您使用他们的安装(您自己拥有完全的 root 访问权限)比您使用自己的安装而他们没有访问权限更安全。

尝试说服他们,或者找出他们不相信的原因。也许这应该告诉你一些事情。

相关内容