安装VNC有不利之处吗?


20

我们大学的语言部门拥有一个英特尔NUC,它将很快托管该部门的教职员工和学生使用的Web应用程序。NUC运行Ubuntu(14.10)。

我对终端和通过SSH进入服务器感到很满意,但是我发现通过屏幕共享(VNC)可以轻松完成很多任务。

我建议我们的新技术总监在此服务器上安装VNC,以使我的生活更加轻松(实际上,在雇用VNC之前已安装了VNC,然后将其卸载了)。但是,他回答了以下评论:

如果我们可以摆脱它,我宁愿不要在服务器上运行X或VNC。毕竟它是一台服务器。

我真的不明白这种逻辑。它没有连接显示器。唯一通过SSH进行的访问。通过VNC访问我不知道的服务器是否有一些奇迹般的缺点?

显然,您正在为攻击者开放另一个端口。反驳:我们位于两个大学防火墙(主要的大学网络防火墙以及子网自己的特殊防火墙)的背后。VNC只能在我们的子网内完成,所以我茫然地知道为什么这将是一个问题,而不是“需要维护的另一个程序包”,而Ubuntu的apt程序包管理器将不再成为问题。

在服务器上安装VNC有什么弊端?

编辑:这不仅仅是一个网络服务器。它托管了许多其他应用程序。不知道这是否有所作为。


21
我无法想象您需要使用Web服务器做的任何事情,而使用GUI会更容易。也许您应该询问是否有更好的方法来执行您想要执行的任务。
迈克尔·汉普顿

3
无论哪种方式,这都是学习新知识的机会。
迈克尔·汉普顿

9
这都是关于限制表面的。有了更多的服务,更多的地方可能出错,而更多的地方可能会被黑。当然,您说了这一点,但事实仍然如此。我个人也讨厌VNC。X11通过SSH转发怎么样?
Michael Bailey 2015年

1
那么,为什么需要在服务器上使用这些工具?在大多数情况下,使用没有图形界面的浏览器将毫无用处-但是您不会考虑在服务器上运行浏览器。不论您使用什么工具,只需将其安装在客户端上即可,最好通过ssh访问服务器上所需的任何数据。也许看看到sshfs的

7
我不想将其发布为答案,因为它没有回答“ VNC的缺点”这一问题,而是要详细说明@MichaelBailey的评论:您不需要在服务器上使用X或VNC 。通过X转发到服务器的SSH允许图形程序实际在服务器上运行,同时在本地计算机上运行的X11服务器上显示窗口。您只需要服务器上的一些共享X11库,这些库不会在没有运行使用它们的程序的情况下浪费资源。IMO是一个很好的折衷方案。
Gerald Schneider

Answers:


42

原因有很多:

  • 攻击面:更多的程序,尤其是联网程序,意味着某人找到漏洞并进入的更多机会。

  • 表面缺陷:如上所述,但将“某人”替换为“ 墨菲 ”,并将“进入”替换为“破坏您的一天”。实际上,“毁了一天”也可能适用于上一点。

  • 系统效率:X11和人们倾向于在其上运行的GUI环境消耗大量的RAM,尤其是在像NUC这样的资源有限的系统上。不运行它们意味着需要更多资源来进行有用的工作。

  • 操作员效率:GUI不适合脚本编写和其他形式的自动化。点击事物感觉很有效率,但这实际上是最糟糕的方法来做一些技术性的事情。如果您无法编写脚本并自动完成工作,您还将发现自己未来的就业机会受到极大限制-整个行业正在远离 GUI管理工具。哎呀,即使是Windows服务器,如今也可以不使用GUI进行安装,如果那不能使您考虑只知道如何单击内容的相对优点,那么我真的不知道该对您说些什么。


1
当它摇摇晃晃..你又像三十秒一样击败了我。:)好答案。
蒂姆·布里格姆

3
我年轻时在Mavis Beacon上度过的很多时间必须有一些好处... <咧嘴>
womble

6
@ChrisCirefice然后,我建议您要求某人以正确的方式做事,而不是为了一点点易用性而损害生产服务器的安全性。
安德烈·伯瑞(AndréBorie)2015年

8
安德烈,这真是刺耳。我想认为Chris现在对他的偏好的含义有了更好的了解,而无需为此烦恼。
womble

4
@ChrisCirefice必须非常小心地思考“没有超有价值的信息”和“防火墙背后”之类的东西。数据的价值在旁观者的眼中,系统的作用会随着时间的推移而微妙地变化,因此,(对于攻击者而言)更有价值的数据最终会逐渐积累在每个人都认为不值得捍卫的系统上。然后,由于泄漏了一些令人尴尬的内容,您最终进入了每个新闻网站的首页。
womble

15

问题不在于VNC-别误会,VNC是一个可怕的协议,并且存在许多缺陷(最大的缺陷是缺乏加密支持,因此所有内容都以纯文本格式通过网络传输),但这并不是主要问题。为什么不建议在服务器上使用它。

您将要安装VNC才能访问黑屏?不,您想访问整个桌面环境,这是真正的问题。

一旦安装了所有此类台式机级Gnome(或类似产品)软件,您就已经可以认为您的服务器已受到威胁,因为在这个可怕的,庞大的应用程序集中还有很多漏洞可以利用(除了它不是为提高生产力而设计的)并消耗大量资源)。我不推荐该软件和大多数Linux桌面环境的其他原因之一是,它们几乎像rootkit一样接管整个系统,并实现自己的所有版本(身份验证?不再需要坚决的用户和组) ,让我们以root用户身份运行此Policykit废话,它基于一些不可读,晦涩的XML文件提供权限...配置?谁需要人类可读的配置文件?让我们将所有内容存储在二进制数据库中,

尝试在Archlinux服务器上安装Gnome桌面环境时,提示“总安装大小:1370.86 MiB”。这是巨大的,想象一下,该前服务器在安装后将具有额外的攻击面。其他桌面环境并没有更好。


“ VNC是一种可怕的协议,并且存在许多缺陷(最大的缺陷是缺乏加密...)”在需要VNC(而不是服务器环境)的情况下,通过在ssh中传输VNC会话避免了问题。
基思·雷诺兹

@KeithReynolds是的,但是它应该是内置的,特别是当您将其与并发进行比较时,例如立即加密的“最新” RDP(只要您信任服务器的证书就可以了)。
安德烈·伯瑞(AndréBorie)2015年

7
一种设计哲学是内置所有可能的解决方案(通常是MS开发人员所特有的),另一种是将所需的东西拼凑起来(通常是Linux开发人员所特有的)。关于VNC:如果需要通过不受信任的网络ssh进行安全保护,则需要一个帐户并提供加密。当不关心安全性时,共享一个桌面不需要系统帐户或加密开销。
基思·雷诺兹

2
@KeithReynolds VNC的另一个问题是它发送纯位图,而不是像RDP这样在客户端绘制的绘制命令。这使得VNC在本地网络以外的任何地方都无法使用,而RDP即使在糟糕的移动网络上也可以正常使用。
安德烈·伯瑞(AndréBorie),2015年

9

显然,您正在为攻击者开放另一个端口。反驳:我们位于两个大学防火墙(主要的大学网络防火墙以及子网自己的特殊防火墙)的背后。VNC只能在我们的子网内完成,所以我很茫然...

永远不要假设由于系统位于专用网络中的防火墙后面,因此您不必担心安全性。许多(如果不是大多数)成功的入侵是由有权访问上述网络的内部人员(员工,学生等)执行的。


-8

尝试这样做,以使技术总监满意:

  • 安装VNC和任何您喜欢的桌面

  • 请勿安装任何类型的屏幕保护程序。为什么?您没有屏幕,而仅坐在那里的桌面不会消耗很多资源。

  • 请勿转发VNC端口。如果需要使用它,请通过SSH(端口22)建立VNC端口(5900)的通道,然后以这种方式连接。

此过程将为您提供加密和SSH的所有安全性,而SSH已经开放。您不会添加以前没有的任何安全问题。

我已经在自己的服务器上执行此操作,与直接连接相比,VNC进程没有明显的额外延迟。


9
你不加之前你没有已经有任何安全问题 ”甚至没有靠近真。安装额外的代码-上面的Andre B使您有所了解,我们正在谈论多少额外的代码-为(ssh'ed)本地用户提升特权提供了更多机会。
MadHatter支持Monica 2015年

4
我同意安全性是一种平衡行为,但是声称权衡的行为(安装额外的软件)没有不利之处,这是毫无道理的。说用户中很少使用ssh'同样具有误导性:该问题的作者说他现在使用ssh's,我们无法知道有多少其他用户这样做。
MadHatter在2015年

4
OP确定SSH足够安全 ”。安全不是您拥有或不拥有的财产;这是针对给定威胁模型的准备程度。如果威胁模型是“ 远程用户的未授权访问 ”,则可以,这ssh是好的防御。如果威胁模型是“ 授权本地用户的特权升级”,则ssh没有防御,而在服务器上安装大量额外代码将大大增加攻击面。Womble是一位经验丰富的系统管理员,在您在该站点上的声誉约为您的七万倍,因此,您可能想轻松一点。
MadHatter在2015年

1
@paul不,我主要关心的不是缺少VNC加密(可以使用SSH隧道缓解),主要问题是任何桌面环境的巨大攻击面。
安德烈·伯瑞(AndréBorie)2015年

3
@保罗:你是对的,我绝对没有平衡感。我不是福克斯新闻:我不需要“公平和平衡”。我是系统管理员:我需要正确
womble
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.