IPSec
il guardiano del traffico di rete?
Di cosa parleremo?
Per molto tempo “defense-in-depth” ha significato
livelli diversi di protezione
L’idea è quella di un castello medievale…
IPSec
L’host stesso adesso deve contribuire alla sua difesa
Si raggiunge maggiore granularità nella sicurezza
Aumenta la fiducia: anche le macchine sono note
Problemi comuni risolti
Spoofing
Privacy
I modi di IPSec
Non esiste nulla che si chiami “IPsec tunnel”!
Tipi
Transport mode
Tunnel mode
Metodi
AH (authenticated header)
ESP (encapsulated security payload)
IPsec authentication header (AH)
Transport mode
AH = IP protocollo 51 – 24 bytes in totale
Orig IP Hdr TCP Hdr
Data
Insert
Orig IP Hdr
AH Hdr
TCP Hdr
Data
Integrità garantita dall'hash
Next Hdr
Payload Len
Rsrv
SecParamIndex
Seq#
Keyed Hash
IPsec encapsulating security payload (ESP)
Transport mode
ESP = IP protocollo 50 - 22-36 bytes in totale
Orig IP Hdr TCP Hdr
Data
Insert
Append
Orig IP Hdr ESP Hdr TCP Hdr Data
ESP Trailer
Normalmente criptato
Integrità garantita dell’hash
ESP Auth
IPsec encapsulating security payload (ESP)
Transport mode
ESP = IP protocollo 50 - 22-36 bytes in totale
Orig IP Hdr TCP Hdr
Data
Insert
Append
Orig IP Hdr ESP Hdr TCP Hdr Data
ESP Trailer
ESP Auth
Normalmente criptato
Integrità garantita dall’hash
SecParamIndex Seq# InitVector
Padding
Keyed Hash
PadLength NextHdr
IPsec ESP
Tunnel mode
Orig IP Hdr TCP Hdr
IPHdr
ESP Hdr
Data
IP Hdr TCP Hdr Data ESP Trailer ESP Auth
Normalmente criptato
Integrità garantita dall’hash
Nuovo header IP con indirizzi IP
sorgente e destinazione
Generazione della Security Association
Applicazione
o servizio client
IPSec
policy agent
IPsec
driver
IKE (ISAKMP)
Applicazione
server o gateway
UDP:500
negoziazione
1 IKE SA
IKE (ISAKMP)
2 IPsec SA
TCPIP
TCPIP
filtri
NIC
“IKE initiator”
IPSec
policy agent
IPsec
driver
filtri
NIC
IP protocollo 50/51
“IKE responder”
Internet Key Exchange (IKE) — Identity Protect Mode (RFC 2409)
Fase 1 “Main Mode” stabilisce la IKE SA — canale fidato tra i sistemi, la negoziazione
stabilisce il canale criptato, la mutua fiducia e dinamicamente genera le chiave
condivisa (master key)
Fase 2 “Quick Mode” stabilisce le IPsec SA — per la protezione dei dati, una SA per ogni
direzione identificata da un’etichetta per pacchetto (SPI), accordo su algoritmo
e formato dei pacchetti, generate le chiavi di sessione derivate dalla “master”
key
Negoziazione della protezione
Necessari due messaggi
Da initiator a responder: contiene la proposta
Da responder a initiator: contiene la proposta selezionata
Suite di protezione:
Algoritmi di criptatura
DES, 3DES, Null
Algoritmi di integrità
MD5, SHA-1, Null
Metodi di
autenticazione
Kerberos, preshared key, certificate
Gruppi Diffie-Hellman
Group 1 (768-bit), Group 2 (1024bit), Group 2048 (Windows 2003)
Componenti di IPsec policy
Intervallo di polling usato per
determinare modifiche nelle policy
Parametri IKE, come durata delle
chiavi di criptatura.
Comportamento di IPsec per le
policy
Tipo di traffico a cui si applica
un’azione
Consenti, blocca o metti in
sicurezza
Kerberos, certificati o chiavi
condivise
LAN, dialup o entrambi
Stack TCP/IP Kernel mode – WinXP/2k/2K3
RRAS Input/Output Interface Filters (SDK)
WinSock
NAT apis (SDK)
Winsock Layered Service Providers (SDK)
TDI API (DDK)/AFD.SYS
TCP/UDP/IP Connection UI Filters
TCP
ICS-NAT/ICF (ipnat.sys)
UDP
ICMP
Raw
IP Stack
IP Filter Hook (DDK)
IP Packet Filter driver (ipfltdrv.sys)
IPsec Filters, Encryption (ipsec.sys, fips.sys)
IP Frag/Reassembly
LAN/WAN
miniports
VPN=PPP virtual
WAN interfaces
Netmon driver (NMnt.sys)
PPTP
L2TP
NDIS 5.0
Miniport per offload (DDK):
TCP checksum, IPsec,
Invio di TCP “grandi”
Traffico non filtrato da IPsec
Traffico broadcast
Non è possibile mettere in sicurezza riceventi multipli
Traffico multicast
Da 224.0.0.0 fino a 239.255.255.255
RSVP— Protocollo IP tipo 46
Consente a RSVP di segnalare la qualità del servizio (QOS) richiesta per il
traffico di applicazioni che possono anche essere protette da requests IPsec
Kerberos — UDP:88 (sorgente o destinazione)
Kerberos è di per se un protocollo sicuro che il servizio di negoziazione IKE
può usare per autenticare altri computer nel dominio
IKE — UDP:500 (destinazione)
Richiesto per consentire ad IKE di negoziare i parametri di sicurezza di IPSec
NoDefaultExemptions
Documentata in Q254728
Può indicare se filtrare Kerberos e/o RSVP
con IPsec
Quando sotto filtro, IPsec può bloccare o
mettere in sicurezza questi protocolli
Se Kerberos è messo in sicurezza da IPsec…
IKE non può usare Kerberos per l’autenticazione
Si devono usare certificates (bene) o chiavi
condivise (male)
NoDefaultExemptions
Windows Server 2003 ha rimosso tutte le default
exemptions eccetto IKE
Ci sono modifiche di funzionamento nei service
pack per Windows 2000 e Windows XP
Windows 2000 SP4 e Windows XP SP2 hanno rimosso
Kerberos e RSVP
Usare il valore 0 per la chiave di registry per ripristinare
le esenzioni di default
Confronto tra le esenzioni
Valore
0
Kerberos
X
RSVP
X
B/M’cast
X
1
no
no
X
2
X
X
no
3
no
no
no
Default
Windows 2000 SP3
Windows XP SP1
Windows 2000 SP4
Windows XP SP2
Windows 2003
X = Traffico esentato dal filtro
IKE (500/udp) è sempre esentato
I valori 2 e 3 sono supportati solo su Windows Server
2003 only
Come applicare IPsec
L’amministratore disegna un insieme di configurazioni
Chiamate nell’insieme “IPsec policy”
Si deve conoscere il traffico IP richiesto dalle applicazioni e
dai sistemi
Simile a ACL di firewall o router
Per la configurazione di può usare lo smap in per MMC
“IPsec policy management”
Come applicare IPsec
Usare “Local Security Policy” per creare policy
statiche salvate nel registry
Usare le group policy di Active Directory per una
gestione centralizzata
Usare IPSECPOL.EXE (Windows 2000) o
IPSECCMD.EXE (Windows XP) per creare policy
statiche e dinamiche da linea di comando
Netsh IPSEC
Presente in in Windows Server 2003
Sostituisce IPSECPOL e IPSECCMD
Consente l’accesso a funzioni non presenti nella UI
Traffico esentato per default
Controllo della CRL (nessuna/standard/forte)
Abilitazione dinamica del log di IKE
Abilitazione dinamica del log del driver IPsec
Sicurezza persistente (all’avvio del computer)
Traffico esentato dall’avvio del computer
Sicurezza del computer dall’avvio
Policy persistenti
Fornisce policy persistenti e attive dal boot
netsh ipsec dynamic set config
property=bootmode value=…
stateful: outbound, inbound, DHCP
block: nulla fino all’applicazione della policy
permit: tutto consentito
Il default e stateful dopo l’assegnazione di una policy
property=bootexemptions value=ex1 ex2…
protocol=
src|destport=
direction=
Problemi NAT + IPsec
Problema 1
Violazione AH
NAT
NAT
Orig IP Hdr
TCP Hdr
Data
Insert
Orig IP Hdr
AH Hdr
Data
TCP Hdr
Integrità garantita da hash
(eccetto campi variabili IP hdr)
Next Hdr
Payload Len
AH = IP protocollo 51
Rsrv
SecParamIndex
Seq#
Keyed Hash
24 byte totale
NAT header modification breaks AH Integrity Hash
Problemi NAT + IPsec
Problema 2
Frammenti IKE
NAT
Request security
NAT
SA, VendorID
SA, VendorID
OK to secure
KE, Nonce
Policy:
Use CA
CA1
KE, CRPs, Nonce
ID, Cert, Sig, CRPs
Trusted Root
CA Cert1
CA Cert2
Policy:
CA1
CA3
CA1
Il payload dei certificati eccede la frame IP
IKE genera frammenti IP
NAT (o lo switch) scarta i frammenti
Personal
machine cert
Trusted Root
Personal
machine cert
Il drop dei frammenti blocca IKE
CA Cert1
CA Cert3
Problemi NAT + IPsec
Problema 3
IPsec tunnel mode “helper”
A
NAT
B
IKE set-up PC A
Mappa NAT semi statica
IPSec ad A
IKE set-up PC B
Percorso di
ritorno al PC A
Problema con NAT Helper :
Pensato solo per tunnel mode
ma agisce anche sul transport
mode
Blocca le sessioni IPSec multiple
Il primo iniziator prende tutti gli
IPSec
Modello di soluzione
Riconoscere la presenza di NAT
Escludere IPSec dal dialogo per le porte mappabilida
IPSec
Incapsulare IPsec in UDP con una gestione brillante
dell’assegnazione dinamica delle porte
Prevenire i frammenti IP (Microsoft)
Soluzione per NAT + IPsec
NAT
NAT
Orig IP Hdr
TCP Hdr
Data
Insert
Orig IP Hdr
ESP Hdr
Data
TCP Hdr
Insert
Orig IP Hdr
UDP src 4500, dst 4500
ESP Hdr
Rest…
Inviato da A
Orig IP Hdr
UDP src XXX, dst 4500
ESP Hdr
Rest…
Ricevuto da B
Orig IP Hdr
UDPESP Hdr
B nota per se stesso: “N1 è in realtà A… Trova SA per A<->B e fix”
Invio di dati
A
NAT
N1
N2
NAT
B
Mappa statica:
N2, 500 -> B, 500
N2, 4500 -> B, 4500
A invia dati
A, N2
UDP src 4500, dst 4500
ESP
…resto del pacchetto IPsec
N1, N2
N1
UDP src
src 8888,
8888 dst 4500
ESP
…resto del pacchetto IPsec
N1, B
UDP src 8888, dst 4500
ESP
…resto del pacchetto IPsec
B’s Note to self: “N1 is really A… Find SA for A<->B”
Problema con la path MTU
IP
UDP src 4500, dst 4500
ESP
…resto del pacchetto IPsec
L’incremento della dimensione del pacchetto
può generare errori di dimensione del path MTU
L2TP riceve PMTU error e corregge
Correzione generale del PMTU è necessario per traffico non
L2TP
Stato di NAT traversal
Guidato dalla necessita di accessi remoti con VPN basate su IPSec
Implementato come standard IETF (RFC 3947 e RFC 3948)
Interoperabilita con gateway di terze parti testata per L2TP + IPSec
Per tutti gli usi di IPsec in Windows Server 2003
Sistema operativo
L2TP+IPsec
IPsec transport mode
Windows Server 2003
Si
Si4
Windows XP
Si1
Non raccomandato5
Windows 2000
Si2
No
Windows NT4
Si3
No
Windows 98/Me
Si3
No
Note 1: Windows Update o QFE
Note 2: QFE
Note 3: Con download dal web
Note 4: FTP in active mode non funziona
Note 5: Alcune riduzioni di PTMU non
funzionanao
Scenari di implementazione
Fondamentalmente consente/blocca con filtri di
pacchetto
Rende sicure le comunicazioni interne via LAN
Da client a server
Tra ampi gruppi di computer
Uso di IPsec per la replica di dominio attraverso i
firewalls
Fornisce tunnel VPN site-to-site
Fidato, accesso autorizza l’accesso della macchine
dalla rete
Packet filtering con IPsec
Filtri per bloccare/consentire il traffico
Nessuna negoziazione della security association
Filtri in sovrapposizione: i più specifici
determinano l’azione eseguita
Non fornisce stateful filtering
Si deve impostare NoDefaultExempt = 1
da IP
a IP
Protocollo
Src Port
Dest Port
Azione
Any
My Internet IP
Any
n/a
n/a
Block
Any
My Internet IP
TCP
Any
80
Permit
Il packet filtering è insufficiente
From IP1 to IP2, UDP, src *, dst 88/389
From IP2 to IP1, UDP, src 88/389, dst *
From IP2 to IP1, TCP, src *, dst 135
From IP1 to IP2, TCP, src 135, dst *
Pacchetti IP spoofed contenenti query o codice maligno
possono ancora raggiungere porte aperte sui firewall
IP1 to IP2, UDP, src *, dst 88/389, …
Esistono diversi tool per usare le porte 80, 88, 135, ecc per
raggiungere qualsiasi porta di destinazione
From IP2, to IP1, UDP, src 88/389, dst 88/389
Connessioni IPsec “server initiated”
Policy Client
(Respond Only)
Negoziazione IKE SA
Applicazione
UDP:500
ticket
IPsec
Driver
Policy
personalizzata
ad alta
sicurezza
filtri
“Mando in chiaro,
traffico sicuro solo se
richiesto.
Fiducia nei membri di
dominio.”
SA IPsec stabilite
TGT
“Sicurezza richiesta da me
verso ogni destinazione, tutto
il traffico unicast. Accett
richieste non sicure. Fiducia
nei membri del dominio. ”
Active
Directory
TGT
Session Ticket
Key Distribution
Center (KDC)
DC Windows Server 2003
Configurazione server non usabile verso Internet!
Controllo dell’accesso a server con IPSec
Passo 1: Utente cerca di
accedere ad uno share
sul server
Permessi di
accesso allo
share
Passo 2: Negoziazione
IKE main mode
Passo 3: Negoziazione
IPSec security method
Permessi
di accesso
all’host
Group
Policy
Permessi di
accesso al
computer
(IPSec)
Dept_Computers NAG
2
Policy
IPSec
3
1
Isolamento logico dei dati
Controllo dell’accesso a server con IPSec
Passo 1: Utente cerca
di accedere ad uno
share sul server
Permessi di
accesso allo
share
Passo 2: Negoziazione
IKE main mode
Passo 3: Negoziazione
IPSec security method
Step 4: Verifica dei
diritti di accesso
all’host
Permessi
di accesso
all’host
5
Dept_Users NAG
4
Group
Policy
Permessi di
accesso al
computer
(IPSec)
Step 5: Verifica dei
diritti di accesso allo
share
Dept_Computers NAG
2
Policy
IPSec
3
1
Isolamento logico dei dati
IPsec per le repliche di dominio
DC1
DC2
AD replication
Nel firewall aprire le porte:
UDP:500 per IKE
IP protocollo 50 ESP (non la porta 50!!)
In ogni DC
creare una
policy IPsec.
Definire un
filtro che
assicuri tutto
il traffico
verso
l’indirizzo IP
del DC con
IPsec ESP
3DES
NoDefaultExempt=1
Uso di IPsec ESP-null
Autenticazione dei pacchetti
Checksum significa che la sorgente è proprio la sorgente
Il contenuto è il contenuto
Facile fare troubleshoot con Netmon
I firewall possono filtrare i pacchetti ESP-Null in
base a protocollo e porta se necessario
I sistemi NIDS possono esaminare il contenuto dei
pacchetti se necessario
Scenari
Implementazione enterprise-wide
Evita che computer non membri di dominio possano fare
qualsiasi cosa di utile
IPSec con ESP-Null basato su certificati o Kerberos
Applicabile con le group policy “default domain”
Implementazione server-to-server
Impedisce la presenza di server non autorizzati o
mascherati sulla rete
Solo certificati — enrollment manuale
Prestazioni di IPSec
L’utilizzo di IPSec ha alcuni effetti sulle prestazioni dei
computer
Il tempo di negoziazione iniziale di IKE è di circa 2-5
Cinque messaggi
Autenticazione — Kerberos o certificati
Generazione delle chiavi e dei messaggi criptati
Processo ripetuto ogni 8 ore per default, impostabile
La rigenerazione delle chiavi di sessione è veloce, <1-2 secondi, tue
messaggi, una volta all’ora, impostabile
Come migliorare?
Schede che consentano l’offloading di IPsec consentono velocità
paragonabili a quelle della rete
CPU più veloci
Overhead durante il logon
Traffico e risultati
Traffico IP normale
Traffico IPsec
Overhead
Overhead %
Inbound
24.434
25.457
1.023
4.19%
Outbound
Totale
17.979 42.413
18.621 44.078
642 1.665
3.57% 3.93%
Impostazioni IPsec usate:
ESP solo con 3DES e SHA1 per criptatura e
integrità
Kerberos come meccanismo di autenticazione
Overhead per un file transfer
Esperimento
Traffico IP normale
Inbound
.
.
2 084 031
Traffico AH
Traffico ESP
Overhead AH
Overhead ESP
2 700 627
.
.
2 867 099
.
616 596
.
783 068
96 174 275
.
.
96 941 132
.
.
1 528 048
.
.
2 294 905
98 874 902
.
.
99 808 231
.
.
2 144 645
.
.
3 077 974
29.59%
37.57%
1.61%
2.42%
2.22%
3.18%
Overhead % AH
Overhead % ESP
.
.
Outbound
.
.
94 646 227
.
.
Byte totali
.
.
96 730 257
.
.
Tool di gestione e troubleshooting
IPsec monitor: Vista dettagliata del “main mode” e del
“quick mode” con
Tool da linea di comando
IPSECCMD in XP (..\support)
NETSH IPSEC in Windows Server 2003 (..\system32)
Group Policy RSoP in Windows Server 2003
Contatori in Perfmon per IKE e IPsec (Windows Server 2003)
Audit di IKE disabilitato per default in Windows Server 2003
Abilitabile log dettagliato per IKE (OAKLEY.log)
NetMon v2 ha parser per AH, ESK (se non criptato o se in
offload su scheda) e IKE
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.
MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Scarica

IPSec il guardiano del traffico di rete? - Center