Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I Servizi

Come disabilitare e disinstallare i servizi non necessari o eseguirli come utenti non privilegiati
Come disabilitare e disinstallare i servizi non necessari o eseguirli come utenti non privilegiati
Link copiato negli appunti

L'importanza di non avviare servizi non necessari è elevata: tramite falle nella loro sicurezza è possibile in molti casi eseguire codice sul server. Ora, se il servizio gira come utente root, "ci siamo giocati" il server intero.

Se, invece, il servizio gira come utente non privilegiato che abbia accesso via filesystem o rete ai suoi soli dati, l'aggressore avrà ottenuto sì il controllo di tali dati (ovviamente), ma se il server è configurato come sopra specificato (e come diremo innanzi), il danno sarà verosimilmente limitato a questi.

In pratica, se un cracker trovasse un exploit su un'applicazione Web e sfruttasse la shell di comandi eventualmente ottenuta, potrebbe solo visualizzare o modificare file e lanciare comandi sui quali l'utente senza privilegi con cui gira Apache ha diritto di lettura, scrittura ed esecuzione.

Eliminare tutti i servizi inutili ai nostri scopi

Diamo uno sguardo a cosa è installato in un sistema di esempio quale il mio computer di sviluppo. Per visualizzare i servizi attivi bisognerà, dalla shell di comando come utente root, digitare i comandi:

netstat -ap | grep LISTEN

Seguirà una lista di servizi attivi in ascolto:

tcp localhost.localdom:8100 LISTEN soffice.bin   
tcp localhost.localdo:mysql LISTEN mysqld         
tcp         *:sunrpc                  LISTEN     portmap    
tcp         *:auth                    LISTEN     inetd     
tcp         *:3963                    LISTEN     rpc.statd
tcp         *:x11                     LISTEN     X              
tcp         *:x11-1                   LISTEN     Xvfb           
tcp6        *:x11                     LISTEN     X              
tcp6        *:x11-1                   LISTEN     Xvfb           
tcp6        *:https                   LISTEN     apache2    
tcp         *:5900                    LISTEN     vino-server

Lo stesso si può ottenere con il software Nmap:

nmap -p1-65535 localhost

Con relativa risposta:

PORT     STATE SERVICE
443/tcp  open  https
111/tcp  open  rpcbind
113/tcp  open  auth
3306/tcp open  mysql
5900/tcp open  vnc
6000/tcp open  X11
6001/tcp open  X11:1
8100/tcp open  unknown

Nel nostro caso, per un PC desktop c'è il necessario ed il superfluo; per un server no, c'è assolutamente troppo: ponendo di essere in ambiente server, cerchiamo di capire cosa non va o a cosa porre attenzione.

  • Open Office e MySQL sono qui server per script interni: non c'è necessità che accettino connessioni di rete;
  • Per le elaborazioni cui è qui destinato, O.O. richiede un server grafico, che normalmente è X; allo scopo è invece installato un server grafico virtuale, Xvfb, sul quale viene appunto reindirizzato l'output. X non è di conseguenza più necessario (ed è bene disinstallarlo);
  • Xvfb deve ricevere solamente connessioni da locale (le connessioni da remoto possono esser bloccate anche sul firewall locale);
  • Portmap è un servizio di assegnazione di porta (dinamica) per i servizi RPC da esso controllati (come NIS e NFS) e dev'esser attivo al fine di poter eseguire chiamate di tale tipo. Se per noi non ha utilità, può esser rimosso;
  • fare attenzione alla scelta della password di accesso di VNC/ssh (login utente). Indispensabile un tunneling VPN a monte;
  • disabilitare i servizi di rete ritenuti inutili (es: auth) puntati da /etc/inetd.conf.

Ti consigliamo anche