La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti...

56
La Rete La Rete Configurazione di base Configurazione di base della rete della rete File system distribuiti File system distribuiti La sicurezza della rete La sicurezza della rete Giuseppe Stanghellini - IGM - CNR - Bologna

Transcript of La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti...

Page 1: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La ReteLa ReteLa ReteLa Rete

Configurazione di base della reteConfigurazione di base della rete

File system distribuitiFile system distribuiti

La sicurezza della reteLa sicurezza della rete

Giuseppe Stanghellini - IGM - CNR - Bologna

Page 2: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La rete TCP/IPLa rete TCP/IP La rete TCP/IPLa rete TCP/IPLe rete che si basa su IP (internet Le rete che si basa su IP (internet protocol) è stata sviluppata dall'esercito protocol) è stata sviluppata dall'esercito degli stati uniti con lo scopo di creare una degli stati uniti con lo scopo di creare una topologia di rete che fosse in grado di topologia di rete che fosse in grado di sopravvivere ad eventuali attacchi.sopravvivere ad eventuali attacchi.IP è alla base di una struttura di protocollo IP è alla base di una struttura di protocollo a livelli, ciascun livello di protocollo a livelli, ciascun livello di protocollo fornisce una funzione particolare al livello fornisce una funzione particolare al livello superiore.superiore.

Le rete che si basa su IP (internet Le rete che si basa su IP (internet protocol) è stata sviluppata dall'esercito protocol) è stata sviluppata dall'esercito degli stati uniti con lo scopo di creare una degli stati uniti con lo scopo di creare una topologia di rete che fosse in grado di topologia di rete che fosse in grado di sopravvivere ad eventuali attacchi.sopravvivere ad eventuali attacchi.IP è alla base di una struttura di protocollo IP è alla base di una struttura di protocollo a livelli, ciascun livello di protocollo a livelli, ciascun livello di protocollo fornisce una funzione particolare al livello fornisce una funzione particolare al livello superiore.superiore.

- IP - IP (Internet protocol)(Internet protocol)- TCP - TCP (Transmission control (Transmission control protocol)protocol)- UDP - UDP (User datagram protocol)(User datagram protocol)- ICMP - ICMP (Internet control message (Internet control message protocol)protocol)

- IP - IP (Internet protocol)(Internet protocol)- TCP - TCP (Transmission control (Transmission control protocol)protocol)- UDP - UDP (User datagram protocol)(User datagram protocol)- ICMP - ICMP (Internet control message (Internet control message protocol)protocol)

Insieme dei protocolli che si basano Insieme dei protocolli che si basano su IPsu IP

Insieme dei protocolli che si basano Insieme dei protocolli che si basano su IPsu IP

Page 3: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La rete TCP/IPLa rete TCP/IP La rete TCP/IPLa rete TCP/IPLo stack di protocollo IP e i protocolli Lo stack di protocollo IP e i protocolli

applicativiapplicativiLo stack di protocollo IP e i protocolli Lo stack di protocollo IP e i protocolli

applicativiapplicativi

Page 4: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La rete TCP/IPLa rete TCP/IP La rete TCP/IPLa rete TCP/IP

L'header del pacchetto IPL'header del pacchetto IPL'header del pacchetto IPL'header del pacchetto IP

- Il protocollo IP non è orientato alle connessioni, - Il protocollo IP non è orientato alle connessioni, cioè ciascun pacchetto è posto in rete ed inviato cioè ciascun pacchetto è posto in rete ed inviato alla destinazione senza verifica che vi sia alla destinazione senza verifica che vi sia realmente giunto.realmente giunto.

- Nell'header del pacchetto si nota che gli indirizzi - Nell'header del pacchetto si nota che gli indirizzi sono a 32 bit.sono a 32 bit.

- Il protocollo IP non è orientato alle connessioni, - Il protocollo IP non è orientato alle connessioni, cioè ciascun pacchetto è posto in rete ed inviato cioè ciascun pacchetto è posto in rete ed inviato alla destinazione senza verifica che vi sia alla destinazione senza verifica che vi sia realmente giunto.realmente giunto.

- Nell'header del pacchetto si nota che gli indirizzi - Nell'header del pacchetto si nota che gli indirizzi sono a 32 bit.sono a 32 bit.

Page 5: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La rete TCP/IPLa rete TCP/IP La rete TCP/IPLa rete TCP/IP

L'header del pacchetto TCPL'header del pacchetto TCPL'header del pacchetto TCPL'header del pacchetto TCP

- Il protocollo TCP è orientato alle connessioni, cioè - Il protocollo TCP è orientato alle connessioni, cioè sono garantiti sia la consegna che il corretto ordine sono garantiti sia la consegna che il corretto ordine dei pacchetti mediante l'uso di numeri sequenza e di dei pacchetti mediante l'uso di numeri sequenza e di conferme.conferme.

- Il protocollo TCP usa i numeri di porte per instradare - Il protocollo TCP usa i numeri di porte per instradare i pacchetti al processo corretto negli host di i pacchetti al processo corretto negli host di provenienza e destinazione.provenienza e destinazione.

- Il protocollo TCP è orientato alle connessioni, cioè - Il protocollo TCP è orientato alle connessioni, cioè sono garantiti sia la consegna che il corretto ordine sono garantiti sia la consegna che il corretto ordine dei pacchetti mediante l'uso di numeri sequenza e di dei pacchetti mediante l'uso di numeri sequenza e di conferme.conferme.

- Il protocollo TCP usa i numeri di porte per instradare - Il protocollo TCP usa i numeri di porte per instradare i pacchetti al processo corretto negli host di i pacchetti al processo corretto negli host di provenienza e destinazione.provenienza e destinazione.

Page 6: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La rete TCP/IPLa rete TCP/IP La rete TCP/IPLa rete TCP/IP

Struttura della rete TCP/IPStruttura della rete TCP/IPStruttura della rete TCP/IPStruttura della rete TCP/IP

- La rete TCP/IP è divisa in sottoreti, ognuna delle quali - La rete TCP/IP è divisa in sottoreti, ognuna delle quali comunica con le altre reti attraverso un dispositivo comunica con le altre reti attraverso un dispositivo chiamato gateway.chiamato gateway.

- L'indirizzo di una macchina in rete è univoco ed è a 32 - L'indirizzo di una macchina in rete è univoco ed è a 32 bit, ed è rappresentato come una quaterna di numeri, bit, ed è rappresentato come una quaterna di numeri, ognuno dei quali può essere assegnato nell'intervallo che ognuno dei quali può essere assegnato nell'intervallo che va da 0 a 255, per esempio '10.1.2.24'va da 0 a 255, per esempio '10.1.2.24'

- Una sottorete è definita con un quaterna di numeri che - Una sottorete è definita con un quaterna di numeri che specificano quale parte dell'indirizzo a 32 bit è statico e specificano quale parte dell'indirizzo a 32 bit è statico e quale dinamico, per esempio la quaterna 255.255.255.0 quale dinamico, per esempio la quaterna 255.255.255.0 specifica che i primi tre numeri dell'indirizzo delle specifica che i primi tre numeri dell'indirizzo delle macchine della rete sono statici e che il quarto è invece macchine della rete sono statici e che il quarto è invece modificabile; questa sottorete ha una disponibilità di 255 modificabile; questa sottorete ha una disponibilità di 255 indirizzi diversi.indirizzi diversi.

- Se per esempio avessimo Ipaddr=10.1.2.24, - Se per esempio avessimo Ipaddr=10.1.2.24, Netaddr=255.255.255.0 e tentassimo di comunicare con Netaddr=255.255.255.0 e tentassimo di comunicare con un IPaddr=10.2.2.123, allora il sistema si renderebbe un IPaddr=10.2.2.123, allora il sistema si renderebbe conto (tramite Netaddr e IPaddr) che il numero chiamato conto (tramite Netaddr e IPaddr) che il numero chiamato è al di fuori della sottorete locale e instraderebbe il è al di fuori della sottorete locale e instraderebbe il pacchetto attraverso il gateway.pacchetto attraverso il gateway.

- La rete TCP/IP è divisa in sottoreti, ognuna delle quali - La rete TCP/IP è divisa in sottoreti, ognuna delle quali comunica con le altre reti attraverso un dispositivo comunica con le altre reti attraverso un dispositivo chiamato gateway.chiamato gateway.

- L'indirizzo di una macchina in rete è univoco ed è a 32 - L'indirizzo di una macchina in rete è univoco ed è a 32 bit, ed è rappresentato come una quaterna di numeri, bit, ed è rappresentato come una quaterna di numeri, ognuno dei quali può essere assegnato nell'intervallo che ognuno dei quali può essere assegnato nell'intervallo che va da 0 a 255, per esempio '10.1.2.24'va da 0 a 255, per esempio '10.1.2.24'

- Una sottorete è definita con un quaterna di numeri che - Una sottorete è definita con un quaterna di numeri che specificano quale parte dell'indirizzo a 32 bit è statico e specificano quale parte dell'indirizzo a 32 bit è statico e quale dinamico, per esempio la quaterna 255.255.255.0 quale dinamico, per esempio la quaterna 255.255.255.0 specifica che i primi tre numeri dell'indirizzo delle specifica che i primi tre numeri dell'indirizzo delle macchine della rete sono statici e che il quarto è invece macchine della rete sono statici e che il quarto è invece modificabile; questa sottorete ha una disponibilità di 255 modificabile; questa sottorete ha una disponibilità di 255 indirizzi diversi.indirizzi diversi.

- Se per esempio avessimo Ipaddr=10.1.2.24, - Se per esempio avessimo Ipaddr=10.1.2.24, Netaddr=255.255.255.0 e tentassimo di comunicare con Netaddr=255.255.255.0 e tentassimo di comunicare con un IPaddr=10.2.2.123, allora il sistema si renderebbe un IPaddr=10.2.2.123, allora il sistema si renderebbe conto (tramite Netaddr e IPaddr) che il numero chiamato conto (tramite Netaddr e IPaddr) che il numero chiamato è al di fuori della sottorete locale e instraderebbe il è al di fuori della sottorete locale e instraderebbe il pacchetto attraverso il gateway.pacchetto attraverso il gateway.

Page 7: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

?? Configurazione di base della reteConfigurazione di base della rete Configurazione di base della reteConfigurazione di base della rete

Parametri da configurare:Parametri da configurare:Parametri da configurare:Parametri da configurare:

Numero IP (4 byte che identificano la Numero IP (4 byte che identificano la macchina)macchina)

Numero IP (4 byte che identificano la Numero IP (4 byte che identificano la macchina)macchina)Netmask (4byte che identificano la rete Netmask (4byte che identificano la rete locale)locale)

Netmask (4byte che identificano la rete Netmask (4byte che identificano la rete locale)locale)Gateway (Dispositivo di rete che permette Gateway (Dispositivo di rete che permette di uscire dalla rete locale)di uscire dalla rete locale)

Gateway (Dispositivo di rete che permette Gateway (Dispositivo di rete che permette di uscire dalla rete locale)di uscire dalla rete locale)

Nome host (Nome che identifica la Nome host (Nome che identifica la macchina)macchina)

Nome host (Nome che identifica la Nome host (Nome che identifica la macchina)macchina)DNS (Host che trasla da Nome host a DNS (Host che trasla da Nome host a numero IP)numero IP)

DNS (Host che trasla da Nome host a DNS (Host che trasla da Nome host a numero IP)numero IP)

Quindi per garantire il collegamento dobbiamo Quindi per garantire il collegamento dobbiamo configurare diversi parametri.configurare diversi parametri.

Quindi per garantire il collegamento dobbiamo Quindi per garantire il collegamento dobbiamo configurare diversi parametri.configurare diversi parametri.

Page 8: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

??

Configurazione di base della reteConfigurazione di base della rete Configurazione di base della reteConfigurazione di base della rete

Page 9: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

??

Configurazione di base della reteConfigurazione di base della rete Configurazione di base della reteConfigurazione di base della rete

Page 10: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

??

Configurazione di base della reteConfigurazione di base della rete Configurazione di base della reteConfigurazione di base della rete

Page 11: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

??

Configurazione di base della reteConfigurazione di base della rete Configurazione di base della reteConfigurazione di base della rete

Page 12: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

IfconfigIfconfigIfconfigIfconfig

Page 13: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

IfconfigIfconfigIfconfigIfconfig

Page 14: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

RouteRouteRouteRoute

Page 15: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

HostnameHostnameHostnameHostname

Page 16: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

DNS (domain name system)DNS (domain name system) DNS (domain name system)DNS (domain name system)

Page 17: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di rete I servizi di rete I servizi di rete I servizi di rete

A questo punto, abbiamo configurato A questo punto, abbiamo configurato la rete dal punto di vista del basso la rete dal punto di vista del basso livello, cioè abbiamo configurato la livello, cioè abbiamo configurato la rete fino al livello di trasporto.rete fino al livello di trasporto.Ora dobbiamo configurare i servizi, Ora dobbiamo configurare i servizi, cioè dobbiamo configurare il livello cioè dobbiamo configurare il livello applicativo.applicativo.

A questo punto, abbiamo configurato A questo punto, abbiamo configurato la rete dal punto di vista del basso la rete dal punto di vista del basso livello, cioè abbiamo configurato la livello, cioè abbiamo configurato la rete fino al livello di trasporto.rete fino al livello di trasporto.Ora dobbiamo configurare i servizi, Ora dobbiamo configurare i servizi, cioè dobbiamo configurare il livello cioè dobbiamo configurare il livello applicativo.applicativo.

????????????

????????????

Page 18: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

- Sono quei programmi che ci consentono - Sono quei programmi che ci consentono di aprire sessioni telnet, ftp, web, nfs di aprire sessioni telnet, ftp, web, nfs etc.etc.- I servizi che si vogliono fornire sono - I servizi che si vogliono fornire sono quindi molti.quindi molti.- Il numero IP invece è unico.- Il numero IP invece è unico.

QUINDIQUINDI- Ogni connessione di rete avviene - Ogni connessione di rete avviene attraverso un canale esclusivo (porta) attraverso un canale esclusivo (porta) che identifica in modo univoco la che identifica in modo univoco la connessione stessa.connessione stessa.- Vi sono porte dedicate a ben - Vi sono porte dedicate a ben determinati servizi; quelle fino a 1023 e determinati servizi; quelle fino a 1023 e alcune successive.alcune successive.

- Sono quei programmi che ci consentono - Sono quei programmi che ci consentono di aprire sessioni telnet, ftp, web, nfs di aprire sessioni telnet, ftp, web, nfs etc.etc.- I servizi che si vogliono fornire sono - I servizi che si vogliono fornire sono quindi molti.quindi molti.- Il numero IP invece è unico.- Il numero IP invece è unico.

QUINDIQUINDI- Ogni connessione di rete avviene - Ogni connessione di rete avviene attraverso un canale esclusivo (porta) attraverso un canale esclusivo (porta) che identifica in modo univoco la che identifica in modo univoco la connessione stessa.connessione stessa.- Vi sono porte dedicate a ben - Vi sono porte dedicate a ben determinati servizi; quelle fino a 1023 e determinati servizi; quelle fino a 1023 e alcune successive.alcune successive.

Cosa sonoCosa sonoCosa sonoCosa sono

Page 19: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Il file /etc/services (corrispondenza porta/servizio)Il file /etc/services (corrispondenza porta/servizio)Il file /etc/services (corrispondenza porta/servizio)Il file /etc/services (corrispondenza porta/servizio)

Page 20: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

-Vengono implementati tramite -Vengono implementati tramite programmi (demoni) che si pongono programmi (demoni) che si pongono in ascolto su una porta che gli viene in ascolto su una porta che gli viene assegnata.assegnata.

-La modalità di esecuzione di tali -La modalità di esecuzione di tali programmi puo' essere di due tipi:programmi puo' essere di due tipi:

1) Installazione permanente del 1) Installazione permanente del

programma in memoria.programma in memoria.2) Esecuzione del programma su 2) Esecuzione del programma su

richiestarichiesta del del clientclient (alla apertura del (alla apertura del collegamento)collegamento)..

-Vengono implementati tramite -Vengono implementati tramite programmi (demoni) che si pongono programmi (demoni) che si pongono in ascolto su una porta che gli viene in ascolto su una porta che gli viene assegnata.assegnata.

-La modalità di esecuzione di tali -La modalità di esecuzione di tali programmi puo' essere di due tipi:programmi puo' essere di due tipi:

1) Installazione permanente del 1) Installazione permanente del

programma in memoria.programma in memoria.2) Esecuzione del programma su 2) Esecuzione del programma su

richiestarichiesta del del clientclient (alla apertura del (alla apertura del collegamento)collegamento)..

Come sono implementatiCome sono implementatiCome sono implementatiCome sono implementati

Page 21: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Modalità 'programma in Modalità 'programma in memoria'memoria'

Modalità 'programma in Modalità 'programma in memoria'memoria'

Unix e' caratterizzato da una Unix e' caratterizzato da una modalità di funzionamento definita modalità di funzionamento definita 'runlevel', runlevel 1 per la modalita' 'runlevel', runlevel 1 per la modalita' 'single user', runlevel 3 per quella 'single user', runlevel 3 per quella multiutente e cosi' via ...multiutente e cosi' via ...Ad ogni runlevel corrisponde una Ad ogni runlevel corrisponde una configurazione dei servizi di rete che configurazione dei servizi di rete che vengono offerti (attivati o vengono offerti (attivati o disattivati).disattivati).

Unix e' caratterizzato da una Unix e' caratterizzato da una modalità di funzionamento definita modalità di funzionamento definita 'runlevel', runlevel 1 per la modalita' 'runlevel', runlevel 1 per la modalita' 'single user', runlevel 3 per quella 'single user', runlevel 3 per quella multiutente e cosi' via ...multiutente e cosi' via ...Ad ogni runlevel corrisponde una Ad ogni runlevel corrisponde una configurazione dei servizi di rete che configurazione dei servizi di rete che vengono offerti (attivati o vengono offerti (attivati o disattivati).disattivati).

Unix e i runlevelUnix e i runlevelUnix e i runlevelUnix e i runlevel

Page 22: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di reteImpostazione e configurazione dei Impostazione e configurazione dei

runlevelrunlevelImpostazione e configurazione dei Impostazione e configurazione dei

runlevelrunlevelI runlevel si impostano tramite il file I runlevel si impostano tramite il file di configurazione:di configurazione:

/etc/inittab/etc/inittab

I runlevel si impostano tramite il file I runlevel si impostano tramite il file di configurazione:di configurazione:

/etc/inittab/etc/inittab

La struttura di directory /etc/rc.d e' La struttura di directory /etc/rc.d e' utilizzata dal sistema per fare partire utilizzata dal sistema per fare partire o fermare i servizi nei relativi o fermare i servizi nei relativi runlevel (rc0.d, rc1.d, rc2.d etc.)runlevel (rc0.d, rc1.d, rc2.d etc.)

La struttura di directory /etc/rc.d e' La struttura di directory /etc/rc.d e' utilizzata dal sistema per fare partire utilizzata dal sistema per fare partire o fermare i servizi nei relativi o fermare i servizi nei relativi runlevel (rc0.d, rc1.d, rc2.d etc.)runlevel (rc0.d, rc1.d, rc2.d etc.)

Page 23: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Impostazione del runlevel Impostazione del runlevel predefinitopredefinito

Impostazione del runlevel Impostazione del runlevel predefinitopredefinito

Page 24: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Configurazione dei runlevel(GUI)Configurazione dei runlevel(GUI)Configurazione dei runlevel(GUI)Configurazione dei runlevel(GUI)

Page 25: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Configurazione dei runlevelConfigurazione dei runlevelConfigurazione dei runlevelConfigurazione dei runlevel

Page 26: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Modalidtà 'esecuzione alla Modalidtà 'esecuzione alla richiesta'richiesta'

Modalidtà 'esecuzione alla Modalidtà 'esecuzione alla richiesta'richiesta'

- Si ottiene tramite un 'superservizio' - Si ottiene tramite un 'superservizio' in grado di attivare i servizi alla in grado di attivare i servizi alla richiesta di un utilizzatore, si chiama richiesta di un utilizzatore, si chiama Inetd e deve essere avviato con la Inetd e deve essere avviato con la modalita' precedente (rcX.d).modalita' precedente (rcX.d).

- Ultimamente e' stato arricchito di - Ultimamente e' stato arricchito di una nuova una nuova sintassi e chiamato sintassi e chiamato xinetd. (extended inetd)xinetd. (extended inetd)

- Si ottiene tramite un 'superservizio' - Si ottiene tramite un 'superservizio' in grado di attivare i servizi alla in grado di attivare i servizi alla richiesta di un utilizzatore, si chiama richiesta di un utilizzatore, si chiama Inetd e deve essere avviato con la Inetd e deve essere avviato con la modalita' precedente (rcX.d).modalita' precedente (rcX.d).

- Ultimamente e' stato arricchito di - Ultimamente e' stato arricchito di una nuova una nuova sintassi e chiamato sintassi e chiamato xinetd. (extended inetd)xinetd. (extended inetd)

Page 27: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di reteConfigurazione di inetd (file Configurazione di inetd (file

/etc/inetd.conf)/etc/inetd.conf)Configurazione di inetd (file Configurazione di inetd (file

/etc/inetd.conf)/etc/inetd.conf)

Page 28: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di reteTcpd e i file /etc/hosts.*Tcpd e i file /etc/hosts.*Tcpd e i file /etc/hosts.*Tcpd e i file /etc/hosts.*

- Tcpd è un contenitore (wrapper) che - Tcpd è un contenitore (wrapper) che offre delle capacità di logging e offre delle capacità di logging e controllo degli accessi.controllo degli accessi.

- Viene eseguito prima del - Viene eseguito prima del programma del servizio.programma del servizio.

- Intercetta tutto il traffico di rete da - Intercetta tutto il traffico di rete da e verso il servizio, effettuando su di e verso il servizio, effettuando su di esso dei controlli che ne aumentano esso dei controlli che ne aumentano la sicurezza.la sicurezza.

- Il controllo degli accessi avviene - Il controllo degli accessi avviene tramite i file /etc/hosts.allow e tramite i file /etc/hosts.allow e /etc/hosts.deny./etc/hosts.deny.

- Tcpd è un contenitore (wrapper) che - Tcpd è un contenitore (wrapper) che offre delle capacità di logging e offre delle capacità di logging e controllo degli accessi.controllo degli accessi.

- Viene eseguito prima del - Viene eseguito prima del programma del servizio.programma del servizio.

- Intercetta tutto il traffico di rete da - Intercetta tutto il traffico di rete da e verso il servizio, effettuando su di e verso il servizio, effettuando su di esso dei controlli che ne aumentano esso dei controlli che ne aumentano la sicurezza.la sicurezza.

- Il controllo degli accessi avviene - Il controllo degli accessi avviene tramite i file /etc/hosts.allow e tramite i file /etc/hosts.allow e /etc/hosts.deny./etc/hosts.deny.

Page 29: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di reteTcpd (come funziona)Tcpd (come funziona)Tcpd (come funziona)Tcpd (come funziona)

- Tre regole molto semplici applicate - Tre regole molto semplici applicate in cascata:in cascata:

1) Se l'host è presente nel file 1) Se l'host è presente nel file hosts.allow la connessione è hosts.allow la connessione è accettata.accettata.

altrimentialtrimenti2) Se l'host è presente nel file 2) Se l'host è presente nel file hosts.deny la connessione è hosts.deny la connessione è rifiutata.rifiutata.

altrimentialtrimenti3) La connessione è accettata.3) La connessione è accettata.

- Tre regole molto semplici applicate - Tre regole molto semplici applicate in cascata:in cascata:

1) Se l'host è presente nel file 1) Se l'host è presente nel file hosts.allow la connessione è hosts.allow la connessione è accettata.accettata.

altrimentialtrimenti2) Se l'host è presente nel file 2) Se l'host è presente nel file hosts.deny la connessione è hosts.deny la connessione è rifiutata.rifiutata.

altrimentialtrimenti3) La connessione è accettata.3) La connessione è accettata.

Page 30: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Configurazione di xinetd (come si Configurazione di xinetd (come si fa)fa)

Configurazione di xinetd (come si Configurazione di xinetd (come si fa)fa)

-Xinted è caratterizzato da un file di -Xinted è caratterizzato da un file di configurazione principale e da un file configurazione principale e da un file per ogni servizio che puo' attivare per ogni servizio che puo' attivare ftp, telnet, etc. (ma potrebbe anche ftp, telnet, etc. (ma potrebbe anche essere un file unico, TANTO PER essere un file unico, TANTO PER COMPLICARCI LA VITA)COMPLICARCI LA VITA)

-Il principale è /etc/xinetd.conf-Il principale è /etc/xinetd.conf-Gli altri sono in /etc/xinetd.d/-Gli altri sono in /etc/xinetd.d/

-Xinted è caratterizzato da un file di -Xinted è caratterizzato da un file di configurazione principale e da un file configurazione principale e da un file per ogni servizio che puo' attivare per ogni servizio che puo' attivare ftp, telnet, etc. (ma potrebbe anche ftp, telnet, etc. (ma potrebbe anche essere un file unico, TANTO PER essere un file unico, TANTO PER COMPLICARCI LA VITA)COMPLICARCI LA VITA)

-Il principale è /etc/xinetd.conf-Il principale è /etc/xinetd.conf-Gli altri sono in /etc/xinetd.d/-Gli altri sono in /etc/xinetd.d/

Page 31: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di reteConfigurazione di xinetd Configurazione di xinetd

(/etc/xinetd.conf)(/etc/xinetd.conf)Configurazione di xinetd Configurazione di xinetd

(/etc/xinetd.conf)(/etc/xinetd.conf)

Page 32: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Configurazione di xinetd Configurazione di xinetd (/etc/xinetd.d/)(/etc/xinetd.d/)

Configurazione di xinetd Configurazione di xinetd (/etc/xinetd.d/)(/etc/xinetd.d/)

Page 33: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

I servizi di reteI servizi di rete I servizi di reteI servizi di rete

Restart del servizioRestart del servizioRestart del servizioRestart del servizio

-Tutte le volte che si cambia un file di -Tutte le volte che si cambia un file di configurazione di un servizio, perchè configurazione di un servizio, perchè i cambiamenti abbiano luogo è in i cambiamenti abbiano luogo è in genere necessario fare ripartire il genere necessario fare ripartire il servizio stesso.servizio stesso.

Per farlo è sufficente utilizzare lo Per farlo è sufficente utilizzare lo script presente in /etc/init.d, per script presente in /etc/init.d, per esempio:esempio:

/etc/init.d/xinetd restart/etc/init.d/xinetd restart ma anche cambiamenti alla config. di ma anche cambiamenti alla config. di rete:rete:

/etc/init.d/network restart/etc/init.d/network restart

-Tutte le volte che si cambia un file di -Tutte le volte che si cambia un file di configurazione di un servizio, perchè configurazione di un servizio, perchè i cambiamenti abbiano luogo è in i cambiamenti abbiano luogo è in genere necessario fare ripartire il genere necessario fare ripartire il servizio stesso.servizio stesso.

Per farlo è sufficente utilizzare lo Per farlo è sufficente utilizzare lo script presente in /etc/init.d, per script presente in /etc/init.d, per esempio:esempio:

/etc/init.d/xinetd restart/etc/init.d/xinetd restart ma anche cambiamenti alla config. di ma anche cambiamenti alla config. di rete:rete:

/etc/init.d/network restart/etc/init.d/network restart

Page 34: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

File system distribuitiFile system distribuiti File system distribuitiFile system distribuiti

- Permette ad un host remoto di montare - Permette ad un host remoto di montare partizioni di un sistema e di usare quelle partizioni di un sistema e di usare quelle partizioni come se fossero filesystem partizioni come se fossero filesystem locali.locali.- Correntemente ve ne sono due versioni, - Correntemente ve ne sono due versioni, la 2 e la 3. Linux usa la 3 quando è la 2 e la 3. Linux usa la 3 quando è disponibile, altrimenti prova con la 2.disponibile, altrimenti prova con la 2.- La versione 3 è più evoluta e fornisce il - La versione 3 è più evoluta e fornisce il supporto all'estensione LFS large file supporto all'estensione LFS large file support che permette anche ai sistemi a support che permette anche ai sistemi a 32 bit di creare e manipolare file più 32 bit di creare e manipolare file più grandi di 2GB.grandi di 2GB.

- Permette ad un host remoto di montare - Permette ad un host remoto di montare partizioni di un sistema e di usare quelle partizioni di un sistema e di usare quelle partizioni come se fossero filesystem partizioni come se fossero filesystem locali.locali.- Correntemente ve ne sono due versioni, - Correntemente ve ne sono due versioni, la 2 e la 3. Linux usa la 3 quando è la 2 e la 3. Linux usa la 3 quando è disponibile, altrimenti prova con la 2.disponibile, altrimenti prova con la 2.- La versione 3 è più evoluta e fornisce il - La versione 3 è più evoluta e fornisce il supporto all'estensione LFS large file supporto all'estensione LFS large file support che permette anche ai sistemi a support che permette anche ai sistemi a 32 bit di creare e manipolare file più 32 bit di creare e manipolare file più grandi di 2GB.grandi di 2GB.

NFS (network filesystem)NFS (network filesystem)NFS (network filesystem)NFS (network filesystem)

Page 35: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

File system distribuitiFile system distribuiti File system distribuitiFile system distribuiti

- NFS 2 e NFS 3 sono entrambi - NFS 2 e NFS 3 sono entrambi implementati sul contenitore tcpd, implementati sul contenitore tcpd, quindi anche loro utilizzano i file quindi anche loro utilizzano i file /etc/hosts.allow e /etc/hosts.deny./etc/hosts.allow e /etc/hosts.deny.

NFS 3 è meglio perchè:NFS 3 è meglio perchè:- Ha LFS, importante perchè si sta - Ha LFS, importante perchè si sta parlando di un filesystem distribuito, e parlando di un filesystem distribuito, e quindi sistemi UNIX a 64 bit quali Solaris, quindi sistemi UNIX a 64 bit quali Solaris, Digital Unix, Irix etc, possono montare Digital Unix, Irix etc, possono montare tale filesystem e avere la capacità di tale filesystem e avere la capacità di creare file più estesi di 2GB come per i creare file più estesi di 2GB come per i loro filesystem proprietari (xfs, ufs, avfs loro filesystem proprietari (xfs, ufs, avfs etc).etc).- NFS 3 gestisce meglio i problemi di - NFS 3 gestisce meglio i problemi di rete.rete.

- NFS 2 e NFS 3 sono entrambi - NFS 2 e NFS 3 sono entrambi implementati sul contenitore tcpd, implementati sul contenitore tcpd, quindi anche loro utilizzano i file quindi anche loro utilizzano i file /etc/hosts.allow e /etc/hosts.deny./etc/hosts.allow e /etc/hosts.deny.

NFS 3 è meglio perchè:NFS 3 è meglio perchè:- Ha LFS, importante perchè si sta - Ha LFS, importante perchè si sta parlando di un filesystem distribuito, e parlando di un filesystem distribuito, e quindi sistemi UNIX a 64 bit quali Solaris, quindi sistemi UNIX a 64 bit quali Solaris, Digital Unix, Irix etc, possono montare Digital Unix, Irix etc, possono montare tale filesystem e avere la capacità di tale filesystem e avere la capacità di creare file più estesi di 2GB come per i creare file più estesi di 2GB come per i loro filesystem proprietari (xfs, ufs, avfs loro filesystem proprietari (xfs, ufs, avfs etc).etc).- NFS 3 gestisce meglio i problemi di - NFS 3 gestisce meglio i problemi di rete.rete.

NFS (network filesystem)NFS (network filesystem)NFS (network filesystem)NFS (network filesystem)

Page 36: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

File system distribuitiFile system distribuiti File system distribuitiFile system distribuiti

- NFS usa RPC (remote procedure call) per indirizzare - NFS usa RPC (remote procedure call) per indirizzare le richieste tra client e server.le richieste tra client e server.- I processi che lavorano tramite RPC e che - I processi che lavorano tramite RPC e che permettono ad NFS di funzionare sono:permettono ad NFS di funzionare sono:

1) 1) rpc.mountdrpc.mountd:: Accetta le richieste di 'mount' dai Accetta le richieste di 'mount' dai client.client.

2) 2) rpc.nfsdrpc.nfsd:: Implementa la parte utente della Implementa la parte utente della comunicazione comunicazione NFS, in sostanza monta il file NFS, in sostanza monta il file system e ne permette l'utilizzo system e ne permette l'utilizzo alla stregua di alla stregua di uno locale.uno locale.

3) 3) rpc.statdrpc.statd:: Implementa il 'Network Status Implementa il 'Network Status Monitor' (NSM), Monitor' (NSM), utilizzato dal client alle inattese utilizzato dal client alle inattese cadute del collegamento NFS.cadute del collegamento NFS.

4) 4) rpc.quotadrpc.quotad:: Gestisce le quote. Gestisce le quote.5) 5) rpc.lockdrpc.lockd:: Gestisce i lock sui file (ma ora ci Gestisce i lock sui file (ma ora ci

pensa il kernel pensa il kernel linux)linux)

- NFS usa RPC (remote procedure call) per indirizzare - NFS usa RPC (remote procedure call) per indirizzare le richieste tra client e server.le richieste tra client e server.- I processi che lavorano tramite RPC e che - I processi che lavorano tramite RPC e che permettono ad NFS di funzionare sono:permettono ad NFS di funzionare sono:

1) 1) rpc.mountdrpc.mountd:: Accetta le richieste di 'mount' dai Accetta le richieste di 'mount' dai client.client.

2) 2) rpc.nfsdrpc.nfsd:: Implementa la parte utente della Implementa la parte utente della comunicazione comunicazione NFS, in sostanza monta il file NFS, in sostanza monta il file system e ne permette l'utilizzo system e ne permette l'utilizzo alla stregua di alla stregua di uno locale.uno locale.

3) 3) rpc.statdrpc.statd:: Implementa il 'Network Status Implementa il 'Network Status Monitor' (NSM), Monitor' (NSM), utilizzato dal client alle inattese utilizzato dal client alle inattese cadute del collegamento NFS.cadute del collegamento NFS.

4) 4) rpc.quotadrpc.quotad:: Gestisce le quote. Gestisce le quote.5) 5) rpc.lockdrpc.lockd:: Gestisce i lock sui file (ma ora ci Gestisce i lock sui file (ma ora ci

pensa il kernel pensa il kernel linux)linux)

Come funziona l'NFSCome funziona l'NFSCome funziona l'NFSCome funziona l'NFS

Page 37: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

File system distribuiti (NFS)File system distribuiti (NFS) File system distribuiti (NFS)File system distribuiti (NFS)Configurazione di NFSConfigurazione di NFSConfigurazione di NFSConfigurazione di NFS

Parte server:Parte server:1) Editare il file /etc/exports1) Editare il file /etc/exports2) Avviare (o riavviare) i servizi 2) Avviare (o riavviare) i servizi

rpc.mountd e rpc.mountd e rpc.nfsd (i due che rpc.nfsd (i due che sono strettamente sono strettamente indispensabili al funzionamento di NFS)indispensabili al funzionamento di NFS)Parte Client:Parte Client:

Montare i filesytem remoti tramite il Montare i filesytem remoti tramite il comandocomando

mount:mount:mount -t nfs hostname:/dir /dir_localemount -t nfs hostname:/dir /dir_localeE infine (se tutto va bene):E infine (se tutto va bene):IInserire una riga di configurazione nserire una riga di configurazione

nel filenel file/etc/fstab/etc/fstab

Parte server:Parte server:1) Editare il file /etc/exports1) Editare il file /etc/exports2) Avviare (o riavviare) i servizi 2) Avviare (o riavviare) i servizi

rpc.mountd e rpc.mountd e rpc.nfsd (i due che rpc.nfsd (i due che sono strettamente sono strettamente indispensabili al funzionamento di NFS)indispensabili al funzionamento di NFS)Parte Client:Parte Client:

Montare i filesytem remoti tramite il Montare i filesytem remoti tramite il comandocomando

mount:mount:mount -t nfs hostname:/dir /dir_localemount -t nfs hostname:/dir /dir_localeE infine (se tutto va bene):E infine (se tutto va bene):IInserire una riga di configurazione nserire una riga di configurazione

nel filenel file/etc/fstab/etc/fstab

Page 38: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

File system distribuiti (NFS)File system distribuiti (NFS) File system distribuiti (NFS)File system distribuiti (NFS)

Page 39: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La sicurezza della reteLa sicurezza della rete La sicurezza della reteLa sicurezza della rete

MA SOPRATTUTTOMA SOPRATTUTTOMA SOPRATTUTTOMA SOPRATTUTTO

L'erroreL'erroreL'erroreL'errore

Molte volte trova la strada spianata e si Molte volte trova la strada spianata e si diverte un mondo.diverte un mondo.

Molte volte trova la strada spianata e si Molte volte trova la strada spianata e si diverte un mondo.diverte un mondo.

- Molti utenti ritengono che i loro sistemi - Molti utenti ritengono che i loro sistemi non siano appetibili agli hacker, questi non siano appetibili agli hacker, questi stessi utenti sono esattamente quelli che gli stessi utenti sono esattamente quelli che gli hacker attaccano.hacker attaccano.- Qualsiasi macchina collegata in rete è - Qualsiasi macchina collegata in rete è appetibile, anche solo per il fatto di appetibile, anche solo per il fatto di costituire essa stessa un nuovo punto di costituire essa stessa un nuovo punto di partenza per futuri attacchi.partenza per futuri attacchi.- L'hacker ha come obiettivo primario - L'hacker ha come obiettivo primario guadagnare accesso a quante più macchine guadagnare accesso a quante più macchine gli è possibile.gli è possibile.

- Molti utenti ritengono che i loro sistemi - Molti utenti ritengono che i loro sistemi non siano appetibili agli hacker, questi non siano appetibili agli hacker, questi stessi utenti sono esattamente quelli che gli stessi utenti sono esattamente quelli che gli hacker attaccano.hacker attaccano.- Qualsiasi macchina collegata in rete è - Qualsiasi macchina collegata in rete è appetibile, anche solo per il fatto di appetibile, anche solo per il fatto di costituire essa stessa un nuovo punto di costituire essa stessa un nuovo punto di partenza per futuri attacchi.partenza per futuri attacchi.- L'hacker ha come obiettivo primario - L'hacker ha come obiettivo primario guadagnare accesso a quante più macchine guadagnare accesso a quante più macchine gli è possibile.gli è possibile.

Page 40: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La sicurezza della reteLa sicurezza della rete La sicurezza della reteLa sicurezza della rete

- Cambia i binari peculiari di unix allo - Cambia i binari peculiari di unix allo scopo di guadagnare informazioni sugli scopo di guadagnare informazioni sugli utenti e di mantenersi celato (login, libc, utenti e di mantenersi celato (login, libc, etc.)etc.)- Installa nuovo software allo scopo di - Installa nuovo software allo scopo di implementare servizi nascosti (chat-line, implementare servizi nascosti (chat-line, fserv per scambio file, etc.)fserv per scambio file, etc.)- Utilizza la potenza di calcolo e la banda - Utilizza la potenza di calcolo e la banda di rete disponibile per tentare di di rete disponibile per tentare di guadagnare l'accesso ad altre macchine.guadagnare l'accesso ad altre macchine.

- Cambia i binari peculiari di unix allo - Cambia i binari peculiari di unix allo scopo di guadagnare informazioni sugli scopo di guadagnare informazioni sugli utenti e di mantenersi celato (login, libc, utenti e di mantenersi celato (login, libc, etc.)etc.)- Installa nuovo software allo scopo di - Installa nuovo software allo scopo di implementare servizi nascosti (chat-line, implementare servizi nascosti (chat-line, fserv per scambio file, etc.)fserv per scambio file, etc.)- Utilizza la potenza di calcolo e la banda - Utilizza la potenza di calcolo e la banda di rete disponibile per tentare di di rete disponibile per tentare di guadagnare l'accesso ad altre macchine.guadagnare l'accesso ad altre macchine.

Cosa fa l'hacker (1)Cosa fa l'hacker (1)Cosa fa l'hacker (1)Cosa fa l'hacker (1)

Page 41: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La sicurezza della reteLa sicurezza della rete La sicurezza della reteLa sicurezza della rete

- Utilizza lo spazio disco per memorizzare - Utilizza lo spazio disco per memorizzare i propri file.i propri file.- Utilizza proprio software per - Utilizza proprio software per monitorare la rete (sniffing del traffico).monitorare la rete (sniffing del traffico).- Utilizza servizi locali per propri scopi - Utilizza servizi locali per propri scopi (spamming di posta etc.)(spamming di posta etc.)

- Utilizza lo spazio disco per memorizzare - Utilizza lo spazio disco per memorizzare i propri file.i propri file.- Utilizza proprio software per - Utilizza proprio software per monitorare la rete (sniffing del traffico).monitorare la rete (sniffing del traffico).- Utilizza servizi locali per propri scopi - Utilizza servizi locali per propri scopi (spamming di posta etc.)(spamming di posta etc.)

Cosa fa l'hacker (2)Cosa fa l'hacker (2)Cosa fa l'hacker (2)Cosa fa l'hacker (2)

E ... (buon motivo per tenerlo fuori)E ... (buon motivo per tenerlo fuori)E ... (buon motivo per tenerlo fuori)E ... (buon motivo per tenerlo fuori)

- Se vuole CANCELLA TUTTO.- Se vuole CANCELLA TUTTO.- Se vuole CANCELLA TUTTO.- Se vuole CANCELLA TUTTO.

Page 42: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La sicurezza della reteLa sicurezza della rete La sicurezza della reteLa sicurezza della rete

Cosa faCosa faCosa faCosa fa

Consente, a chi lo sfrutta, di eseguire Consente, a chi lo sfrutta, di eseguire codice arbitrario con privilegi di root.codice arbitrario con privilegi di root.Consente, a chi lo sfrutta, di eseguire Consente, a chi lo sfrutta, di eseguire codice arbitrario con privilegi di root.codice arbitrario con privilegi di root.

Come funzionaCome funzionaCome funzionaCome funziona

L'attacco avviene in generale sulle porte di L'attacco avviene in generale sulle porte di rete attraverso le quali è presente un rete attraverso le quali è presente un servizio (ftp, telnet, ssh etc.) che contiene servizio (ftp, telnet, ssh etc.) che contiene un bug di overflow, l'attaccante sostituisce un bug di overflow, l'attaccante sostituisce il programma sotto attacco con una shell, il programma sotto attacco con una shell, aprendo così a tutti gli effetti un accesso aprendo così a tutti gli effetti un accesso con utente root.con utente root.

L'attacco avviene in generale sulle porte di L'attacco avviene in generale sulle porte di rete attraverso le quali è presente un rete attraverso le quali è presente un servizio (ftp, telnet, ssh etc.) che contiene servizio (ftp, telnet, ssh etc.) che contiene un bug di overflow, l'attaccante sostituisce un bug di overflow, l'attaccante sostituisce il programma sotto attacco con una shell, il programma sotto attacco con una shell, aprendo così a tutti gli effetti un accesso aprendo così a tutti gli effetti un accesso con utente root.con utente root.

Il buffer overflowIl buffer overflowIl buffer overflowIl buffer overflow

Page 43: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La sicurezza della reteLa sicurezza della rete La sicurezza della reteLa sicurezza della rete

Cosa faCosa faCosa faCosa fa

Consiste nel tentativo da parte Consiste nel tentativo da parte dell'attaccante di impedire che un servizio dell'attaccante di impedire che un servizio sia disponibile agli utenti che sia disponibile agli utenti che normalmente ne fanno utilizzo.normalmente ne fanno utilizzo.

Consiste nel tentativo da parte Consiste nel tentativo da parte dell'attaccante di impedire che un servizio dell'attaccante di impedire che un servizio sia disponibile agli utenti che sia disponibile agli utenti che normalmente ne fanno utilizzo.normalmente ne fanno utilizzo.

Come avviene (alcuni esempi)Come avviene (alcuni esempi)Come avviene (alcuni esempi)Come avviene (alcuni esempi)

- Syn Flood (esaurimento delle risorse di - Syn Flood (esaurimento delle risorse di rete, con conseguente blocco della rete rete, con conseguente blocco della rete della macchina attaccata)della macchina attaccata)- Echo ICMP (saturazione della rete con - Echo ICMP (saturazione della rete con messaggi ICMP con conseguente blocco di messaggi ICMP con conseguente blocco di tutta rete.)tutta rete.)

- Syn Flood (esaurimento delle risorse di - Syn Flood (esaurimento delle risorse di rete, con conseguente blocco della rete rete, con conseguente blocco della rete della macchina attaccata)della macchina attaccata)- Echo ICMP (saturazione della rete con - Echo ICMP (saturazione della rete con messaggi ICMP con conseguente blocco di messaggi ICMP con conseguente blocco di tutta rete.)tutta rete.)

Il Denial of service (Dos)Il Denial of service (Dos)Il Denial of service (Dos)Il Denial of service (Dos)

Page 44: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La sicurezza della reteLa sicurezza della rete La sicurezza della reteLa sicurezza della rete

Storicamente i servizi più critici sono stati Storicamente i servizi più critici sono stati sendmail, ftpd, sshd, telnetd.sendmail, ftpd, sshd, telnetd.In ogni caso è buona norma disabilitare In ogni caso è buona norma disabilitare tutti i servizi che non servono, e se se ne tutti i servizi che non servono, e se se ne può fare a meno disabilitare anche ftpd e può fare a meno disabilitare anche ftpd e telnetd (con ssh si fanno le stesse cose telnetd (con ssh si fanno le stesse cose che con questi due servizi)che con questi due servizi)

Storicamente i servizi più critici sono stati Storicamente i servizi più critici sono stati sendmail, ftpd, sshd, telnetd.sendmail, ftpd, sshd, telnetd.In ogni caso è buona norma disabilitare In ogni caso è buona norma disabilitare tutti i servizi che non servono, e se se ne tutti i servizi che non servono, e se se ne può fare a meno disabilitare anche ftpd e può fare a meno disabilitare anche ftpd e telnetd (con ssh si fanno le stesse cose telnetd (con ssh si fanno le stesse cose che con questi due servizi)che con questi due servizi)

Come posso disabilitare i servizi ?Come posso disabilitare i servizi ?Come posso disabilitare i servizi ?Come posso disabilitare i servizi ?

I servizi criticiI servizi criticiI servizi criticiI servizi critici

Come abbiamo visto precedentemente i Come abbiamo visto precedentemente i servizi vengono attivati tramite i tre servizi vengono attivati tramite i tre principali meccanismi: /etc/inittab, principali meccanismi: /etc/inittab, /etc/inetd.conf (xinted.d) e /etc/rc.d/rcX.d. /etc/inetd.conf (xinted.d) e /etc/rc.d/rcX.d. Basta rimuoverli ...Basta rimuoverli ...

Come abbiamo visto precedentemente i Come abbiamo visto precedentemente i servizi vengono attivati tramite i tre servizi vengono attivati tramite i tre principali meccanismi: /etc/inittab, principali meccanismi: /etc/inittab, /etc/inetd.conf (xinted.d) e /etc/rc.d/rcX.d. /etc/inetd.conf (xinted.d) e /etc/rc.d/rcX.d. Basta rimuoverli ...Basta rimuoverli ...

Page 45: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

La sicurezza della reteLa sicurezza della rete La sicurezza della reteLa sicurezza della reteUsare ssh al posto di telnet:Usare ssh al posto di telnet:Usare ssh al posto di telnet:Usare ssh al posto di telnet:

>ssh nome_utente@host>ssh nome_utente@host>ssh nome_utente@host>ssh nome_utente@host

Usare scp al posto di ftp:Usare scp al posto di ftp:Usare scp al posto di ftp:Usare scp al posto di ftp:

>scp file_sorgente >scp file_sorgente utente@host:file_destinazioneutente@host:file_destinazione>scp file_sorgente >scp file_sorgente utente@host:file_destinazioneutente@host:file_destinazione

Perchè ssh + scp sono più sicuri di ftp + Perchè ssh + scp sono più sicuri di ftp + telnet ?telnet ?

Perchè ssh + scp sono più sicuri di ftp + Perchè ssh + scp sono più sicuri di ftp + telnet ?telnet ?

-Utilizzano un solo servizio, e quindi sono -Utilizzano un solo servizio, e quindi sono fisicamente meno vulnerabili.fisicamente meno vulnerabili.-Le informazioni che si scambiano client e -Le informazioni che si scambiano client e server sono tutte criptate quindi non e' server sono tutte criptate quindi non e' possibile sniffarne le sessioni in modo possibile sniffarne le sessioni in modo intelligibile.intelligibile.

-Utilizzano un solo servizio, e quindi sono -Utilizzano un solo servizio, e quindi sono fisicamente meno vulnerabili.fisicamente meno vulnerabili.-Le informazioni che si scambiano client e -Le informazioni che si scambiano client e server sono tutte criptate quindi non e' server sono tutte criptate quindi non e' possibile sniffarne le sessioni in modo possibile sniffarne le sessioni in modo intelligibile.intelligibile.

Page 46: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

Il personal firewallIl personal firewall Il personal firewallIl personal firewallI dati che viaggiano in reteI dati che viaggiano in reteI dati che viaggiano in reteI dati che viaggiano in rete

-I dati inviati in rete sono spediti non come -I dati inviati in rete sono spediti non come blocco unico ma suddivisi in frammenti, blocco unico ma suddivisi in frammenti, chiamati pacchetti. Ogni pacchetto è chiamati pacchetti. Ogni pacchetto è costituito da un header che contiene costituito da un header che contiene provenienza, destinazione, tipologia e provenienza, destinazione, tipologia e altro, e dai dati veri e propri (body).altro, e dai dati veri e propri (body). -Il kernel del computer di destinazione -Il kernel del computer di destinazione riassembla i dati in modo da ricostruire il riassembla i dati in modo da ricostruire il flusso originale.flusso originale.

-Il kernel è quindi in grado in via teorica di -Il kernel è quindi in grado in via teorica di scartare o respingere pacchetti in base scartare o respingere pacchetti in base alle informazioni contenute nell'header o alle informazioni contenute nell'header o nel corpo dei dati.nel corpo dei dati.

-I dati inviati in rete sono spediti non come -I dati inviati in rete sono spediti non come blocco unico ma suddivisi in frammenti, blocco unico ma suddivisi in frammenti, chiamati pacchetti. Ogni pacchetto è chiamati pacchetti. Ogni pacchetto è costituito da un header che contiene costituito da un header che contiene provenienza, destinazione, tipologia e provenienza, destinazione, tipologia e altro, e dai dati veri e propri (body).altro, e dai dati veri e propri (body). -Il kernel del computer di destinazione -Il kernel del computer di destinazione riassembla i dati in modo da ricostruire il riassembla i dati in modo da ricostruire il flusso originale.flusso originale.

-Il kernel è quindi in grado in via teorica di -Il kernel è quindi in grado in via teorica di scartare o respingere pacchetti in base scartare o respingere pacchetti in base alle informazioni contenute nell'header o alle informazioni contenute nell'header o nel corpo dei dati.nel corpo dei dati.

Page 47: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

Il personal firewallIl personal firewall Il personal firewallIl personal firewall

E' un firewall locale, incorporato nel E' un firewall locale, incorporato nel kernel. Ai dati è permesso passare kernel. Ai dati è permesso passare attraverso il firewall solo se soddisfano un attraverso il firewall solo se soddisfano un insieme di regole (filtri), che agiscono sulla insieme di regole (filtri), che agiscono sulla base del tipo di pacchetto (telnet, ssh, base del tipo di pacchetto (telnet, ssh, etc), e su indirizzi e porte di provenienza e etc), e su indirizzi e porte di provenienza e destinazione.destinazione.

E' un firewall locale, incorporato nel E' un firewall locale, incorporato nel kernel. Ai dati è permesso passare kernel. Ai dati è permesso passare attraverso il firewall solo se soddisfano un attraverso il firewall solo se soddisfano un insieme di regole (filtri), che agiscono sulla insieme di regole (filtri), che agiscono sulla base del tipo di pacchetto (telnet, ssh, base del tipo di pacchetto (telnet, ssh, etc), e su indirizzi e porte di provenienza e etc), e su indirizzi e porte di provenienza e destinazione.destinazione.

Cosa è un firewall ?Cosa è un firewall ?Cosa è un firewall ?Cosa è un firewall ?

Un firewall è un dispositivo di rete che Un firewall è un dispositivo di rete che instrada i pacchetti verso altri dispositivi instrada i pacchetti verso altri dispositivi di rete, effettuando su di essi un filtraggio di rete, effettuando su di essi un filtraggio secondo una logica programmata.secondo una logica programmata.In pratica è un router che fa passare solo In pratica è un router che fa passare solo ciò che si vuole.ciò che si vuole.

Un firewall è un dispositivo di rete che Un firewall è un dispositivo di rete che instrada i pacchetti verso altri dispositivi instrada i pacchetti verso altri dispositivi di rete, effettuando su di essi un filtraggio di rete, effettuando su di essi un filtraggio secondo una logica programmata.secondo una logica programmata.In pratica è un router che fa passare solo In pratica è un router che fa passare solo ciò che si vuole.ciò che si vuole.

Cosa è un personal firewallCosa è un personal firewallCosa è un personal firewallCosa è un personal firewall

Page 48: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

Il personal firewallIl personal firewall Il personal firewallIl personal firewall

Come è implementatoCome è implementatoCome è implementatoCome è implementato

In linux vi sono due principali In linux vi sono due principali implementazioni:implementazioni:1) ipchains (kernel 2.2.x)1) ipchains (kernel 2.2.x)2) iptables (kernel 2.4.x)2) iptables (kernel 2.4.x)Iptables è lo standard di oggi, ed è stato Iptables è lo standard di oggi, ed è stato completamente riscritto per avere completamente riscritto per avere maggiori prestazioni e più chiarezza, noi maggiori prestazioni e più chiarezza, noi esamineremo quest'ultimo.esamineremo quest'ultimo.Nel kernel (parte netfilter) ci sono tre Nel kernel (parte netfilter) ci sono tre tabelle chiamate catene: INPUT, OUTPUT e tabelle chiamate catene: INPUT, OUTPUT e FORWARD, quando il kernel riceve un FORWARD, quando il kernel riceve un pacchetto viene gestito nella modalità pacchetto viene gestito nella modalità seguente:seguente:

In linux vi sono due principali In linux vi sono due principali implementazioni:implementazioni:1) ipchains (kernel 2.2.x)1) ipchains (kernel 2.2.x)2) iptables (kernel 2.4.x)2) iptables (kernel 2.4.x)Iptables è lo standard di oggi, ed è stato Iptables è lo standard di oggi, ed è stato completamente riscritto per avere completamente riscritto per avere maggiori prestazioni e più chiarezza, noi maggiori prestazioni e più chiarezza, noi esamineremo quest'ultimo.esamineremo quest'ultimo.Nel kernel (parte netfilter) ci sono tre Nel kernel (parte netfilter) ci sono tre tabelle chiamate catene: INPUT, OUTPUT e tabelle chiamate catene: INPUT, OUTPUT e FORWARD, quando il kernel riceve un FORWARD, quando il kernel riceve un pacchetto viene gestito nella modalità pacchetto viene gestito nella modalità seguente:seguente:

Page 49: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

Il personal firewallIl personal firewall Il personal firewallIl personal firewallCome è implementato (2)Come è implementato (2)Come è implementato (2)Come è implementato (2)

-All'arrivo del pacchetto, il kernel guarda a chi è -All'arrivo del pacchetto, il kernel guarda a chi è destinato (fase di routing), se e' per la macchina locale destinato (fase di routing), se e' per la macchina locale allora il pacchetto passa all'esame della catena INPUT, allora il pacchetto passa all'esame della catena INPUT, se è per un'altra macchina sulla rete e il forward è se è per un'altra macchina sulla rete e il forward è abilitato (nel kernel) passa all'esame della catena abilitato (nel kernel) passa all'esame della catena FORWARD.FORWARD.

-Se un programma eseguito sulla macchina cerca di -Se un programma eseguito sulla macchina cerca di spedire un pacchetto, questo pacchetto passa spedire un pacchetto, questo pacchetto passa all'esame della catena OUTPUT.all'esame della catena OUTPUT.

-Ogni catena è formata da una lista di regole, ogni -Ogni catena è formata da una lista di regole, ogni regola è del tipo: 'SE IL PACCHETTO E' COSI' ALLORA regola è del tipo: 'SE IL PACCHETTO E' COSI' ALLORA FAI QUESTO CON IL PACCHETTO' dove QUESTO può FAI QUESTO CON IL PACCHETTO' dove QUESTO può essere: ACCEPT, DROP, QUEUE, RETURN.essere: ACCEPT, DROP, QUEUE, RETURN.

-Il kernel applica la prima regola della catena in esame -Il kernel applica la prima regola della catena in esame e se non è soddisfatta passa a quella successiva, una e se non è soddisfatta passa a quella successiva, una volta che le regole sono esaurite applica la POLICY volta che le regole sono esaurite applica la POLICY della catena (cioè la regola dei pacchetti che non della catena (cioè la regola dei pacchetti che non soddisfano nessuna regola).soddisfano nessuna regola).

-Per questo motivo la POLICY di ogni catena di regole -Per questo motivo la POLICY di ogni catena di regole del FIREWALL dovrebbe essere impostata a DROP.del FIREWALL dovrebbe essere impostata a DROP.

-All'arrivo del pacchetto, il kernel guarda a chi è -All'arrivo del pacchetto, il kernel guarda a chi è destinato (fase di routing), se e' per la macchina locale destinato (fase di routing), se e' per la macchina locale allora il pacchetto passa all'esame della catena INPUT, allora il pacchetto passa all'esame della catena INPUT, se è per un'altra macchina sulla rete e il forward è se è per un'altra macchina sulla rete e il forward è abilitato (nel kernel) passa all'esame della catena abilitato (nel kernel) passa all'esame della catena FORWARD.FORWARD.

-Se un programma eseguito sulla macchina cerca di -Se un programma eseguito sulla macchina cerca di spedire un pacchetto, questo pacchetto passa spedire un pacchetto, questo pacchetto passa all'esame della catena OUTPUT.all'esame della catena OUTPUT.

-Ogni catena è formata da una lista di regole, ogni -Ogni catena è formata da una lista di regole, ogni regola è del tipo: 'SE IL PACCHETTO E' COSI' ALLORA regola è del tipo: 'SE IL PACCHETTO E' COSI' ALLORA FAI QUESTO CON IL PACCHETTO' dove QUESTO può FAI QUESTO CON IL PACCHETTO' dove QUESTO può essere: ACCEPT, DROP, QUEUE, RETURN.essere: ACCEPT, DROP, QUEUE, RETURN.

-Il kernel applica la prima regola della catena in esame -Il kernel applica la prima regola della catena in esame e se non è soddisfatta passa a quella successiva, una e se non è soddisfatta passa a quella successiva, una volta che le regole sono esaurite applica la POLICY volta che le regole sono esaurite applica la POLICY della catena (cioè la regola dei pacchetti che non della catena (cioè la regola dei pacchetti che non soddisfano nessuna regola).soddisfano nessuna regola).

-Per questo motivo la POLICY di ogni catena di regole -Per questo motivo la POLICY di ogni catena di regole del FIREWALL dovrebbe essere impostata a DROP.del FIREWALL dovrebbe essere impostata a DROP.

Page 50: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

Il personal firewallIl personal firewall Il personal firewallIl personal firewall

Implementiamone uno molto Implementiamone uno molto semplicesemplice

Implementiamone uno molto Implementiamone uno molto semplicesemplice

-La prima cosa da fare è impostare la POLICY in -La prima cosa da fare è impostare la POLICY in modo che TUTTO CIO' CHE NON E' modo che TUTTO CIO' CHE NON E' ESPRESSAMENTE ACCETTATO VENGA RESPINTOESPRESSAMENTE ACCETTATO VENGA RESPINTO

>/sbin/iptables -P INPUT DROP>/sbin/iptables -P INPUT DROP

E poi abilitare i protocolli da accettare E poi abilitare i protocolli da accettare (ssh,dns,pop etc.):(ssh,dns,pop etc.):

> > /sbin/iptables -A INPUT -s 0/0 -d 10.1.2.24 -p tcp --dport /sbin/iptables -A INPUT -s 0/0 -d 10.1.2.24 -p tcp --dport ssh -j ACCEPTssh -j ACCEPT

> > /sbin/iptables -A INPUT -s 0/0 -d 10.1.2.24 -/sbin/iptables -A INPUT -s 0/0 -d 10.1.2.24 -p ... ...... ...... ...p ... ...... ...... ...

> > ..... ......... ....

Ma si può fare anche di più, con i nuovi filtri sullo Ma si può fare anche di più, con i nuovi filtri sullo stato della connessione (NEW, RELATED, stato della connessione (NEW, RELATED, ESTABLISHED), si può abilitare in maniera ESTABLISHED), si può abilitare in maniera flessibile la connessione verso l'esterno, solo flessibile la connessione verso l'esterno, solo quando è originata dalla macchina locale.quando è originata dalla macchina locale.

-La prima cosa da fare è impostare la POLICY in -La prima cosa da fare è impostare la POLICY in modo che TUTTO CIO' CHE NON E' modo che TUTTO CIO' CHE NON E' ESPRESSAMENTE ACCETTATO VENGA RESPINTOESPRESSAMENTE ACCETTATO VENGA RESPINTO

>/sbin/iptables -P INPUT DROP>/sbin/iptables -P INPUT DROP

E poi abilitare i protocolli da accettare E poi abilitare i protocolli da accettare (ssh,dns,pop etc.):(ssh,dns,pop etc.):

> > /sbin/iptables -A INPUT -s 0/0 -d 10.1.2.24 -p tcp --dport /sbin/iptables -A INPUT -s 0/0 -d 10.1.2.24 -p tcp --dport ssh -j ACCEPTssh -j ACCEPT

> > /sbin/iptables -A INPUT -s 0/0 -d 10.1.2.24 -/sbin/iptables -A INPUT -s 0/0 -d 10.1.2.24 -p ... ...... ...... ...p ... ...... ...... ...

> > ..... ......... ....

Ma si può fare anche di più, con i nuovi filtri sullo Ma si può fare anche di più, con i nuovi filtri sullo stato della connessione (NEW, RELATED, stato della connessione (NEW, RELATED, ESTABLISHED), si può abilitare in maniera ESTABLISHED), si può abilitare in maniera flessibile la connessione verso l'esterno, solo flessibile la connessione verso l'esterno, solo quando è originata dalla macchina locale.quando è originata dalla macchina locale.

Page 51: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

L'intrusoL'intruso L'intrusoL'intrusoCome accorgersi se un hacker ha preso Come accorgersi se un hacker ha preso

possesso della nostra workstationpossesso della nostra workstationCome accorgersi se un hacker ha preso Come accorgersi se un hacker ha preso

possesso della nostra workstationpossesso della nostra workstation

- Un bravo hacker si nasconde molto bene.- Un bravo hacker si nasconde molto bene.- Gli hacker che entrano in un sistema in genere - Gli hacker che entrano in un sistema in genere lo perturbano perchè:lo perturbano perchè:

1) Si aprono delle backdoor1) Si aprono delle backdoor 2) Utilizzano la banda di rete per i propri scopi2) Utilizzano la banda di rete per i propri scopi 3) Utilizzano il filesystem locale per i propri 3) Utilizzano il filesystem locale per i propri scopiscopi

4) Utilizzano la cpu locale per i propri scopi4) Utilizzano la cpu locale per i propri scopi

QUINDIQUINDI

Dobbiamo cercare nel filesystem, nella rete e Dobbiamo cercare nel filesystem, nella rete e controllare i processi del sistema.controllare i processi del sistema.

- Un bravo hacker si nasconde molto bene.- Un bravo hacker si nasconde molto bene.- Gli hacker che entrano in un sistema in genere - Gli hacker che entrano in un sistema in genere lo perturbano perchè:lo perturbano perchè:

1) Si aprono delle backdoor1) Si aprono delle backdoor 2) Utilizzano la banda di rete per i propri scopi2) Utilizzano la banda di rete per i propri scopi 3) Utilizzano il filesystem locale per i propri 3) Utilizzano il filesystem locale per i propri scopiscopi

4) Utilizzano la cpu locale per i propri scopi4) Utilizzano la cpu locale per i propri scopi

QUINDIQUINDI

Dobbiamo cercare nel filesystem, nella rete e Dobbiamo cercare nel filesystem, nella rete e controllare i processi del sistema.controllare i processi del sistema.

Page 52: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

L'intrusoL'intruso L'intrusoL'intruso

I cambiamenti nel filesystemI cambiamenti nel filesystemI cambiamenti nel filesystemI cambiamenti nel filesystem

- Backdoor:- Backdoor:Per backdoor si intende una via secondaria di accesso Per backdoor si intende una via secondaria di accesso al sistema, che dovrebbe essere disponibile anche se al sistema, che dovrebbe essere disponibile anche se la via primaria utilizzata dall'hacker viene disabilitata:la via primaria utilizzata dall'hacker viene disabilitata:

- Cosa controllare:- Cosa controllare:1) Che non siano eseguiti all'avvio programmi che 1) Che non siano eseguiti all'avvio programmi che implementano servizi che non conosciamo o servizi implementano servizi che non conosciamo o servizi dal nome sospetto.dal nome sospetto.2) Che i servizi che lanciamo (ftpd, sshd, telnetd, etc.) 2) Che i servizi che lanciamo (ftpd, sshd, telnetd, etc.) siano REALMENTE quelli che vogliamo lanciare (cioè siano REALMENTE quelli che vogliamo lanciare (cioè quelli forniti col sistema e non quelli compilati quelli forniti col sistema e non quelli compilati dall'hacker)dall'hacker)

- Come farlo:- Come farlo:Per tenere traccia dei cambiamenti effettuati al Per tenere traccia dei cambiamenti effettuati al filesystem esistono prodotti come tripwire, ma è filesystem esistono prodotti come tripwire, ma è sufficente fare dei confronti con un backup o con una sufficente fare dei confronti con un backup o con una macchina con la stessa installazione che non sia stata macchina con la stessa installazione che non sia stata compromessa.compromessa.

- Backdoor:- Backdoor:Per backdoor si intende una via secondaria di accesso Per backdoor si intende una via secondaria di accesso al sistema, che dovrebbe essere disponibile anche se al sistema, che dovrebbe essere disponibile anche se la via primaria utilizzata dall'hacker viene disabilitata:la via primaria utilizzata dall'hacker viene disabilitata:

- Cosa controllare:- Cosa controllare:1) Che non siano eseguiti all'avvio programmi che 1) Che non siano eseguiti all'avvio programmi che implementano servizi che non conosciamo o servizi implementano servizi che non conosciamo o servizi dal nome sospetto.dal nome sospetto.2) Che i servizi che lanciamo (ftpd, sshd, telnetd, etc.) 2) Che i servizi che lanciamo (ftpd, sshd, telnetd, etc.) siano REALMENTE quelli che vogliamo lanciare (cioè siano REALMENTE quelli che vogliamo lanciare (cioè quelli forniti col sistema e non quelli compilati quelli forniti col sistema e non quelli compilati dall'hacker)dall'hacker)

- Come farlo:- Come farlo:Per tenere traccia dei cambiamenti effettuati al Per tenere traccia dei cambiamenti effettuati al filesystem esistono prodotti come tripwire, ma è filesystem esistono prodotti come tripwire, ma è sufficente fare dei confronti con un backup o con una sufficente fare dei confronti con un backup o con una macchina con la stessa installazione che non sia stata macchina con la stessa installazione che non sia stata compromessa.compromessa.

Page 53: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

L'intrusoL'intruso L'intrusoL'intruso

La banda di reteLa banda di reteLa banda di reteLa banda di rete

--L'hacker utilizza la rete per guadagnare L'hacker utilizza la rete per guadagnare l'accesso alle altre macchine ma per l'accesso alle altre macchine ma per poterlo fare deve impostare l'interfaccia poterlo fare deve impostare l'interfaccia di rete nella modalità promiscua. Quando di rete nella modalità promiscua. Quando una scheda di rete è in questa modalità, una scheda di rete è in questa modalità, prende tutti i pacchetti che circolano sulla prende tutti i pacchetti che circolano sulla rete come se fossero suoi (ovviamente rete come se fossero suoi (ovviamente senza levarli dalla rete). In questo modo senza levarli dalla rete). In questo modo l'hacker può leggere, ad esempio, le l'hacker può leggere, ad esempio, le nostre sessioni telnet, a cominciare dal nostre sessioni telnet, a cominciare dal login (è tutto in chiaro a differenza di login (è tutto in chiaro a differenza di ssh).ssh).-Quindi se troviamo che l'interfaccia della -Quindi se troviamo che l'interfaccia della nostra macchina è in modalità promiscua, nostra macchina è in modalità promiscua, è MOLTO PROBABILE che essa sia stata è MOLTO PROBABILE che essa sia stata compromessa.compromessa.

--L'hacker utilizza la rete per guadagnare L'hacker utilizza la rete per guadagnare l'accesso alle altre macchine ma per l'accesso alle altre macchine ma per poterlo fare deve impostare l'interfaccia poterlo fare deve impostare l'interfaccia di rete nella modalità promiscua. Quando di rete nella modalità promiscua. Quando una scheda di rete è in questa modalità, una scheda di rete è in questa modalità, prende tutti i pacchetti che circolano sulla prende tutti i pacchetti che circolano sulla rete come se fossero suoi (ovviamente rete come se fossero suoi (ovviamente senza levarli dalla rete). In questo modo senza levarli dalla rete). In questo modo l'hacker può leggere, ad esempio, le l'hacker può leggere, ad esempio, le nostre sessioni telnet, a cominciare dal nostre sessioni telnet, a cominciare dal login (è tutto in chiaro a differenza di login (è tutto in chiaro a differenza di ssh).ssh).-Quindi se troviamo che l'interfaccia della -Quindi se troviamo che l'interfaccia della nostra macchina è in modalità promiscua, nostra macchina è in modalità promiscua, è MOLTO PROBABILE che essa sia stata è MOLTO PROBABILE che essa sia stata compromessa.compromessa.

Page 54: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

L'intrusoL'intruso L'intrusoL'intruso

La banda di rete (2)La banda di rete (2)La banda di rete (2)La banda di rete (2)

-Per controllare la rete è necessario sniffare i -Per controllare la rete è necessario sniffare i pacchetti della propria interfaccia di rete e pacchetti della propria interfaccia di rete e verificare che tutto ciò che passa è realmente verificare che tutto ciò che passa è realmente roba nostra, è molto utile a questo scopo roba nostra, è molto utile a questo scopo installare TCPDUMP, ETHEREAL e NTOP. installare TCPDUMP, ETHEREAL e NTOP.

-L'accoppiata TCPDUMP + ETHEREAL fornisce un -L'accoppiata TCPDUMP + ETHEREAL fornisce un buon ambiente, con cui siamo in grado di buon ambiente, con cui siamo in grado di ricostruire le sessioni TCP e visualizzarle in ricostruire le sessioni TCP e visualizzarle in modalità ascii (nel caso non siano criptate).modalità ascii (nel caso non siano criptate).

LINK:LINK:

www.tcpdump.orgwww.tcpdump.orgwww.ethereal.orgwww.ethereal.org

-Per controllare la rete è necessario sniffare i -Per controllare la rete è necessario sniffare i pacchetti della propria interfaccia di rete e pacchetti della propria interfaccia di rete e verificare che tutto ciò che passa è realmente verificare che tutto ciò che passa è realmente roba nostra, è molto utile a questo scopo roba nostra, è molto utile a questo scopo installare TCPDUMP, ETHEREAL e NTOP. installare TCPDUMP, ETHEREAL e NTOP.

-L'accoppiata TCPDUMP + ETHEREAL fornisce un -L'accoppiata TCPDUMP + ETHEREAL fornisce un buon ambiente, con cui siamo in grado di buon ambiente, con cui siamo in grado di ricostruire le sessioni TCP e visualizzarle in ricostruire le sessioni TCP e visualizzarle in modalità ascii (nel caso non siano criptate).modalità ascii (nel caso non siano criptate).

LINK:LINK:

www.tcpdump.orgwww.tcpdump.orgwww.ethereal.orgwww.ethereal.org

Page 55: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

L'intrusoL'intruso L'intrusoL'intruso

Il carico della CPUIl carico della CPUIl carico della CPUIl carico della CPU

- Controllare il carico della CPU non è banale - Controllare il carico della CPU non è banale come sembra.come sembra.

- I comandi top e ps in genere vengono modificati - I comandi top e ps in genere vengono modificati dall'hacker per non tenere conto dei propri dall'hacker per non tenere conto dei propri processi.processi.

E ALLORA ?E ALLORA ?

- Controllare il carico della CPU non è banale - Controllare il carico della CPU non è banale come sembra.come sembra.

- I comandi top e ps in genere vengono modificati - I comandi top e ps in genere vengono modificati dall'hacker per non tenere conto dei propri dall'hacker per non tenere conto dei propri processi.processi.

E ALLORA ?E ALLORA ?

Ci viene come al solito in aiuto il buon kernel Ci viene come al solito in aiuto il buon kernel linux, infatti esso memorizza nel filesystem /proc linux, infatti esso memorizza nel filesystem /proc una serie di file che danno informazioni sul una serie di file che danno informazioni sul sistema, e tra i quali si trova loadavg (load sistema, e tra i quali si trova loadavg (load average):average):

Quindi da un confronto tra l'output di Quindi da un confronto tra l'output di toptop e di e di cat /proc/loadavgcat /proc/loadavg si può capire se eventuali si può capire se eventuali processi nascosti sono installati nel sistema, a processi nascosti sono installati nel sistema, a patto che questi ultimi usino abbastanza CPU.patto che questi ultimi usino abbastanza CPU.

Ci viene come al solito in aiuto il buon kernel Ci viene come al solito in aiuto il buon kernel linux, infatti esso memorizza nel filesystem /proc linux, infatti esso memorizza nel filesystem /proc una serie di file che danno informazioni sul una serie di file che danno informazioni sul sistema, e tra i quali si trova loadavg (load sistema, e tra i quali si trova loadavg (load average):average):

Quindi da un confronto tra l'output di Quindi da un confronto tra l'output di toptop e di e di cat /proc/loadavgcat /proc/loadavg si può capire se eventuali si può capire se eventuali processi nascosti sono installati nel sistema, a processi nascosti sono installati nel sistema, a patto che questi ultimi usino abbastanza CPU.patto che questi ultimi usino abbastanza CPU.

Page 56: La Rete Configurazione di base della rete Configurazione di base della rete File system distribuiti File system distribuiti La sicurezza della rete La.

L'intrusoL'intruso L'intrusoL'intruso

E se scopro che la mia workstation è stata E se scopro che la mia workstation è stata compromessa cosa faccio ?compromessa cosa faccio ?

E se scopro che la mia workstation è stata E se scopro che la mia workstation è stata compromessa cosa faccio ?compromessa cosa faccio ?

Reinstallo tutto !Reinstallo tutto !(altro buon motivo per sforzarsi di rendere la (altro buon motivo per sforzarsi di rendere la

propria workstation più sicura)propria workstation più sicura)

Reinstallo tutto !Reinstallo tutto !(altro buon motivo per sforzarsi di rendere la (altro buon motivo per sforzarsi di rendere la

propria workstation più sicura)propria workstation più sicura)