Sic
-
Upload
giulio-ambrogi -
Category
Education
-
view
2.460 -
download
2
Transcript of Sic
1
Sviluppo di un plugin IPsec per l'implementazione dipolicy di medio livello in
sistemi UnixStudente: Giulio Ambrogi
Tutor: Marco Vallini, Fulvio Valenza
2
Obiettivo Traduzione di policy di sicurezza di medio
livello in configurazioni IPsec di basso livello per sistemi Unix
Policy di alto livello
Policy di medio livello
Configurazioni di basso livello
INTRODUZIONE
3
Policy di alto livello
Policy di alto livello
Policy di medio livello
Configurazioni di basso livello
vendor-independent technology-independent
Creare un canale sicuro per le comunicazioni tra il PC 1 e il PC 2
INTRODUZIONE
4
Policy di medio livello
Policy di alto livello
Policy di medio livello
Configurazioni di basso livello
vendor-independent technology-dependent
Proteggere il traffico tra 10.0.50.1 e 10.0.50.2 utilizzando ESP transport mode ed IKEv2
INTRODUZIONE
5
Configurazioni di basso livello
Policy di alto livello
Policy di medio livello
Configurazioni di basso livello
vendor-dependent technology-dependent
Il contenuto dei file ipsec.conf e ipsec.secrets presenti in /etc/
INTRODUZIONE
6
Svolgimento del lavoro1. Studio approfondito di IPsec ed IKE2. Studio del D4.13. Scelta dell’implementazione IPsec di
riferimento4. Estensione del MSPL5. Realizzazione del plugin6. Testing
INTRODUZIONE
7
IPsec Header: AH ed ESP Modalità: Transport Mode e Tunnel Mode Scenari di utilizzo:
◦ Accesso remoto◦ Site-to-site◦ End-to-end
RFC-430x
STUDIO DI IPsec
8
Extended Sequence Number
Window
L H
Miglioramento protezione da attacchi replay
Dimensione: 64 bit Valore locale: da 0 a 2^64 -1 Sequence Number in AH/ESP: solo i 32
bit meno significativi
STUDIO DI IPsec
9
Gestione della frammentazioneRelazione con IPsec
Transport Mode◦ L’header IPsec è applicabile solo a datagram IP
completi Stack IP del ricevente deve riassemblare prima di
processare IPsec
Tunnel Mode◦ L’header IPsec è applicabile anche a frammenti
Nessun problema
STUDIO DI IPsec
10
Path MTU DiscoveryConoscere la MTU minima Minore probabilità di frammentazione
WAN
MTU:1300
Fragmentation needed
MSG[1400 B]
A BMTU:1480
MTU:1480MTU:1480
MTU:1480
Miglioramento delle prestazioni
Gestione della frammentazione
Frammentazione in locale
STUDIO DI IPsec
11
Novità introdotte in IPsec-v3 Extended Sequence Number Supporto per AH declassato a MAY Combined mode algorithms (algoritmi di
cifratura autenticata) TFC: Variable-length Padding e dummy
packets SA unicast univocamente identificata da SPI
e, opzionalmente, dal protocollo Entry del SAD decorrelate NULL authentication declassata a MAY
STUDIO DI IPsec
12
IKEv2 IKEv2: RFC-7296 IKEv1: RFC-2409
Mutua autenticazione delle parti Stabilire Security Association 2 Exchange principali
◦ IKE_SA_INIT◦ IKE_AUTH
STUDIO DI IKE
13
Security Association (SA) Configuration (CP) Notify Payload (N) Traffic Selector (TSi/TSr) Authentication (AUTH) Certificate (CERT) Certificate Request (CERT_REQ)
PayloadSTUDIO DI IKE
14
Virtual IP
10.0.50.0/24
192.168.1.2
Give me 10.0.50.32 Ok
10.0.50.32
CFG_SET CFG_RESP
Richiedere un indirizzo IP al gateway della VPN◦ singolo IP◦ IP appartenente ad un range◦ IP appartenente ad una subnet
Tramite Configuration Payload (CP)
STUDIO DI IKE
15
Rekeying in-place rekeying è abilitato
◦ CREATE_CHILD_SA request◦ meno messaggi scambiati◦ più veloce
in-place rekeying non abilitato◦ necessario terminare la vecchia SA◦ eventualmente stabilirne una
nuova ri-autenticazione
risorse
tempo
tempo
risorse
STUDIO DI IKE
16
NAT-Traversal vs IKE e IPsec Problemi
◦ Transport mode: la modifica degli indirizzi IP causerebbe il fallimento della verifica della checksum per la controparte
◦ Tunnel mode: problemi di routing Soluzione
◦ Rilevamento di NAT attraverso i Notify Payload NAT_DETECTION_[SOURCE/DESTINATION]_IP
◦ IKE e IPsec incapsulati in UDP (src/dst port 4500)
STUDIO DI IKE
17
Principali novità in IKEv2 Supporto al NAT-Traversal Tempo di vita della SA autonomo per ogni peer MOBIKE Meccanismo di keepalive Message ID e acknowledgment Supporto per autenticazione EAP
STUDIO DI IKE
18
Valutate diverse implementazioni: IPsec-Tools, FreeS\WAN, OpenSwan, Libreswan e strongSwan
La scelta: strongSwan◦ più funzionalità◦ adatta a VPN grandi e complesse◦ continuo aggiornamento◦ ampiamente documentata◦ inclusa in Ubuntu 14.04 LTS (Aprile 2014)
La scelta dell’implementazioneIMPLEMENTAZIONE IPSEC
19
Demoni◦ Charon (IKEv2)◦ Pluto (IKEv1)
File di configurazione◦ ipsec.conf◦ ipsec.secrets
Funzionamento di strongSwanIMPLEMENTAZIONE IPSEC
20
Virtual IP ESN MOBIKE SA lifetime, rekey margin e rekeying tries Passphrase per chiave privata RSA crittata Local|Remote ID e filename (certificati) Modifiche di cardinalità
Estensione del MSPLESTENSIONE DEL MSPL
21
Il plugin: architettura
OutputWrappers
Output files
Auto Generated classes
MSPL XSDfile Program
validationJAXB
File generation
UnmarshallingParsing
ConvertingGenerating files
Input file(s)
REALIZZAZIONE DEL PLUGIN
22
Il plugin: fasi dell’esecuzione
Generazione automatica delle classi
Unmarshalling
Parsing
Traduzione
Popolamento dei wrappers
Trasformazione
REALIZZAZIONE DEL PLUGIN
23
Caratteristiche del software◦ Astrazione◦ Separazione dei componenti◦ Flessibilità◦ Javadoc
Il plugin: caratteristicheREALIZZAZIONE DEL PLUGIN
24
Estendere il plugin ad una nuova funzionalità di strongSwan◦ Aggiornare il wrapper del file di configurazione◦ Effettuarne il set nell’opportuno punto del
workflow Estendere il plugin al supporto di un’altra
implementazione IPsec◦ Estendere il parser astratto
Il plugin: estensioniREALIZZAZIONE DEL PLUGIN
25
StratificazioneMinor probabilità di commettere errori
Traduzione automaticaVelocità
Conclusioni (I)
Medio livelloAlto livello Basso livello
CONCLUSIONI
26
Punti di forza del plugin◦ Estendibilità
altre implementazioni IPsec nuove funzionalità di strongSwan
◦ Manutenibilità Java Bean e separazione dei compiti
◦ Documentazione manuali utente e sviluppatore Javadoc istruzioni per replica degli scenari
Conclusioni (II)CONCLUSIONI
27
Grazie per la vostra attenzione