Frage Gibt es Nachteile bei der Installation von VNC?


Wir haben einen Intel NUC in der Sprachabteilung unserer Universität, der bald eine Web-Anwendung beherbergen wird, die von Fakultäten und Studenten in der Abteilung verwendet wird. Der NUC betreibt Ubuntu (14.10).

Ich bin zufrieden mit dem Terminal und SSH-in den Server, aber ich finde, dass viele Aufgaben, die ich tun muss, sind so viel einfacher durch Screen-Sharing (VNC).

Ich schlug unserem neuen technischen Direktor vor, dass wir VNC auf diesem Server installieren, um mein Leben viel einfacher zu machen (tatsächlich hatte VNC installiert, bevor er eingestellt wurde, und dann hat er es deinstalliert). Er antwortete jedoch mit folgendem Kommentar:

Ich würde viel lieber nicht X oder VNC auf dem Server ausfü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 Zugang dazu durch SSH. Gibt es einen wundersamen Nachteil, wenn ich VNC Zugang zu einem Server habe, von dem ich nichts weiß?

Offensichtlich öffnest du einen anderen Port für einen Angreifer; Widerlegung: Wir befinden uns hinter zwei Uni-Firewalls (der Haupt-Firewall des Universitätsnetzwerks sowie der speziellen Firewall unseres Subnetzes). VNC könnte nur innerhalb unseres Subnetzes erreicht werden, so dass ich nicht weiß, warum dies ein anderes Problem als "es ist ein anderes zu wartendes Paket" und mit Ubuntus ist apt Paketmanager, der zu einem Nicht-Problem wird.

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

Bearbeiten: Dies ist nicht nur ein Webserver. Es beherbergt eine Reihe anderer Anwendungen. Nicht sicher, ob das einen Unterschied macht.


19
2017-08-26 23:05


Ursprung


Ich kann es mir nicht vorstellen etwas Möglicherweise müssen Sie einen Webserver verwenden, der einfacher über eine grafische Benutzeroberfläche funktioniert. Vielleicht solltest du ebenfalls Fragen Sie nach, ob es eine bessere Möglichkeit gibt, die Aufgaben auszuführen, die Sie ausführen möchten. - Michael Hampton♦
In jedem Fall ist dies eine Gelegenheit, etwas Neues zu lernen. - Michael Hampton♦
Es geht darum, die Oberfläche zu begrenzen. Mit mehr Diensten kann mehr schief gehen und mehr können gehackt werden. Zugegeben, du hast das gesagt, aber es bleibt wahr. Auch ich persönlich hasse VNC. Was ist mit X11 Weiterleiten über SSH? - Michael Bailey
Warum brauchen Sie diese Tools auf einem Server? Die Verwendung eines Browsers ohne grafische Benutzeroberfläche ist in den meisten Fällen nutzlos - aber Sie würden es nicht in Betracht ziehen, Ihren Browser auf einem Server auszuführen. Egal welches Tool Sie verwenden, installieren Sie es einfach auf Ihrem Client und greifen Sie auf die Daten auf dem Server zu, vorzugsweise über ssh. Vielleicht schau mal rein sshfs - Ben
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 . SSH zum Server mit X - Weiterleitung erlaubt es, dass grafische Programme tatsächlich auf dem Server laufen, während die Fenster auf einem X11 - Server auf Ihrem Server angezeigt werden lokal Maschine. Sie benötigen nur einige gemeinsame X11-Bibliotheken auf dem Server, die keine Ressourcen verschwenden, während Sie kein Programm ausführen, das sie verwendet. IMO ein guter Kompromiss. - Gerald Schneider


Antworten:


Es gibt viele Gründe:

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

  • Fehler Oberfläche: wie oben, aber ersetzen "jemand" mit "Murphy"und" "mit" ruinieren Sie Ihren Tag ". Eigentlich" ruinieren Sie Ihren Tag "gilt wahrscheinlich auch für den vorherigen Punkt.

  • Systemeffizienz: X11 und die GUI-Umgebungen, die auf ihnen ausgeführt werden, verbrauchen eine ordentliche Menge an RAM, vor allem auf einem begrenzten Ressourcen-System wie einem NUC. Sie nicht zu betreiben, bedeutet mehr Ressourcen für nützliche Arbeit.

  • Bediener-Effizienz: GUIs eignen sich nicht für Skripting und andere Formen der Automatisierung. Das Klicken auf Dinge fühlt sich produktiv an, aber es geht eigentlich um den schlimmsten Weg, etwas zutiefst Technisches zu machen. Sie werden auch Ihre zukünftigen Beschäftigungsmöglichkeiten stark eingeschränkt finden, wenn Sie Ihren Job nicht skripten und automatisieren können - die Industrie geht Weg von GUI-Admin-Tools. Verdammt, selbst der Windows-Server kann heutzutage GUI-frei installiert werden, und wenn Sie nicht über die Vorteile nachdenken, nur zu wissen, wie man auf Dinge klickt, weiß ich wirklich nicht, was ich Ihnen sagen soll.


41
2017-08-26 23:53



Dang it womble .. du schlägst mich wieder zum Schlag um wie 30 Sekunden. :) Gute Antwort. - Tim Brigham
Viel Zeit mit Mavis Beacon in meiner Jugend verbracht zu haben etwas Vorteile ... <Grinsen> - womble♦
@ChrisCirefice dann schlage ich vor, Sie bitten jemanden, die Dinge richtig zu machen, anstatt die Sicherheit der Produktionsserver für ein kleines bisschen Benutzerfreundlichkeit zu kompromittieren. - André Borie
Das ist eine harte Note, Andre. Ich würde gerne denken, dass Chris die Implikationen seiner Vorlieben jetzt etwas besser versteht, ohne dass er dafür aus dem Rennen gejagt werden müsste. - womble♦
@ChrisCirefice sein Ja wirklich vorsichtiges Nachdenken über Dinge wie "keine super-wertvolle Information" und "hinter Firewalls". Der Wert von Daten liegt im Auge des Betrachters, und die Rolle von Systemen kann sich im Laufe der Zeit subtil ändern, so dass sich für einen Angreifer mehr wertvolle Daten langsam auf einem System ansammeln, das jeder für nicht verteidigungswürdig hält. Und dann landen Sie auf der Titelseite jeder Nachrichten-Website, weil etwas Peinliches durchgesickert ist. - womble♦


Das Problem ist nicht VNC - versteh mich nicht falsch, VNC ist ein schreckliches Protokoll und hat viele Mängel (die größte ist der Mangel an Verschlüsselung Unterstützung, so dass alles über das Netzwerk im Klartext geht), aber es ist nicht die wichtigste Grund ist die Verwendung auf Servern nicht empfohlen.

Sie werden VNC installieren, um auf was zuzugreifen, ein schwarzer Bildschirm? Nein, Sie wollten auf eine gesamte Desktop-Umgebung zugreifen, und das ist das eigentliche Problem.

Sobald Sie alle Desktop-Grade-Gnome (oder ähnliche) Software installiert haben, können Sie bereits Ihren Server kompromittiert betrachten, da es so viele Bugs gibt, die in dieser schrecklichen, riesigen Sammlung von Anwendungen ausgenutzt werden können (abgesehen davon, dass es nicht für Produktivität ausgelegt ist) und verwendet eine Tonne von Ressourcen). Aus den anderen Gründen, warum ich diese Software und die meisten Linux-Desktop-Umgebungen nicht empfehle, ist, dass sie das gesamte System fast wie ein Rootkit übernehmen und ihre eigenen Versionen von allem implementieren (Authentifizierung? Keine felsenfesten Benutzer und Gruppen mehr Lassen Sie uns diesen Policykit-Nonsense als root ausführen, der Berechtigungen basierend auf einigen unlesbaren, obskuren XML-Dateien gibt ... Konfiguration Wer braucht von Menschen lesbare Konfigurationsdateien? Lassen Sie uns alles in binären Datenbanken speichern, die Sie nur sehen oder bearbeiten können ihre bereitgestellten Dienstprogramme, genau wie die Windows-Registrierung, und lassen Sie uns eine Reihe von Daemons als root starten, um Ressourcen zu verbrauchen, selbst wenn Sie den Desktop nicht benutzen.

Der Versuch, eine Gnome-Desktop-Umgebung auf meinem Archlinux-Server zu installieren, sagt mir "Gesamtinstallierte Größe: 1370.86 MiB". Das ist riesig, stellen Sie sich die zusätzliche Angriffsfläche vor, die dieser Ex-Server haben wird, sobald er installiert ist. Andere Desktopumgebungen sind nicht viel besser.


14
2017-08-27 01:15



"VNC ist ein schreckliches Protokoll und hat viele Fehler (der größte ist der Mangel an Verschlüsselung ...)" In Situationen, in denen man VNC benötigt, keine Serverumgebung, wird das Problem durch Tunneln der VNC-Sitzungen durch ssh vermieden. - Keith Reynolds
@ KeithReynolds Ja, aber es sollte eingebaut werden, besonders wenn Sie es mit seinen Gegenstücken vergleichen, wie das "aktuellere" RDP, das sofort verschlüsselt wird (sicher, solange Sie dem Zertifikat des Servers vertrauen). - André Borie
Eine Designphilosophie besteht darin, jede mögliche Lösung einzubauen (in der Regel typisch für MS-Entwickler), und die andere besteht darin, das zusammenzusetzen, was Sie benötigen (in der Regel typisch für Linux-Entwickler). In Bezug auf VNC: Wenn Sicherheit über ein nicht vertrauenswürdiges Netzwerk ssh benötigt wird, erfordert ein Konto und Verschlüsselung. Wenn die Sicherheit keine Rolle spielt, erfordert die gemeinsame Nutzung eines Desktops kein Systemkonto oder den Overhead der Verschlüsselung. - Keith Reynolds
@KeithReynolds ein anderes Problem von VNC ist, dass es reine Bitmaps anstelle von Zeichenbefehlen sendet, die auf der Clientseite wie RDP gezeichnet werden. Dies macht VNC für alles außer einem lokalen Netzwerk schrecklich, während RDP auch in schlechten mobilen Netzwerken in Ordnung bleibt. - André Borie


Offensichtlich öffnest du einen anderen Port für einen Angreifer; Widerlegung: Wir befinden uns hinter zwei Uni-Firewalls (der Haupt-Firewall des Universitätsnetzwerks sowie der speziellen Firewall unseres Subnetzes). VNC wäre nur in unserem Subnetz möglich, also bin ich ratlos ...

Nehmen Sie niemals an, dass Sie sich keine Sorgen über die Sicherheit machen müssen, da sich Ihr System hinter einer Firewall in einem privaten Netzwerk befindet. Viele, wenn nicht sogar die meisten erfolgreichen Eindringversuche werden von Insidern (Angestellten, Studenten usw.) durchgeführt, die Zugang zu besagten Netzwerken haben.


8
2017-08-27 01:39





Versuchen Sie dies, um den technischen Direktor glücklich zu machen:

  • Installieren Sie VNC und welchen Desktop Sie auch mögen

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

  • Den VNC-Port NICHT weiterleiten. Wenn Sie es verwenden müssen, tunneln Sie den VNC-Port (5900) über SSH (Port 22) und stellen Sie eine Verbindung her.

Dieser Prozess bringt Ihnen die Verschlüsselung und die Sicherheit von SSH, die bereits geöffnet ist. Sie fügen keine Sicherheitsprobleme hinzu, die Sie zuvor noch nicht hatten.

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


-8
2017-08-27 10:38



"Sie fügen keine Sicherheitsprobleme hinzu, die Sie zuvor noch nicht hatten"ist nicht einmal schließen um wahr zu sein. Die Installation von zusätzlichem Code - und Andre B oben gibt Ihnen eine Vorstellung davon, wie viel zusätzlicher Code wir sprechen - bietet mehr Möglichkeiten für die Privilege-Eskalation durch (ssh'ed-in) lokale Benutzer. - MadHatter
Ich stimme zu, dass Sicherheit ein Balanceakt ist, aber zu behaupten, dass Handlungen (Installation zusätzlicher Software), die Teil des Trade-offs sind, keinen Nachteil haben, ist unaufrichtig. Zu sagen, dass es nur wenige Benutzer gibt, ist ebenso irreführend: Der Autor der Frage sagt, dass er sich gerade in diesem Fall befindet, und wir können nicht wissen, wie viele andere das tun. - MadHatter
"OP hat festgestellt, dass SSH sicher genug ist"Sicherheit ist keine Eigenschaft, die Sie haben oder nicht; es ist ein Grad der Bereitschaft gegen ein gegebenes Bedrohungsmodell. Wenn das Bedrohungsmodell"unbefugter Zugriff durch Remote-Benutzer", dann ja, ssh ist eine gute Verteidigung. Wenn das Bedrohungsmodell "Privilegeskalation durch autorisierten lokalen Benutzer ", dann ssh ist keine Verteidigung, und die Installation von Tonnen von Extra-Code auf dem Server erhöht die Angriffsfläche erheblich. Womble ist ein erfahrener Systemadministrator mit etwa siebzigtausendfachem Ruf auf dieser Website, also solltest du die Beleidigungen einfach ignorieren. - MadHatter
@paul Nein, mein Hauptanliegen war nicht der Mangel an Verschlüsselung von VNC (es kann mit SSH-Tunneling gemildert werden), das Hauptproblem ist die enorme Angriffsfläche jeder Desktop-Umgebung. - André Borie
@paul: Du hast Recht, ich habe absolut keinen Sinn für Balance. Ich bin nicht Fox News: Ich muss nicht "fair und ausgewogen" sein. Ich bin ein Systemadministrator: Ich muss es sein Recht. - womble♦