SSL/TLS HTTPS -...

20
SSL/TLS SSL sta per Secure Socket Layer è lo standard più diffuso per la sicurezza. In poca parole aggiunge ai protocolli di livello sessione un sistema di crittografia capace di garantire la privacy e la sicurezza. Come già abbiamo visto e detto in precedenza parlando di crittografia... La sicurezza e la privacy sono garantite da algoritmi di crittografia simmetrica per la connessione, da algoritmi asimmetrici per l' autenticazione e da funzioni di hash per garantire l'integrità del dato. HTTPS Alcuni siti, come i portali delle banche, delle assicurazioni, siti di aziende private o enti pubblici, o anche facebook, utilizzano questo protocollo. Questo protocollo utilizza il sistema dei certificati . Infatti, come si vede nella figura, a sinistra dell'URL compare un lucchetto e cliccandoci possiamo andare a aprire il certificato. Sull'etichetta "Generale" vengono visualizzate alcune informazioni di carattere generale. Cliccando poi su "Dettagli" possiamo verificare i vari algoritmi di cifratura utilizzati (come ad esempio la chiave pubblica rilasciata dal sito per permettere l'autenticazione). I certificati vengono rilasciati da enti certificatori (GeoTrust). TLS Il TLS, che sta per Transport Layer Security , (è la versione più evoluta dell'SSL) opera subito sopra

Transcript of SSL/TLS HTTPS -...

Page 1: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

SSL/TLSSSL sta per Secure Socket Layer è lo standard più diffuso per la sicurezza. In poca parole aggiunge ai protocolli di livello sessione un sistema di crittografia capace di garantire la privacy e la sicurezza.Come già abbiamo visto e detto in precedenza parlando di crittografia... La sicurezza e la privacy sono garantite da algoritmi di crittografia simmetrica per la connessione, da algoritmi asimmetrici per l' autenticazione e da funzioni di hash per garantire l'integrità del dato.

HTTPSAlcuni siti, come i portali delle banche, delle assicurazioni, siti di aziende private o enti pubblici, o anche facebook, utilizzano questo protocollo. Questo protocollo utilizza il sistema dei certificati. Infatti, come si vede nella figura, a sinistra dell'URL compare un lucchetto e cliccandoci possiamo andare a aprire il certificato.

Sull'etichetta "Generale" vengono visualizzate alcune informazioni di carattere generale.Cliccando poi su "Dettagli" possiamo verificare i vari algoritmi di cifratura utilizzati (come ad esempio la chiave pubblica rilasciata dal sito per permettere l'autenticazione).I certificati vengono rilasciati da enti certificatori (GeoTrust).

TLSIl TLS, che sta per Transport Layer Security, (è la versione più evoluta dell'SSL) opera subito sopra

Page 2: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

il livello di trasporto e permette la suddivisione in blocchi dei dati e la loro cifratura.In un'architettura client/server, l'autenticazione TLS è unilaterale: è il solo server ad autenticarsi presso il client. Quando entrambi gli host, messi in comunicazione, utilizzano il TLS allora l'autenticazione è biunivoca.Il TLS è composto da due livelli:

• TLS Record Protocol : questo si occupa di prendere i dati dal livello superiore e li divide in blocchi (magari se necessario li comprime) e al tempo stesso li cifra (esiste anche una funzione di hash per verificare l'integrità del dato, HMAC);

• Handshake Protoco l: negozia i parametri di sicurezza. Le fasi sono:• messaggio di hello da parte del client• il server sceglie il protocollo• il server invia al client il certificato assieme alla sua chiave pubblica• il client ne verifica l'identità• il client genera una chiave di sessione casuale• il client invia al server la chiave di sessione casuale• il server decifra il messaggio con la proprio chiave privata ottenendo la chiave di

sessione• il server utilizza la chiave di sessione per cifrare e decifrare, tramite un algoritmo

simmetrico, il traffico di dati a seguire

SET e pagamenti online oggiIl protocollo SET (Secure Electronic Transaction) è il sistema adottato negli anni 90 da Mastercard e Visa per garantire lo scambio di informazioni biunivoco nel caso di transazioni di denaro.Con questa metodologia le transazioni sono sicure perché tutti gli attori coinvolti nello scambio usano particolari certificati.In realtà oggi si utilizzano metodi di pagamento diversi, come il Paypal o Vpay etc.

FirewallUn firewall è un meccanismo di difesa che è capace di bloccare qualsiasi ingresso indesiderato da parte di malintensionati all'interno di una rete protetta.Un firewall protegge la rete non solo da attacchi esterni ma anche da pericoli derivanti da computer presenti nella rete stessa.

Solitamente un firewall può essere costituito da una o più regole impostate su più dispositivi:• Regole impostate su un router;• Regole impostate su una macchina o su un server

Page 3: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

L'header di ogni pacchetto contiene informazioni riguardanti l'ip del mittente e del destinatario, il protocollo di rete usato e altre informazioni. In base a queste il firewall deciderà se accettare o meno il pacchetto.Un firewall è in grado anche di tradurre i singoli IP interni in modo tale da non poter risalire dall'esterno alla topologia di rete (NAT network address translation).Potrebbe ancora bloccare i contenuti di alcune pagine.Può avere anche una gestione degli utenti tramite crittografia.Possiamo costruire VPN per rendere ancora più sicura la comunicazione in rete.Certamente se la configurazione iniziale, che è stabilita da un essere umano, non è buona, il firewall non può non prescindere da questa.Oppure se dovesse verificarsi un attacco interno, il firewall in alcuni casi non può intervenire.Le tre regole base per costruire un firewall sono state raccolte da D. Cheswich e S. Bellovin:

• Il firewall deve essere l'unico punto di contatto tra la rete interna e quella esterna• Solo i pacchetti considerati accettabili dalle rules stabilite possono essere attraversare il

firewall• Il firewall deve essere un sistema altamente sicuro

In buona sostanza un firewall non si compra, si costruisce......Tramite la configurazione di un firewall su router noi abbiamo come vantaggio maggiore velocità del traffico in rete e maggiore trasparenza, ma ovviamente, come vedremo nei prossimi esempi laboratoriali, avremo configurazioni fatte a basso livello e quindi non avremo servizi aggiuntivi.Con una configurazione su macchina abbiamo altre funzioni e la configurazione avviene ad alto livello, tramite interfaccia grafica.

NATIl network address translation è una tecnica che permette a un router di trasformare e nascondere l'indirizzo IP dei dispositivi connessi ad esso in una rete interna verso l'esterno.

ProxyUn proxy server è un dispositivo che si interpone tra client e server facendo da tramite o da interfaccia tra i due host.

DMZUna Demilitarized zone è una parte di una rete LAN isolata. Questa sarà raggiungibile sia dall'esterno che dall'interno, a patto che non ne sia compromessa la sicurezza. Infatti gli host presenti in questa parte di LAN hanno la possibilità di limitare la connessione ad altri dispositivi connessi alla rete.Solitamente in questa porzione di LAN vengono collegati tutti i server che devono giovare all'accesso pubblico dall'esterno: web, dns, mail. L'accesso alla DMZ è consentito passando solo per i firewall, che ne costituiscono l'unica via di entrata e di uscita. Quindi si viene a creare un vero e proprio "vicolo cieco".A sua volta però la DMZ, non solo deve essere separata dall'esterno da un firewall, ma dovrà essere separata anche dalla rete interna sempre da un dispositivo di filtraggio.

Page 4: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Classificazione dei firewall• Ingress firewall: controllano il flusso esterno alla LAN• Egress firewall: controllano il flusso interno verso l'esterno

Oppure li possiamo classificare a secondo del numero di host:• personal firewall: se proteggono solo un dispositivo• network firewall: se protegge una intera rete

Oppure a seconda di cosa filtrano:• filtri di pacchetto a seconda dell'IP, delle porte o dei protocolli usati• server proxy: offrono una connessione intermediaria per conto di altri dispositivi.

ALCI comandi per settare le Access List Control variano a seconda del sistema operativo o marca di router che voi usate.Esistono due tipi di ALC:

• standard: servono a filtrare l'accesso controllando il traffico in entrata alla destinazioneaccess-list access-list-number {permit | deny} source-address [wildcard mask]

• estese: servono a filtrare l'accesso controllando il traffico in uscita dal mittenteaccess-list access-list-number {permit | deny} protocol source source-wildcard [operator port]

destination destination-wildcard [operator port] [established] [log]• l'access-list-number è un numero identificativo che va solitamente da 101 a 199 per le estese

o da 1 a 99 per le standard• permit o deny indica se stiamo permettendo o escludendo qualcosa• protocol indica il protocollo sul quale stabiliamo la regola• source o destination indicano l'indirizzo IP• gli altri campi li analizziamo con degli esempi

ALC standardPer prima cosa impostiamo la nostra ALC in modo tale da impedire a un host l'accesso a una rete mentre gli sarà permesso accedere a tutto il resto. Con questo tipo di ALC dovremo in pratica andare a configurare la porta del router più vicina alla destinazione e filtrarne il traffico in entrata.

Laboratorio 1 Packet TracerCostruiamo una rete come nella figura seguente.Cioè avremo quattro reti di classe A:10.0.0.0/8 con due PC collegati che avranno IP .2 e .3 (il default getway sarà .1)Faccio lo stesso per le reti 20.0.0.0/8, 30.0.0.0/8 e 40.0.0.0/8.Per collegare i due router utilizzo la rete 50.0.0.0/8 dove l'interfaccia di sinistra sarà la .1, mentre quella di destra .2 (utilizzo le porte seriali).Come protocollo di routing uso un dinamico RIP.A questo punto devo configurare la ALC per non permettere l'accesso alla rete 40.0.0.0/8 da parte dell'host 10.0.0.3.Da configure terminal sul router di destra (cioè quello collegato direttamente alla 40.0.0.0/8):

access-list 1 deny host 10.0.0.3 (oppure access-list 1 deny 10.0.0.3 0.0.0.0)access-list 1 permit any

Quindi o indichiamo host e l'indirizzo IP del dispositivo da bloccare oppure mettiamo direttamente

Page 5: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

l'indirizzo IP più la wildcard mask. Questo è un numero di 32 bit diviso in 4 ottetti, simile alla subnet-mask; indica quali bit devono essere controllati in una ALC: 1 se il bit corrispondente deve essere ignorato, 0 se deve essere controllato. Andiamo ora sull'interfaccia del router di destra che è collegata direttamente alla 40.0.0.0/8 (nel mio caso la fa0/0).

ip access-group 1 out

Ora se proviamo a pingare la 40.0.0.0/8 sarà raggiungibile da qualsiasi host, tranne che dal 10.0.0.3.Difatti se noi proviamo a simulare l'invio di un pacchetto con la modalità "simulation" (in basso a destra) e editiamo solo i pacchetti ICMP, vediamo che i pacchetti escono dalla rete 40.0.0.0 verso l'host 10.0.0.3 ma non fanno il percorso inverso....

Laboratorio 2 Packet TracerL'obiettivo ora è non permettere all'intera rete 10.0.0.0/8 di raggiungere la 40.0.0.0/8.Consiglio: per far bene...ad ogni nuovo esercizio vi consiglio di cancellare il router di destra e di installarne un altro nuovo, per poter così partire da una configurazione nuova... Oppure calcellare le regole appena impostate usando il comando no access-list 1 (se è la regola 1 che vogliamo cancellare....).Per far ciò usiamo la wildcard mask che non sarà altro che l'inverso della subnet mask usata. Cioè se noi stiamo usando la 255.0.0.0 allora la sua wildcard mask sarà 0.255.255.255.I comandi saranno molto simile all'esercizio precedente:

access-list 2 deny 10.0.0.0 0.255.255.255access-list 2 permit any

Andiamo ora sull'interfaccia del router di destra che è collegata direttamente alla 40.0.0.0/8 (nel mio caso la fa0/0).

ip access-group 2 out

Page 6: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Infatti provando a pingare....

Laboratorio 3 Packet TracerImpediamo invece l'accesso alla rete 40.0.0.0/8 da parte dell'intero range di IP 10.3.16.0 – 10.3.31.255.Per trovare la mask facciamo l'IP più alto meno quello più basso:10.3.31.255 -10.3.16.0=0.0.15.255Quindi sempre dal router di destra:

access-list 2 deny 10.3.16.0 0.0.15.255access-list 2 permit any

Poi invece sulla solita interfaccia collegata alla 40.0.0.0/8:ip access-group 2 out

Oss. In poche parole con una ALC possiamo limitare l'ingresso sull'intera rete la non sul singolo host.

ALC esteseOra proviamo a impostare le ALC estese, quindi il traffico che deve essere filtrato dovrà essere quello in uscita dalla sorgente.

Laboratorio 4 Packet TracerVogliamo bloccare l'accesso dell'host 10.0.0.3 all'host 40.0.0.3.Come sempre prima però cancelliamo la configurazione precedente tramite il comando no access-list 1 (cancellare anche la regola 2...).Volendo usare le ALC estese dobbiamo ora andare a configurare l'interfaccia del router di sinistra più vicina all'host 10.0.0.3 (che per me è fa 1/0).

access-list 101 deny ip host 10.0.0.3 40.0.0.3 0.0.0.0access-list 101 permit ip any any

E poi quindi sulla mia interfaccia fa 1/0:ip access-group 101 in

Notiamo quindi che a differenza di prima:• l'access-list-number ha un altro range:

• per ALC standard è 1-99• per ALC estese è 101-199

• poi vediamo come andiamo a configurare questa volta l'access-group sulla porta in modalità in piuttosto che out come prima (controlliamo il traffico che viene da dentro.... prima quello che entrava... provate anche questa volta con una simulazione come fatto in precedenza)

Page 7: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Laboratorio 5 Packet TracerOra proviamo sempre tramite ALC estesa a bloccare l'host 10.0.0.3 verso la rete 40.0.0.0/8.Il comando da inserire sempre nel router di sinistra sarà il seguente:

access-list 102 deny ip host 10.0.0.3 40.0.0.0 0.255.255.255access-list 102 permit ip any any

Poi entriamo sempre nella fa 1/0:ip access-group 102 in

Laboratorio 6 Packet TracerOra blocchiamo sempre con una ALC il traffico da tutta la rete 10.0.0.0 a tutta la rete 40.0.0.0.Bene sempre dalla CLI del router a sinistra:

access-list 103 deny ip 10.0.0.0 0.255.255.255 40.0.0.0 0.255.255.255access-list 103 permit ip any any

Mentre all'interfaccia dò il comando:ip access-group 103 in

Laboratorio 7 Packet TracerBlocchiamo con una ALC estesa il traffico da tutta la rete 10.0.0.0 al host 40.0.0.3.Bene sempre dalla CLI del router a sinistra:

access-list 104 deny ip 10.0.0.0 0.255.255.255 40.0.0.3 0.0.0.0access-list 103 permit ip any any

Mentre all'interfaccia dò il comando:ip access-group 103 in

Laboratorio 8 Packet TracerVogliamo ora configurare una rete con un server http collegato. Dobbiamo permettere che il server sia raggiungibile da un protocollo tcp che usa la porta www (praticamente che possiamo aprire la pagina tramite l'http). Ma il server non deve essere raggiungibile tramite ping.Usiamo come rete per tre PC collegati ad uno switch la 192.168.1.0/24 e invece come rete per collegare il server al router la 10.0.0.0/8 e come indirizzo per l'interfaccia del router collegata alla rete 192.168.1.1 mentre quella collegata al server la 10.10.10.11. Il server avrà indirizzo IP 10.10.10.10 mentre i tre PC saranno 192.168.1.11, 192.168.1.12, 192.168.1.13.Non abbiamo bisogno di configurare tabelle di routing visto che per questo tipo di configurazione va bene l'indirizzamento diretto.Andiamo sulla CLI del nostro router e mettiamo quindi:

access-list 101 deny icmp any anyaccess-list 101 permit tcp any any eq www

Sulla fa0/0:ip access-group 101 in

Tramite la stringa host-unreachable comunichiamo un messaggio all'utente.Proviamo infatti ad aprire la pagina che c'è sul server e possiamo visualizzarla, mentre il server non dà risposta al ping.

Page 8: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Laboratorio 9 Packet TracerOra vediamo come impostare il firewall direttamente da PC. Questa volta sarà un po' più semplice in quando avremo una modalità grafica per inserire le ALC.Creiamo una rete così fatta:

L'assegnazione dell'IP avviene attraverso DHCP (quindi dinamico grazie al server che ha IP 10.0.0.1).Vogliamo imporre delle regole direttamente da PC in modo tale da poter comunque permettere il DHCP, ma il PC0 non dovrà essere raggiungibile tramite ping.Basterà configurare solo il PC0, quindi andiamo sull'etichetta desktop e poi clicchiamo su firewall:

Page 9: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

A questo punto possiamo impostare le regole come in figura:

Ricordiamoci di attivare il servizio in alto a destra.Ora proviamo a assegnare l'IP in maniera dinamica tramite il dhcp e poi a effetuare ping oppure ad aprire una pagina sul server.

Laboratorio 10 Packet Tracer

Page 10: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Vogliamo ora configurare due reti 192.168.0.0/24 e 172.16.0.0/16 collegate da un router che a sua volta è collegato direttamente con un server 10.0.0.1/8.Il collegamento risulta abbastanza banale anche perche le tre reti comunicano attraverso l'indirizzamento diretto, quindi non abbiamo bisogno di stabilire le route.

Vogliamo quindi che la rete 192.168.0.0/24 possa avere i servizi di WEB e DNS mentre devono essere negati ICMP e FTP.La configurazione della rete 172.16.0.0/16 dovrà essere opposta, WEB e DNS no mentre saranno permessi ICMP e FTP.Prima cosa impostiamo il servizio DNS che farà corrispondere al nome www.miosito.it l'indirizzo 10.0.0.1 tramite il DNS. Ne verifichiamo il funzionamento da uno qualsiasi dei PC. Successivamente ci accertiamo che tutti i dispositivi possano pingare all'interno della rete e che il servizio FTP sia funzionante (di default avrà user: cisco e pw: cisco).Ora le ALC saranno impostate direttamente da server e in modalità grafica.Per procedere a questa impostazione andremo a cliccare sull'etichetta desktop (come fatto in precedenza per il PC).Noteremo che questa volta non stiamo bloccando i pacchetti in uscita dai PC ma andremo a filtrare i pacchetti in entrata al server.Ricordando di attivare il servizio firewall:Nega il ping da parte della rete 192.168.0.0/24 al server

Nega il servizio FTP da parte della rete 192.168.0.0/24 al server (FTP è un servizio su TCP che usa la porta 21)

Page 11: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Permette il servizio DNS da parte della rete 192.168.0.0/24 al server (DNS è un servizio su UDP che usa la porta 53)

Permette il servizio HTTP da parte della rete 192.168.0.0/24 al server (HTTP è un servizio su TCP che usa la porta 80)

Le altre a seguire le regole opposte per l'altra rete:

Page 12: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Da notare che noi in quest'ultime due situazioni abbiamo filtrato i pacchetti direttamente in entrata del dispositivo stesso.Nelle situazioni precedenti filtravamo i pacchetti sull'interfaccia e non arrivavano al dispositivo o alla rete interessata.Forse la configurazione di firewall da router risulta più sicura.Laboratorio 11 Packet TracerVogliamo configurare una rete dove i router coinvolti hanno la funzione di nat.Useremo tre reti:

• 200.10.0.0/24 (la rete con ip pubblico che collega due router)• 10.0.0.0/8 (rete con ip privato per il server) per la quale useremo il nat static, che permette di

configurare le regole di nat per ogni indirizzo ip• 192.168.1.0/24 (rete con ip privato per la rete di casa o aziendale) per la quale useremo il nat

overload, che permette di configurare le regole di nat per una rete interaAndiamo quindi a configurare la rete in questa maniera:

Impostiamo le route in modalità statica:• sul NAT OVERLOAD (cioè casalingo o aziendale):

ip route 0.0.0.0 0.0.0.0 s2/0• sul NAT STATIC (cioè del server web);

ip route 0.0.0.0 0.0.0.0 s2/0In questa maniera si configura una route da una lan verso l'ISP, lo vedremo più avanti con le reti pubbliche. In poche parole vai a dire al router che tutto quello che non fa parte della tua rete lo instradi sull'interfaccia che va all'esterno, quindi sulla seriale.Ora andiamo sul router dell'ISP e digitiamo i seguenti comandi:

• per configurare il nat static dall'IP 10.0.0.254 (privato) con l'ip 200.10.0.2 (pubblico)• per dire all'interfaccia s2/0 che è il nat outside• per dire all'interfaccia fa0/0 che è il nat inside

ip nat inside source static 10.0.0.254 200.10.0.2int s2/0

ip nat outsideint fa0/0

ip nat insideOra invece andremo sul router di casa (o aziendale...) e digiteremo:

• per definire una regola di accesso, che in realtà mi server per configurare un range di indirizzi sui quali interverrà il nat in overload

• per configurare il nat overload dal range di indirizzi appena definito (privato) con l'ip della porta seriale 2/0 (pubblico)

Page 13: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

• per dire all'interfaccia s2/0 che è il nat outside• per dire all'interfaccia fa0/0 che è il nat inside

access-list 1 permit 192.168.1.0 0.0.0.255ip nat inside source list 1 interface s2/0 overload

int s2/0ip nat outside

int fa0/0ip nat inside

Ora la cosa interessante è andare a catture un pacchetto durante un ping da uno dei due pc al server (ricordiamo che, avendo definito il nat anche per il server, non dovremo pingare il suo ip privato ma quello pubblico....). Come potremo notare l'ip di partenza non è l'ip del mittente...

VPNLe VPN (Virtual Private Network) costituiscono una rete logica privata che crea una connessione (con dati cifrati) su una rete pubblica. In poche parole si riesce a creare delle reti private sulla base della rete internet.Con i giusti accorgimenti possiamo sniffare dei pacchetti da qualsiasi connessione... Quindi il pacchetto risulta sempre e comunque visibile durante uno scambio di dati in rete (crittografato o no). Tramite le VPN noi possiamo creare un "VPN Tunnel" dove i nostri pacchetti entrano e non saranno più catturabili in chiaro a nessun sniffer. Il meccanismo usato è quello del tunneling.Il tunneling permette di usare internet per creare connessioni sicure tra user remoti e reti private.Ogni connessione sicura è chiamata tunnel.Il tunnel chiaramente è bidirezionale.Tramite il tunnelling si riesce a creare un'estensione della rete locale. In pratica sarà possibile collegarsi da remoto, quindi da un dispositivo fisicamente lontano dalla LAN (ma pur sempre a internet), ad una rete locale in maniera totalmente sicura.Le reti VPN utilizzano collegamenti che necessitano di autenticazione in modo da garantire l'accesso ai soli utenti autorizzati; per garantire la sicurezza che i dati inviati in Internet non siano

Page 14: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

intercettati o utilizzati da altri non autorizzati, le reti utilizzano sistemi di crittografia.Vengono usati gli standard dell' IPsec.IPsec sta per IP security ed è una collezione di protocolli a livello rete:

• IKE : Internet Key Exchange serve per stabilire una security association (una SA è il contratto che stabiliscono le due entità che scambiano informazioni). In sostanza è il protocollo utilizzato per lo scambio delle chiavi per la codifica e l'autenticazione. Questo protocollo genera chiavi di sessione diverse per ogni blocco di dati inviati. Lo scambio di chiavi avviene attraverso l'algoritmo di Diffie-Hellman

• AH : authentication Header serve a garantire l'autenticazione dell'IP sorgente e l'integrità dei dati, utilizzando la firma digitale , affinchè il destinatario possa essere certo che il pacchetto sia stato generato dall'host corrispondente all'IP sorgente

• ESP : Encapsulation Security Payload usato in aggiunta a AH per garantire la riservatezza attuando una cifratura del pacchetto IP

• NAT Traversal : se uno dei due peer coinvolti opera la funzione di NAT• ISAKMP sta per Internet Security Association and Key Management Protocol. È un

protocollo per stabilire e creare le chiavi per criptare il traffico nel tunnel. Stabilisce procedure per attivare o disattivare una SA

In IPsec un peer è un client sicuro e remoto.Durante la negoziazione i peer stabiliscono prima il tunnel e poi come scambiarsi i dati attraverso il tunnel.

La fase di negoziazione si divide in due:• i due dispositivi devo accordarsi su

• l'algoritmo di crittografia (DES o Triple DES)• l'algoritmo per controllare l'integrità del messaggio (MD5 o SHA-1)• come autenticare le connessioni

• una volta accordati su questo devono ancora stabilire:• Se usare AH• Se usare ESP• Quale algoritmo di crittografia per ESP e per AH

Possiamo stabile una VPN in due modalità:• Site to site : la connessione virtuale sarà stabilita tra due router distinti e separati. Verrà

creato un tunnel virtuale che permetterà lo scambio di dati crittografati. I due dispositivi coinvolti nel tunnelling dovranno essere configurati in modo simmetrico;

• Client user mode : la connessione virtuale sarà stabilita tra un client fisicamente posto all'esterno e la LAN stessa. Dovrà essere configurato solo il router della LAN da "virtualizzare". Sul pc che farà da client, che ci permetterà quindi la connessione su la LAN virtuale, sarà presente un software client. Per avvviare il client l'utente avrà bisogno delle credenziali che sono state stabilite in chiave di configurazione sul router. Il client potrebbe trovarsi fisicamente "ovunque".

Page 15: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Laboratorio 12 Packet TracerCreiamo una connessione site to site tra due LAN. Prendiamo l'esempio come in figura:

Abbiamo la rete 192.168.0.0/24 e la rete 192.168.1.0/24; le due LAN sono collegate da una 10.0.0.0/8. Dobbiamo stabilire una connessione cifrata (tunnel virtuale) tra i due router.Il router di sinistra sarà impostato nella seguente maniera:

crypto isakmp policy 10(stabilisco la priorità ed entro in modalità crypto)

authentication pre-share(usa chiavi prestabilite)

hash sha(specifico l'algoritmo di hash)

encryption aes 256(algoritmo per criptare)

group 2(identificatore di gruppo del Diffie-Hellman per l'algoritmo di cifratura usato)

lifetime 86400(stabilisce un tempo per la negoziazione ISAKMP)

exitcrypto isakmp key toor address 10.0.0.2

(stabilisce ISAKMP nell'altra interfaccia e indica quindi l'interfaccia dove termina il tunnel)crypto ipsec transform-set TSET esp-aes esp-sha-hmac

(definiamo il protocollo IPSEC nominando la trasformazione TSET e l'algoritmo di crittografia da usare, in questo caso useremo ESP per il controllo dell'integrità del dato)access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255

(dichiaro una regola acl)crypto map CMAP 10 ipsec-isakmp

(definisco il nome di una funzione di crittografica CMAP)set peer 10.0.0.2

(imposto anche in questo caso l'estremo del tunnel)match address 101

(origine-destinazione dei pacchetti tramite le rule appena impostata)set transform-set TSET

(abilito la trasformazione)

Page 16: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

exitinterface fa0/1

crypto map CMAP(attivo la funzione sull'interfaccia)

Ora salviamo e andiamo a dare le stesse impostazioni sul router di destra:crypto isakmp policy 10authentication pre-share

hash shaencryption aes 256

group 2lifetime 86400

exitcrypto isakmp key toor address 10.0.0.1

crypto ipsec transform-set TSET esp-aes esp-sha-hmacaccess-list 101 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255

crypto map CMAP 10 ipsec-isakmpset peer 10.0.0.1

match address 101set transform-set TSET

exitinterface fa0/1

crypto map CMAPA questo punto ho attivato il tunnel su entrambi i router e risultano connessi.Infatti su questo canale (grazie alla rule impostata) non sarà possibile alcun collegamento se non quello tra le due LAN e i pacchetti che viaggiano su di esso saranno cifrati.

Page 17: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Laboratorio 13 Packet TracerQuesta volta creiamo una rete in modalità user client.La rete è utilizzata è la stessa di prima, ho aggiunto solamente un pc sulla rete di sinistra e un server su quella di destra:

Voglio configurare una VPN che permetta a qualsiasi utente di connettersi da una postazione qualsiasi (in questo caso dalla rete 192.168.10.0/24), sulla rete 192.168.20.0/24, tramite un programma (appunto cliente) installato sul proprio pc.La configurazione dovrà essere fatta solo sul router di destra ed è simile a quella vista nell'esercizio precedente:

aaa new-modelaaa authentication login default local none

aaa authentication login VPN localaaa authorization network VPN local

username pippobaudo secret pippobaudo(definisco un utenza per la VPN)

ip local pool VPNCLIENTS 192.168.20.20 192.168.20.50(definisco l'intervallo degli indirizzi assegnati ai client della VPN)

crypto isakmp policy 10authentication pre-share

encryption aes 256group 2

ex(come esercizio precedente)

crypto isakmp client configuration group VPNGROUPkey 123

Page 18: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

pool VPNCLIENTSnetmask 255.255.255.0

ex(definisco un gruppo per la mia utenza alla quale sarà assegnato un IP appartenente all'intervallo

sopra stabilito e la chiave)

crypto ipsec transform-set MIOSET esp-3des esp-sha-hmaccrypto dynamic-map MIADIN 10

set transform-set MIOSETreverse-route

ex(definisco un insieme e una funzione dinamica)

crypto map MIADIN client configuration address respondcrypto map MIADIN isakmp authorization list VPN

crypto map MIADIN 10 ipsec-isakmp dynamic MIADINcrypto map MIADIN client authentication list VPN

(imposto la funzione dinamica)

int fa0/1crypto map MIADIN

(setto la funzione dinamica sulla porta del router)

Ora vado su uno dei PC della rete 192.168.10.0/24 e vado in DESKTOP, dove trovo VPN:

Entro e vado a inserire:

Page 19: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti

Appena la VPN sarà funzionante compare:

Infatti possiamo andare a mandare un ICMP da questo host a un altro della rete 192.168.20.0/24 e vado a analizzare il pacchetto in modalità simulation:fino a quando il pacchetto non raggiunge la rete di destra avrà sempre come ip sorgente....

Appena passa dal router di sinistra.....

Page 20: SSL/TLS HTTPS - stekandaloro.altervista.orgstekandaloro.altervista.org/blog/wp-content/.../10/sistemi-e-reti-9... · Con questa metodologia le transazioni sono sicure perché tutti