为什么 X11 是服务器中的安全风险?

Orc*_*ris 12 security xorg xserver

我记得读到服务器没有 GUI,因为 X11 存在安全风险。为什么?

Eli*_*gan 8

Ubuntu 的社区文档解释了为什么不建议在生产服务器系统上运行 GUI的真正原因

大多数 Ubuntu Server 开发人员建议在服务器上安装 X。不安装 GUI 有多种原因。

不安装 GUI 的一些原因包括:

  1. 您将拥有更多受安全漏洞影响的代码、更多需要更新的包以及更多的服务器停机时间。
  2. LTS 服务器版本的完整 5 年生命周期不支持 X11 和桌面包。
  3. 性能可能会受到影响,因为 GUI 会消耗资源(内存、硬盘空间、CPU 等)。
  4. 最佳做法是仅在生产服务器上安装所需的软件。
  5. GUI 可能包括不适合服务器的其他网络服务。
    1. Ubuntu 桌面版的目标之一是让用户更容易使用 Linux。在安装某些桌面环境时,将安装您可能并不特别想要的服务。例如,用于帮助配置网络的avahi-daemon添加了另一个开放端口,并且可能会引入与 .local 域的不必要的 DNS 冲突。

所以对于最安全的服务器最好不要安装 GUI。

“Ubuntu 文档维基的贡献者”的“ServerGUI”,在 CC-BY-SA 3.0 允许的情况下在此处复制

与一些常见的误解相反,X11 作为服务器实际上与为什么从安全角度来看在生产服务器上运行 GUI 被认为是不理想的无关。默认情况下,X11几乎从未配置为可在任何操作系统上通过网络访问。没有任何版本的 Ubuntu 曾让 X11 在默认配置下运行网络可访问服务器。(要通过 TCP 访问 Ubuntu 上的 X11,您必须通过 SSH 转发它或手动重新配置服务器。)

此外,即使 X11 确实运行了网络可访问服务器,这也不是不将其安装在生产服务器系统上的理由。任何运行生产服务器的人都可能根据自己的需要对其进行配置,并对其进行审核以确保没有运行不需要的服务。(如果他们做不到,将对他们的安全构成比安装 GUI 时更大的威胁。)即使 X11必须有一个端口侦听物理网络接口(事实并非如此),端口可以很容易地通过重新配置内置netfilterusing iptables(或更高级别的前端,如ufw)来阻止。

相比之下,上面列出的问题并不那么容易通过重新配置来克服。


Cae*_*ium 5

每个正在运行的进程都存在安全风险。特别是那些侦听网络端口的(X11 可以)。

一般的好做法是不要在不需要绝对存在的服务器上运行任何东西,而且 X11 当然不需要在您将通过 SSH 连接到的服务器上。

我怀疑你读到的文章是在谈论 X11 中的一个特定漏洞(如果是这样的话,它就会被修复,漏洞不会长期悬而未决),而只是一般的良好做法。

  • 在大多数现代 Linux 发行版(如 Ubuntu)上,默认情况下 X 服务器不侦听网络端口,而仅通过域套接字接受本地连接。 (2认同)
  • 阿米特:是的。xinit/startx 默认使用`-nolisten tcp` (2认同)

Ami*_* KK 5

这是因为如果 X Window 系统没有得到适当的保护,它会带来严重的安全风险。X11“显示器”是在您的桌面上运行的 X11 服务器,包括屏幕、键盘和鼠标。如果您的 X11 显示器不安全,它将允许在 Internet 上任何地方运行的程序连接到它,并且该连接可能对您完全不可见。连接后,该程序可以完全访问您的显示器,这意味着它可以:

  • 使用标准 X11 实用程序查看和复制屏幕内容;
  • 监控您的击键;
  • 远程控制桌面上的任何浏览器并伪造击键,就像您自己打字一样(尽管并非所有 X11 应用程序都易受此影响)。

不使用拇指规则xhost +——它会完全禁用显示器的安全性。

一个好方法是转发 X 是通过ssh.


取自http : //www2.slac.stanford.edu/computing/security/xwindow/