以 root 身份连接网络是否更危险?

以 root 身份连接网络是否更危险?

如果我以 root 身份与网络建立某种 tcp 连接,是否比与普通用户建立相同的 tcp 连接更不安全?

一段时间以来,我一直怀疑,通过以 root 身份建立连接,另一端的黑客有可能以 root 身份进入我的系统。

但如果我以普通用户身份连接,那么他们可能能够以该用户身份进入,这会减少安全风险,因为他们没有 root 权限。

我对吗?

答案1

无论您以 root 用户还是普通用户身份创建 tcp 连接,这都无关紧要。套接字创建是一个核心业务,TCP 连接是一个传输级别开放系统互连模型

但是您使用的软件(应用程序级别)可能包含软件漏洞,黑客可以利用它们。因此,基本建议是不要以 root 权限执行应用程序。

答案2

root 或非 root,这是您机器本地的问题。它不会更改对等方在连接另一端接收到的内容。

如果您用于连接的软件存在严重漏洞,允许远程服务器劫持您的应用程序,则打开连接:意味着攻击者将获得在您的机器上进行处理。另一方面,如果您以非 root 用户身份打开连接,则攻击者将获得非 root 进程。在实践中这并不重要:如果攻击者可以在您的 UID(您用来在计算机上执行所有操作)下运行任意代码,那么无论如何您都注定失败。

通常的口头禅“不要以 root 身份运行”部分是一种损害遏制功能,但主要是来自数十个同时用户使用典型 Unix 系统的时代的古老传说;那是主机型号。该模型对我们现在所做的事情的适用性有限,因为机器事实上的单用户系统。如果只是为了传统(传统在 Unix 世界中很重要),您仍然应该以非 root 身份运行进程。

如果您确实想要一个有效的隔离层,请在以下环境中运行您的网络进程:沙箱:一个chroot环境,可能是一个虚拟机(这就是库布斯做)。

相关内容