Gibt es einen Nachteil bei der Installation von VNC?


20

Wir haben einen Intel NUC in der Sprachabteilung meiner Universität, der in Kürze eine Webanwendung hosten wird, die von den Fakultäten und Studenten der Abteilung verwendet wird. Auf dem NUC läuft Ubuntu (14.10).

Ich bin mit dem Terminal und dem Einspielen von SSH in den Server vertraut, finde jedoch, dass viele Aufgaben, die ich zu erledigen habe, durch Screen-Sharing (VNC) viel einfacher sind.

Ich schlug unserem neuen technischen Direktor vor, VNC auf diesem Server zu installieren, um mir das Leben erheblich zu erleichtern (tatsächlich wurde VNC vor seiner Einstellung installiert und anschließend deinstalliert). Er antwortete jedoch mit folgendem Kommentar:

Ich würde es vorziehen, X oder VNC nicht auf dem Server auszuführen, wenn wir damit durchkommen können. Es ist schließlich ein Server.

Ich verstehe diese Logik wirklich nicht. Es ist nicht an einen Monitor angeschlossen. der einzige Zugriff darauf über SSH. Gibt es einen wunderbaren Nachteil, wenn ich VNC-Zugriff auf einen Server habe, den ich nicht kenne?

Offensichtlich eröffnen Sie einem Angreifer einen weiteren Port. Gegenargument: Wir stehen hinter zwei Universitäts-Firewalls (der Haupt-Netzwerk-Firewall der Universität sowie der speziellen Firewall unseres Subnetzes). VNC kann nur innerhalb unseres Subnetzes ausgeführt werden, daher bin ich nicht sicher, warum dies ein anderes Problem ist als "es ist ein anderes zu wartendes Paket", und mit Ubuntus aptPaketmanager wird dies kein Problem.

Was sind die Nachteile der Installation von VNC auf einem Server?

Bearbeiten : Dies ist nicht nur ein Webserver. Es hostet eine Reihe anderer Anwendungen. Ich bin mir nicht sicher, ob das einen Unterschied macht.


21
Ich kann mir nicht vorstellen, was Sie mit einem Webserver tun müssen, der mit einer grafischen Benutzeroberfläche einfacher wäre. Vielleicht sollten Sie sich auch fragen, ob es eine bessere Möglichkeit gibt, die gewünschten Aufgaben auszuführen.
Michael Hampton

3
In jedem Fall ist dies eine Gelegenheit, etwas Neues zu lernen.
Michael Hampton

9
Es geht darum, die Oberfläche zu begrenzen. Mit mehr Diensten können mehr schief gehen und mehr gehackt werden. Zugegeben, Sie haben das gesagt, aber es bleibt wahr. Auch persönlich hasse ich VNC. Was ist mit X11-Weiterleitung über SSH?
Michael Bailey

1
Warum müssen Sie diese Tools auf einem Server verwenden? Die Verwendung eines Browsers ohne grafische Benutzeroberfläche ist in den meisten Fällen nutzlos. Sie würden jedoch nicht in Betracht ziehen, Ihren Browser auf einem Server auszuführen. Welches Tool Sie auch immer verwenden, installieren Sie es einfach auf Ihrem Client und greifen Sie auf die Daten zu, die Sie auf dem Server benötigen, vorzugsweise über ssh. Vielleicht werfen Sie
Ben

7
Ich möchte dies nicht als Antwort posten, da es nicht die Frage "Was sind die Nachteile von VNC" beantwortet, sondern um den Kommentar von @MichaelBailey zu erläutern: Sie benötigen weder X noch VNC auf dem Server . Mit der X-Weiterleitung von SSH an den Server können grafische Programme tatsächlich auf dem Server ausgeführt werden, während die Fenster auf einem X11-Server angezeigt werden, der auf Ihrem lokalen Computer ausgeführt wird. Sie benötigen nur einige gemeinsam genutzte X11-Bibliotheken auf dem Server, die keine Ressourcen verschwenden, solange Sie kein Programm haben, das sie verwendet. IMO ein guter Kompromiss.
Gerald Schneider

Antworten:


42

Es gibt viele Gründe:

  • Angriffsfläche: Mehr Programme, insbesondere vernetzte, bedeuten mehr Möglichkeiten für jemanden, einen Bug zu finden und einzusteigen.

  • Defekte Oberfläche: wie oben, aber ersetzen Sie "Jemand" durch " Murphy " und "Steigen Sie ein" durch "Ruin your day". Eigentlich gilt "ruin your day" wahrscheinlich auch für den vorherigen Punkt.

  • Systemeffizienz: X11 und die GUI-Umgebungen, auf denen Benutzer normalerweise ausgeführt werden, verbrauchen eine angemessene Menge an RAM, insbesondere auf einem System mit begrenzten Ressourcen wie einem NUC. Wenn Sie sie nicht ausführen, erhalten Sie mehr Ressourcen für nützliche Aufgaben.

  • Bedienereffizienz: GUIs eignen sich nicht für Skripte und andere Formen der Automatisierung. Das Anklicken von Dingen fühlt sich produktiv an, aber eigentlich ist es der schlechteste Weg, etwas tief Technisches zu tun. Sie werden auch Ihre zukünftigen Beschäftigungsmöglichkeiten stark eingeschränkt , wenn Sie können nicht Skript und automatisieren davon entfernt Ihren Job finden - die Industrie geht weg von GUI - Admin - Tool. Heutzutage kann sogar Windows Server GUI-frei installiert werden, und wenn Sie dann nicht über die relativen Vorteile nachdenken, nur zu wissen, wie man auf Dinge klickt, weiß ich wirklich nicht, was ich Ihnen sagen soll.


1
Dang it womble .. du hast mich wieder um 30 Sekunden geschlagen. :) Gute Antwort.
Tim Brigham

3
Viel Zeit, die ich in meiner Jugend mit Mavis Beacon verbracht habe, muss ein paar Vorteile haben ... <
grin

6
@ChrisCirefice, dann schlage ich vor, Sie bitten jemanden, die Dinge richtig zu machen, anstatt die Sicherheit der Produktionsserver zu gefährden, um die Bedienung ein wenig zu vereinfachen.
André Borie

8
Das ist ein bisschen hart, Andre. Ich würde gerne glauben, dass Chris jetzt ein etwas besseres Verständnis für die Auswirkungen seiner Vorlieben hat, ohne dass er sich darum kümmern muss.
womble

4
@ ChrisCirefice wirklich vorsichtig sein, Dinge wie "keine überaus wertvollen Informationen" und "hinter Firewalls" zu denken. Der Wert von Daten liegt im Auge des Betrachters, und die Rolle von Systemen kann sich im Laufe der Zeit subtil ändern, so dass wertvollere (für einen Angreifer) Daten langsam auf einem System ansammeln, von dem jeder denkt, dass es sich nicht lohnt, sie zu verteidigen. Und dann landen Sie auf der Titelseite jeder Nachrichtenwebsite, weil etwas Peinliches durchgesickert ist.
womble

15

Das Problem ist nicht VNC - verstehen Sie mich nicht falsch, VNC ist ein schreckliches Protokoll und weist viele Fehler auf (der größte ist die fehlende Verschlüsselungsunterstützung, sodass alles im Klartext über das Netzwerk übertragen wird), aber es ist nicht das Hauptprotokoll Aus diesem Grund wird die Verwendung auf Servern nicht empfohlen.

Du wirst VNC installieren, um auf was zuzugreifen, einen schwarzen Bildschirm? Nein, Sie wollten auf eine gesamte Desktop-Umgebung zugreifen, und das ist das eigentliche Problem.

Sobald Sie die gesamte Gnome-Software (oder eine ähnliche Software) für den Desktop installiert haben, können Sie Ihren Server bereits als kompromittiert betrachten, da in dieser schrecklichen, riesigen Sammlung von Anwendungen noch so viele Fehler auszunutzen sind (abgesehen von der Tatsache, dass sie nicht für die Produktivität ausgelegt ist) und verbraucht eine Tonne von Ressourcen). Einer der anderen Gründe, warum ich diese Software und die meisten Linux-Desktop-Umgebungen nicht empfehle, ist, dass sie fast wie ein Rootkit das gesamte System übernehmen und ihre eigenen Versionen von allem implementieren (Authentifizierung? Keine absolut zuverlässigen Benutzer und Gruppen mehr Führen wir diesen Policykit-Unsinn als Root aus, der Berechtigungen basierend auf unlesbaren, undurchsichtigen XML-Dateien erteilt ... Wer benötigt lesbare Konfigurationsdateien? Speichern wir alles in Binärdatenbanken, was Sie können. '

Wenn ich versuche, eine Gnome-Desktop-Umgebung auf meinem Archlinux-Server zu installieren, wird mir "Total Installed Size: 1370.86 MiB" mitgeteilt. Das ist riesig, stellen Sie sich die zusätzliche Angriffsfläche vor, die dieser Ex-Server haben wird, sobald er installiert ist. Andere Desktop-Umgebungen sind nicht viel besser.


"VNC ist ein schreckliches Protokoll und weist viele Fehler auf (der größte ist das Fehlen von Verschlüsselung ...)." In Situationen, in denen VNC und keine Serverumgebung benötigt wird, wird Ihr Problem durch Tunneln Ihrer VNC-Sitzungen über ssh abgewendet.
Keith Reynolds

@KeithReynolds ja, aber es sollte eingebaut sein, besonders wenn Sie es mit seinen Übereinstimmungen wie dem "aktuelleren" RDP vergleichen, das sofort verschlüsselt wird (sicher, solange Sie dem Zertifikat des Servers vertrauen).
André Borie

7
Eine Designphilosophie besteht darin, jede mögliche Lösung zu integrieren (im Allgemeinen typisch für MS-Entwickler), und die andere darin, das zusammenzustellen, was Sie benötigen (im Allgemeinen typisch für Linux-Entwickler). In Bezug auf VNC: Wenn Sicherheit über ein nicht vertrauenswürdiges Netzwerk benötigt wird, ist ein Konto erforderlich und es muss eine Verschlüsselung bereitgestellt werden. Wenn die Sicherheit keine Rolle spielt, ist für die Freigabe des Desktops weder ein Systemkonto noch der Aufwand für die Verschlüsselung erforderlich.
Keith Reynolds

2
@KeithReynolds Ein weiteres Problem von VNC ist, dass es reine Bitmaps anstelle von Zeichenbefehlen sendet, die auf der Client-Seite wie RDP gezeichnet werden. Dies macht es fürchterlich, VNC nicht nur in einem lokalen Netzwerk zu verwenden, während RDP auch in beschissenen Mobilfunknetzen in Ordnung bleibt.
André Borie

9

Offensichtlich eröffnen Sie einem Angreifer einen weiteren Port. Gegenargument: Wir stehen hinter zwei Universitäts-Firewalls (der Haupt-Netzwerk-Firewall der Universität sowie der speziellen Firewall unseres Subnetzes). VNC kann nur in unserem Subnetz ausgeführt werden, daher bin ich ratlos ...

Gehen Sie niemals davon aus, dass Sie sich keine Sorgen um die Sicherheit machen müssen, da sich Ihr System in einem privaten Netzwerk hinter einer Firewall befindet. Viele, wenn nicht die meisten, erfolgreichen Eingriffe werden von Insidern (Mitarbeitern, Studenten usw.) durchgeführt, die Zugang zu diesen Netzwerken haben.


-8

Versuchen Sie dies, um den technischen Direktor bei Laune zu halten:

  • Installieren Sie VNC und einen beliebigen Desktop

  • Installieren Sie KEINEN Bildschirmschoner. Warum? Sie haben keinen Bildschirm und ein Desktop, der nur dort sitzt, verbraucht nicht viele Ressourcen.

  • Leiten Sie den VNC-Port NICHT weiter. Wenn Sie es benötigen, tunneln Sie den VNC-Port (5900) über SSH (Port 22) und stellen Sie auf diese Weise eine Verbindung her.

Durch diesen Vorgang erhalten Sie die Verschlüsselung und die gesamte Sicherheit von SSH, die bereits geöffnet ist. Sie fügen keine Sicherheitsprobleme hinzu, die Sie vorher noch nicht hatten.

Ich mache das bereits auf meinem eigenen Server, es gibt keine merkliche zusätzliche Verzögerung im VNC-Prozess im Vergleich zu einer direkten Verbindung.


9
" Sie fügen keine Sicherheitsprobleme hinzu, die Sie vorher noch nicht hatten " ist nicht annähernd wahr. Wenn Sie zusätzlichen Code installieren - und Andre B gibt Ihnen eine Vorstellung davon, um wie viel zusätzlichen Code es sich handelt -, haben Sie mehr Möglichkeiten für die Eskalation von Berechtigungen durch lokale Benutzer (ssh'ed-in).
MadHatter unterstützt Monica

4
Ich stimme zu, dass Sicherheit ein Balanceakt ist, aber zu behaupten, dass Handlungen (Installation zusätzlicher Software), die Teil des Kompromisses sind, keine Nachteile haben, ist unaufrichtig. Zu sagen, dass es nur wenige Benutzer gibt, ist gleichermaßen irreführend: Der Autor der Frage sagt, dass er gerade dabei ist, und wir haben keine Möglichkeit zu wissen, wie viele andere dies tun.
MadHatter unterstützt Monica

4
Msgstr " OP hat festgestellt, dass SSH sicher genug ist ". Sicherheit ist keine Eigenschaft, die Sie haben oder nicht haben. Es ist ein gewisser Grad an Bereitschaft gegen ein bestimmtes Bedrohungsmodell. Wenn das Bedrohungsmodell " nicht autorisierter Zugriff durch Remotebenutzer " ist, sshist dies eine gute Verteidigung. Wenn das Bedrohungsmodell " Rechteerweiterung durch autorisierten lokalen Benutzer"ssh lautet , ist dies keine Verteidigung, und die Installation von Tonnen zusätzlichen Codes auf dem Server erhöht die Angriffsfläche erheblich. Womble ist ein erfahrener Systemadministrator mit ungefähr siebzigtausendfacher Reputation auf dieser Website.
MadHatter unterstützt Monica

1
@paul Nein, meine Hauptsorge galt nicht der fehlenden Verschlüsselung von VNC (die durch SSH-Tunnelung behoben werden kann). Das Hauptproblem ist die enorme Angriffsfläche jeder Desktop-Umgebung.
André Borie

3
@paul: du hast recht, ich habe absolut keinen gleichgewichtssinn. Ich bin nicht Fox News: Ich muss nicht "fair und ausgewogen" sein. Ich bin ein Sysadmin: Ich muss Recht haben .
womble
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.