为什么X11在服务器中存在安全风险?
我记得读过服务器没有GUI,因为X11存在安全风险。 为什么?
Ubuntu的社区文档解释了为什么不建议在生产服务器系统上运行GUI 的真正原因 :
大多数Ubuntu Server开发人员不建议在服务器上安装X. 不安装GUI有多种原因。
不安装GUI的一些原因包括:
- 您将拥有更多受安全漏洞影响的代码,需要更新的更多软件包以及更多服务器停机时间。
- LTS服务器版本的完整5年生命周期不支持X11和桌面软件包。
- 性能可能会受到影响,因为GUI将消耗资源(内存,硬盘空间,CPU等)。
- 最佳做法是仅在生产服务器上安装所需的软件。
- GUI可以包括不适合服务器的其他网络服务。
- Ubuntu Desktop Edition的目标之一是让用户更容易使用Linux。 安装某些桌面环境时,将安装您可能不需要的服务。 例如,用于帮助配置网络的avahi-daemon会添加另一个开放端口,并可能会引入与.local域不必要的DNS冲突。
因此,对于最安全的服务器,最好不安装GUI。
“ServerGUI”由“Ubuntu文档维基的贡献者” 在此处转载,如CC-BY-SA 3.0所允许 。
与一些常见的误解相反,X11作为服务器实际上与从安全角度来看在生产服务器上运行GUI被认为是非理想的无关 。 在任何操作系统上,X11 几乎从未配置为可以通过网络进行访问。 Ubuntu的任何版本都没有让X11在默认配置中运行可通过网络访问的服务器。 (要通过TCP访问Ubuntu上的X11,您必须通过SSH转发它或手动重新配置服务器。)
此外, 即使X11确实运行了网络可访问的服务器 ,这也不是不在生产服务器系统上安装它的原因。 任何运行生产服务器的人都可能根据需要对其进行配置并对其进行审核以确保不会运行不良服务。 (如果他们不能, 那么对他们的安全性构成的威胁远远大于安装GUI所带来的威胁。)即使X11 必须在物理网络接口上监听端口( 事实并非如此 ),端口可以通过使用iptables
(或更高级别的前端,如ufw
)重新配置内置的netfilter
来轻松阻止。
相反,上面列出的问题不容易通过重新配置来克服。
每个运行过程都存在安全风险。 特别是那些在网络端口上监听的(X11)。
一般的好习惯是不要在不一定需要的服务器上运行任何东西,X11当然不需要在你要SSH的服务器上运行。
我怀疑你读到的文章是在谈论X11中的一个特定漏洞(如果是这样,它本身就会被修复,漏洞不会长时间不固定),而只是一般的好习惯。
这是因为如果没有正确保护,X Window系统会带来严重的安全风险。 X11“显示器”是桌面上运行的X11服务器,包括屏幕,键盘和鼠标。 如果您的X11显示器不安全,它将允许在Internet上任何位置运行的程序连接到它,并且连接可能对您完全不可见。 连接后,该程序可以完全访问您的显示器,这意味着它可以:
- 使用标准X11实用程序查看和复制屏幕内容;
- 监控你的按键;
- 远程控制桌面上的任何Netscape浏览器和Forge键击,就像您自己键入它们一样(尽管并非所有X11应用程序都容易受此影响)。
拇指规则不是使用xhost +
– 它会完全禁用显示器的安全性。
一个好方法是通过ssh
转发X.
取自 : http : //www2.slac.stanford.edu/computing/security/xwindow/
真正的原因是管理员可以通过从命令行运行东西来将自己视为超级智能。 在Ubuntu服务器上运行GUI没有安全风险。