Sic

27
Sviluppo di un plugin IPsec per l'implementazione di policy di medio livello in sistemi Unix Studente: Giulio Ambrogi Tutor: Marco Vallini, Fulvio Valenza 1

Transcript of Sic

Page 1: Sic

1

Sviluppo di un plugin IPsec per l'implementazione dipolicy di medio livello in

sistemi UnixStudente: Giulio Ambrogi

Tutor: Marco Vallini, Fulvio Valenza

Page 2: Sic

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

Page 3: Sic

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

Page 4: Sic

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

Page 5: Sic

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

Page 6: Sic

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

Page 7: Sic

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

Page 8: Sic

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

Page 9: Sic

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

Page 10: Sic

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

Page 11: Sic

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

Page 12: Sic

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

Page 13: Sic

13

Security Association (SA) Configuration (CP) Notify Payload (N) Traffic Selector (TSi/TSr) Authentication (AUTH) Certificate (CERT) Certificate Request (CERT_REQ)

PayloadSTUDIO DI IKE

Page 14: Sic

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

Page 15: Sic

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

Page 16: Sic

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

Page 17: Sic

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

Page 18: Sic

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

Page 19: Sic

19

Demoni◦ Charon (IKEv2)◦ Pluto (IKEv1)

File di configurazione◦ ipsec.conf◦ ipsec.secrets

Funzionamento di strongSwanIMPLEMENTAZIONE IPSEC

Page 20: Sic

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

Page 21: Sic

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

Page 22: Sic

22

Il plugin: fasi dell’esecuzione

Generazione automatica delle classi

Unmarshalling

Parsing

Traduzione

Popolamento dei wrappers

Trasformazione

REALIZZAZIONE DEL PLUGIN

Page 23: Sic

23

Caratteristiche del software◦ Astrazione◦ Separazione dei componenti◦ Flessibilità◦ Javadoc

Il plugin: caratteristicheREALIZZAZIONE DEL PLUGIN

Page 24: Sic

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

Page 25: Sic

25

StratificazioneMinor probabilità di commettere errori

Traduzione automaticaVelocità

Conclusioni (I)

Medio livelloAlto livello Basso livello

CONCLUSIONI

Page 26: Sic

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

Page 27: Sic

27

Grazie per la vostra attenzione