Perché X11 è un rischio per la sicurezza nei server?


11

Ricordo di aver letto che i server non hanno una GUI perché X11 è un rischio per la sicurezza. Perché?

Risposte:


8

La documentazione della comunità di Ubuntu spiega i veri motivi per cui non è consigliabile eseguire una GUI su un sistema server di produzione:

La maggior parte degli sviluppatori di Ubuntu Server non consiglia l'installazione di X su un server. Esistono diversi motivi per non installare una GUI.

Alcuni motivi per non installare una GUI includono:

  1. Avrai più codice soggetto a vulnerabilità di sicurezza, più pacchetti che devono essere aggiornati e più tempi di inattività del server.
  2. I pacchetti X11 e desktop non sono supportati per l'intero ciclo di vita di 5 anni della versione del server LTS.
  3. Le prestazioni potrebbero risentirne perché le risorse (memoria, spazio su disco rigido, CPU, ecc.) Verranno consumate dalla GUI.
  4. È consigliabile installare solo il software necessario su un server di produzione.
  5. La GUI può includere altri servizi di rete inappropriati per un server.
    1. Uno degli obiettivi di Ubuntu Desktop Edition è rendere più semplice l'utilizzo di Linux da parte degli utenti. Quando si installano alcuni ambienti desktop, verranno installati i servizi che potrebbero non essere specificamente desiderati. Ad esempio avahi-daemon , che viene utilizzato per configurare la rete, aggiunge un'altra porta aperta e può introdurre conflitti DNS indesiderati con un dominio .local.

Quindi per il server più sicuro è meglio non installare una GUI.

"ServerGUI" di "Collaboratori al wiki della documentazione di Ubuntu", riprodotto qui come consentito da CC-BY-SA 3.0 .

Contrariamente a un malinteso piuttosto comune, X11 essendo un server non ha davvero nulla a che fare con il motivo per cui l'esecuzione di una GUI su un server di produzione è considerata non ideale dal punto di vista della sicurezza. X11 non è praticamente mai configurato per impostazione predefinita per essere accessibile su una rete, su qualsiasi sistema operativo. In nessuna versione di Ubuntu X11 ha mai eseguito un server accessibile in rete nella configurazione predefinita. (Per accedere a X11 su Ubuntu tramite TCP, è necessario inoltrarlo tramite SSH o riconfigurare manualmente il server.)

Inoltre, anche se X11 avesse eseguito un server accessibile in rete , questo non sarebbe un motivo per non installarlo su un sistema server di produzione. Chiunque esegua un server di produzione è presumibilmente in grado di configurarlo in base alle proprie esigenze e di verificarlo per assicurarsi che i servizi indesiderati non siano in esecuzione. (Se non possono, che potranno costituire una minaccia molto maggiore per la loro sicurezza di quanto sarebbe creato da avere una GUI installato.) Anche se X11 doveva avere un ascolto porta su un'interfaccia di rete fisica ( che non è il caso ), la porta potrebbe essere facilmente bloccato riconfigurando il built-in netfilterusando iptables(o un frontend di livello superiore come ufw).

Al contrario, i problemi sopra elencati non sono così facili da superare con la riconfigurazione.


1
10.04 ha una durata di supporto diversa per server e desktop, 12.04 e versioni successive no. Inoltre, una GUI inattiva non consuma alcuna CPU e il ram che utilizza verrà sostituito.
psusi

@psusi Il punto sul cambiamento del ciclo di vita del supporto è buono. Per quanto riguarda i problemi di CPU e RAM, (1) non sono d'accordo per esperienza sul fatto che una GUI inattiva non consuma mai CPU e (2) se una GUI è in esecuzione, quindi quando qualcuno sta lavorando sul computer locale, probabilmente lo stanno usando, sia vogliono o no, e questo lo farà consumare più risorse di CPU e memoria. Tuttavia, i punti 1, 4 e 5 sono davvero (e probabilmente lo sono sempre stati) i motivi più significativi per considerare di non avere una GUI in esecuzione su un server di produzione e sono indipendenti dal ciclo di vita del supporto o dai problemi di utilizzo delle risorse.
Eliah Kagan,

Posso aggiungere che Xorg funziona anche come root per impostazione predefinita.
Wadih M.,

5

Ogni processo in esecuzione è un rischio per la sicurezza. In particolare quelli che ascoltano su una porta di rete (X11 lo fa).

La buona pratica generale è di non eseguire nulla su un server che non ha assolutamente bisogno di essere lì, e X11 certamente non ha bisogno di essere su un server in cui SSH.

Dubito che l'articolo che hai letto parlava di una specifica vulnerabilità in X11 (sarebbe stato corretto in tal caso, le vulnerabilità non tendono a rimanere in sospeso per molto tempo), ma piuttosto solo buone pratiche generali.


2
Nella maggior parte delle moderne distribuzioni Linux (come Ubuntu) il server X per impostazione predefinita non è in ascolto su una porta di rete ma accetta solo connessioni locali tramite socket di dominio.
Florian Diesch,

@FlorianDiesch Even Sul server non configurato dal server?
Amith KK,

Grande +1 per menzionare che X11 è un server di rete.
Stefano Palazzo

2
Amith: Sì. xinit / startx usa -nolisten tcpdi default
Florian Diesch

5

Questo perché il sistema X Window presenta un grave rischio per la sicurezza se non è adeguatamente protetto. Un "display" X11 è il server X11 in esecuzione sul desktop e include lo schermo, la tastiera e il mouse. Se il tuo display X11 non è sicuro, consentirà a un programma in esecuzione ovunque su Internet di connettersi ad esso e la connessione potrebbe essere completamente invisibile per te. Una volta connesso, quel programma ha pieno accesso al tuo display, il che significa che può:

  • Visualizza e copia i contenuti del tuo schermo, usando i programmi di utilità X11 standard;
  • Monitora i tuoi tasti;
  • Controlla in remoto qualsiasi browser Netscape sul desktop e crea sequenze di tasti come se stessi digitandoli (anche se non tutte le applicazioni X11 sono sensibili a questo).

Una regola del pollice NON è da utilizzare xhost +: disabilita completamente la sicurezza del display.

Un buon modo è inoltrare X attraverso ssh


Tratto da : http://www2.slac.stanford.edu/computing/security/xwindow/


1
Questo articolo ha circa 10 anni. Le informazioni sono ancora valide?
Stefano Palazzo

1
Principalmente sì ... perché AFAIK abbiamo il xhost +comando
Amith KK,

xhost +non può ignorare -nolisten tcp, basta aprirti a qualsiasi connessione dal localhost.
alanc,

questi problemi sarebbero risolti avviando un xserver per ogni singola applicazione?
phil294

-6

Il vero motivo è che gli amministratori possono pensare a se stessi come super intelligenti eseguendo roba dalla riga di comando. Non vi è alcun rischio per la sicurezza di eseguire una GUI sul server Ubuntu.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.