5.8. Verifica di quali porte sono in ascolto

Dopo aver configurato i servizi della rete, è importante sapere quali porte sono in ascolto sulle interfacce di rete del sistema. Qualsiasi porta aperta può essere segno di una intrusione.

Ci sono due approcci di base per poter elencare le porte in ascolto sulla rete. L'approccio meno affidabile è quello d'interrogare lo stack della rete, inserendo dei comandi del tipo netstat -an o lsof -i. Questo metodo è meno affidabile in quanto questi programmi non effettuano un collegamento alla macchina dalla rete, ma cercano di sapere cosa viene eseguito sul sistema. Per questa ragione, queste applicazioni sono bersaglio da parte di aggressori. In questo modo, i cracker cercano di coprire le loro tracce nel caso in cui essi aprono delle porte di una rete non autorizzata.

Il modo più affidabile di controllare quali sono le porte in ascolto sulla rete, è quello di usare uno scanner del tipo nmap.

Il seguente comando emesso dalla console, determina quali sono le porte in ascolto dalla rete, per collegamenti TCP:

nmap -sT -O localhost

L'output di questo comando somiglia al seguente:

Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1596 ports scanned but not shown below are in state: closed)
Port       State       Service
22/tcp     open        ssh
111/tcp    open        sunrpc
515/tcp    open        printer
834/tcp    open        unknown
6000/tcp   open        X11
Remote OS guesses: Linux Kernel 2.4.0 or Gentoo 1.2 Linux 2.4.19 rc1-rc7)

Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds

Questo output mostra come il sistema stia eseguendo portmap a causa della presenza del servizio sunrpc. Tuttavia, vi è la presenza di un servizio misterioso sulla porta 834. Per controllare se la porta è associata con l'elenco ufficiale dei servizi conosciuti, inserire:

cat /etc/services | grep 834

Questo comando non fornisce alcun output. Ciò indica che mentre la porta rientra nella portata riservata (da 0 a 1023) e richiede un accesso root per essere aperta, essa non è associata con un servizio conosciuto.

Successivamente, potete controllare le informazioni inerenti la porta, utilizzando netstat o lsof. Per controllare la porta 834 usando netstat, usare il seguente comando:

netstat -anp | grep 834

Il comando ritorna il seguente output:

tcp   0    0 0.0.0.0:834    0.0.0.0:*   LISTEN   653/ypbind

La presenza di una porta aperta in netstat è rassicurante, in quanto mostra che il sistema non è stato aggredito da un hacker. Inoltre, l'opzione [p] rivela il processo id (PID) del servizio che ha aperto la porta. In questo caso la porta aperta appartiene a ypbind (NIS), il quale è un servizio RPC gestito insieme con il servizio portmap.

Il comando lsof rivela simili informazioni in quanto è capace di collegare le porte aperte ai servizi:

lsof -i | grep 834

Di seguito viene riportato la parte più importante dell'output per questo comando:

ypbind      653        0    7u  IPv4       1319                 TCP *:834 (LISTEN)
ypbind      655        0    7u  IPv4       1319                 TCP *:834 (LISTEN)
ypbind      656        0    7u  IPv4       1319                 TCP *:834 (LISTEN)
ypbind      657        0    7u  IPv4       1319                 TCP *:834 (LISTEN)

Come potete notare, questi tool sono in grado di rivelare molte informazioni sullo stato dei servizi eseguiti su di una macchina. Questi tool sono molto flessibili e possono fornire delle informazioni importanti sui servizi di rete e sulla configurazione. È altamente consigliato consultare le pagine man per lsof, netstat, nmap, e services.