Antworten:
In der Community-Dokumentation von Ubuntu werden die wahren Gründe erläutert, warum es nicht empfohlen wird, eine GUI auf einem Produktionsserversystem auszuführen:
Die meisten Ubuntu Server - Entwickler nicht empfehlen X auf einem Server installieren. Es gibt mehrere Gründe, eine GUI nicht zu installieren.
Einige Gründe, eine GUI nicht zu installieren, sind:
- Sie haben mehr Code, der Sicherheitslücken ausgesetzt ist, mehr Pakete, die aktualisiert werden müssen, und mehr Serverausfallzeiten.
- X11- und Desktop-Pakete werden für den gesamten 5-Jahres-Lebenszyklus der LTS-Serverversion nicht unterstützt.
- Die Leistung kann darunter leiden, dass Ressourcen (Speicher, Festplattenspeicher, CPU usw.) von der GUI verbraucht werden.
- Es wird empfohlen, nur die erforderliche Software auf einem Produktionsserver zu installieren.
- Die GUI kann andere Netzwerkdienste enthalten, die für einen Server ungeeignet sind.
- Eines der Ziele von Ubuntu Desktop Edition ist es, Benutzern die Verwendung von Linux zu erleichtern. Bei der Installation einiger Desktop-Umgebungen werden Dienste installiert, die Sie möglicherweise nicht speziell möchten. Zum Beispiel fügt avahi-daemon , der zur Konfiguration des Netzwerks verwendet wird, einen weiteren offenen Port hinzu und kann zu unerwünschten DNS-Konflikten mit einer lokalen Domäne führen.
Für den sichersten Server ist es daher am besten, keine GUI zu installieren.
"ServerGUI" von "Mitwirkenden am Ubuntu-Dokumentations-Wiki", hier reproduziert, wie von CC-BY-SA 3.0 gestattet .
Im Gegensatz zu einem weit verbreiteten Missverständnis hat X11 als Server wirklich nichts damit zu tun, warum das Ausführen einer GUI auf einem Produktionsserver aus Sicherheitsgründen als nicht ideal angesehen wird. X11 ist praktisch nie mehr standardmäßig so konfiguriert, dass es über ein Netzwerk unter keinem Betriebssystem mehr zugänglich ist. In keiner Version von Ubuntu hat X11 jemals einen Netzwerkzugriffsserver in der Standardkonfiguration ausgeführt. (Um unter Ubuntu über TCP auf X11 zuzugreifen, müssen Sie es über SSH weiterleiten oder den Server manuell neu konfigurieren.)
Außerdem , selbst wenn X11 ein Netzwerk zugänglichen Server ausgeführt haben , wäre dies kein Grund sein , nicht zu haben , es auf einem Produktionsserver System installiert ist . Jeder, der einen Produktionsserver ausführt, ist vermutlich in der Lage, ihn für seine Anforderungen zu konfigurieren und zu überwachen, um sicherzustellen, dass keine unerwünschten Dienste ausgeführt werden. (Wenn sie nicht, dass eine weitaus größere Bedrohung für ihre Sicherheit darstellen , als dies , indem er ein GUI installiert erstellt werden.) Auch wenn X11 hatte einen Port lauscht auf einer physikalische Netzwerkschnittstelle haben ( was nicht der Fall ist ), der Hafen könnte leicht blockiert werden, indem das eingebaute System netfilter
mit iptables
(oder einem übergeordneten Frontend wie ufw
) neu konfiguriert wird .
Im Gegensatz dazu sind die oben aufgeführten Probleme durch Neukonfiguration nicht so einfach zu überwinden.
Jeder laufende Prozess ist ein Sicherheitsrisiko. Insbesondere diejenigen, die einen Netzwerkport abhören (X11 tut dies).
Es wird allgemein empfohlen, nichts auf einem Server auszuführen, der nicht unbedingt vorhanden sein muss, und X11 muss sich sicherlich nicht auf einem Server befinden, auf dem Sie SSH ausführen.
Ich bezweifle, dass der Artikel, den Sie gelesen haben, über eine bestimmte Sicherheitsanfälligkeit in X11 sprach (es wäre behoben worden, wenn dies der Fall wäre, Sicherheitsanfälligkeiten bleiben nicht lange unverändert), sondern nur über allgemeine bewährte Methoden.
-nolisten tcp
standardmäßig
Dies liegt daran, dass das X Window System ein ernstes Sicherheitsrisiko darstellt, wenn es nicht ordnungsgemäß gesichert ist. Ein X11 "Display" ist der X11-Server, der auf Ihrem Desktop ausgeführt wird und Bildschirm, Tastatur und Maus enthält. Wenn Ihr X11-Display unsicher ist, kann ein Programm, das an einer beliebigen Stelle im Internet ausgeführt wird, eine Verbindung herstellen, und die Verbindung ist für Sie möglicherweise vollständig unsichtbar. Sobald die Verbindung hergestellt ist, hat dieses Programm vollen Zugriff auf Ihr Display. Dies bedeutet, dass es:
Eine Daumenregel ist NICHT zu verwenden xhost +
- Sie deaktiviert die Sicherheit Ihres Displays vollständig.
Ein guter Weg ist, X weiterzuleiten ssh
Entnommen aus : http://www2.slac.stanford.edu/computing/security/xwindow/
xhost +
Befehl haben
xhost +
kann aber nicht überschreiben -nolisten tcp
, öffne dich einfach für jede Verbindung vom localhost.
Der wahre Grund ist, dass Administratoren sich selbst als super klug betrachten können, indem sie Dinge über die Befehlszeile ausführen. Es besteht kein Sicherheitsrisiko, wenn eine GUI auf einem Ubuntu-Server ausgeführt wird.