ipsec il guardiano del traffico di rete?. di cosa parleremo? per molto tempo defense-in-depth ha...
TRANSCRIPT
IPSecil 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…
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
IPSec
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
Orig IP Hdr TCP Hdr Data
TCP Hdr DataOrig IP Hdr
Integrità garantita dall'hash
AH = IP protocollo 51 – 24 bytes in totale
AH Hdr
Insert
Next Hdr Payload Len Rsrv SecParamIndex
Seq#
Keyed Hash
IPsec encapsulating security payload (ESP)Transport mode
Data
Normalmente criptato
Integrità garantita dell’hash
ESP Trailer ESP Auth
Append
Orig IP Hdr TCP Hdr Data
ESP Hdr
Insert
Orig IP Hdr TCP Hdr
ESP = IP protocollo 50 - 22-36 bytes in totale
IPsec encapsulating security payload (ESP)Transport mode
Data
Normalmente criptato
Integrità garantita dall’hash
Padding PadLength NextHdr
Keyed Hash
ESP = IP protocollo 50 - 22-36 bytes in totale
ESP Trailer ESP Auth
Append
Orig IP Hdr TCP Hdr Data
ESP Hdr
Insert
Orig IP Hdr TCP Hdr
Seq#InitVectorSecParamIndex
IPsec ESP Tunnel mode
ESP TrailerDataTCP Hdr IP HdrIPHdr
Nuovo header IP con indirizzi IP sorgente e destinazione
Orig IP Hdr TCP Hdr Data
ESP Hdr ESP Auth
Normalmente criptato
Integrità garantita dall’hash
filtri
Generazione della Security Association
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
NIC
TCPIPTCPIP
Applicazioneserver o gateway
IPsecdriver
IPSec policy agentIKE (ISAKMP)
IPsecdriver
IPSec policy agentIKE (ISAKMP)
NIC
TCPIPTCPIP
Applicazioneo servizio client
“IKE responder”“IKE initiator”
UDP:500 negoziazione
1 IKE SA
2 IPsec SA
IP protocollo 50/51
filtri
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
criptaturaDES, 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 (1024-bit), 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
IP Packet Filter driver (ipfltdrv.sys)IP Filter Hook (DDK)
TCP RawICMPUDP
WinSock
Winsock Layered Service Providers (SDK)
IPsec Filters, Encryption (ipsec.sys, fips.sys)
IP Frag/Reassembly
PPTP L2TP
LAN/WAN miniportsVPN=PPP virtual WAN interfaces
NDIS 5.0
ICS-NAT/ICF (ipnat.sys)
TCP/UDP/IP Connection UI Filters
IP Stack
Netmon driver (NMnt.sys)
TDI API (DDK)/AFD.SYS
RRAS Input/Output Interface Filters (SDK)
Miniport per offload (DDK): TCP checksum, IPsec, Invio di TCP “grandi”
NAT apis (SDK)
Traffico non filtrato da IPsecTraffico broadcast
Non è possibile mettere in sicurezza riceventi multipli
Traffico multicastDa 224.0.0.0 fino a 239.255.255.255
RSVP— Protocollo IP tipo 46Consente 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
Kerberos
RSVP
B/M’cast Default
0 X X XWindows 2000 SP3
Windows XP SP1
1 no no XWindows 2000 SP4
Windows XP SP2
2 X X no
3 no no no 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’avvioPolicy 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=
Integrità garantita da hash (eccetto campi variabili IP hdr)
Problemi NAT + IPsec
NAT NAT
Orig IP Hdr TCP Hdr Data
Next Hdr Payload Len Rsrv SecParamIndex Keyed HashSeq#
24 byte totaleAH = IP protocollo 51
Insert
AH Hdr DataTCP HdrOrig IP HdrNAT1 Hdr
NAT header modification breaks AH NAT header modification breaks AH Integrity HashIntegrity Hash
NAT2 Hdr
NAT1 Hdr
NAT1 HdrNAT2 Hdr
Problema 1Violazione AH
Policy:CA1CA3
Policy:Use CACA1
CA Cert1CA Cert2
KE, Nonce
Problemi NAT + IPsec
KE, CRPs, Nonce
Trusted Root
machine cert
Personalmachine cert
Personal CA Cert1CA Cert3
Trusted Root
ID, Cert, Sig, CRPs
CA1
SA, VendorIDRequest security
SA, VendorID OK to secure
NAT NAT
Il payload dei certificati eccede la frame IP
IKE genera frammenti IPNAT (o lo switch) scarta i frammenti
Il drop dei frammenti blocca IKE
Problema 2Frammenti IKE
Problemi NAT + IPsec
NAT
Mappa NAT semi staticaIPSec ad A
IKE set-up PC A
IKE set-up PC B
Percorso di ritorno al PC A
Problema con NAT Helper :Pensato solo per tunnel modema agisce anche sul transport modeBlocca le sessioni IPSec multipleIl primo iniziator prende tutti gli IPSec
A
B
Problema 3IPsec tunnel mode
“helper”
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)
Orig IP Hdr
ESP Hdr Rest…Orig IP Hdr UDP src XXX, dst 4500
UDP src 4500, dst 4500 ESP Hdr Rest…Orig IP Hdr
Orig IP HdrNAT1 Hdr
NAT2 Hdr
Soluzione per NAT + IPsec
NAT NAT
Orig IP Hdr TCP Hdr Data
Insert
ESP Hdr DataTCP HdrOrig IP Hdr
Insert
B nota per se stesso: “N1 è in realtà A… Trova SA per A<->B e fix”
ESP Hdr Rest…
UDPESP Hdr
Inviato da A
Ricevuto da B
A invia dati
Invio di dati
NAT NATA N1 N2 B
Mappa statica:N2, 500 -> B, 500N2, 4500 -> B, 4500
B’s Note to self: “N1 is really A… Find SA for A<->B”B’s Note to self: “N1 is really A… Find SA for A<->B”
UDP src 4500, dst 4500A, N2 ESP …resto del pacchetto IPsec
UDP src 8888, dst 4500N1, N2 ESP …resto del pacchetto IPsec
UDP src 8888, dst 4500N1, B ESP …resto del pacchetto IPsec
src 8888N1
B
Problema con la path MTU
L2TP riceve PMTU error e corregge
Correzione generale del PMTU è necessario per traffico non L2TP
UDP src 4500, dst 4500IP ESP …resto del pacchetto IPsec
L’incremento della dimensione del pacchetto può generare errori di dimensione del path MTU
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 operativoL2TP+IPse
c 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 NoNote 1: Windows Update o QFENote 2: QFENote 3: Con download dal web
Note 4: FTP in active mode non funzionaNote 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 IPProtocoll
oSrc Port
Dest Port Azione
AnyMy Internet
IPAny n/a n/a Block
AnyMy Internet
IPTCP 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”
Active Directory
Key DistributionCenter (KDC)
DC Windows Server 2003
Applicazione
IPsecDriver
Policy Client (Respond Only)
Policy personalizzata ad alta sicurezza
“Sicurezza richiesta da me verso ogni destinazione, tutto il traffico unicast. Accett richieste non sicure. Fiducia nei membri del dominio. ”
“Mando in chiaro, traffico sicuro solo se richiesto. Fiducia nei membri di dominio.”
TGT TGT
Negoziazione IKE SA
UDP:500
Session Ticket
ticket
SA IPsec stabilite
Configurazione server non usabile verso Internet!
filtri
Controllo dell’accesso a server con IPSec
Isolamento logico dei datiIsolamento logico dei dati
Permessi di accesso al computer (IPSec)
Permessi di accesso al computer (IPSec)
Permessi di accesso all’host
Permessi di accesso all’host
Policy IPSecPolicy IPSec22
Permessi di accesso allo share
Permessi di accesso allo share
1133
Group PolicyGroup Policy
Dept_Computers NAGDept_Computers NAG
Passo 1: Utente cerca di accedere ad uno share sul server
Passo 2: Negoziazione IKE main mode
Passo 3: Negoziazione IPSec security method
Passo 1: Utente cerca di accedere ad uno share sul server
Passo 2: Negoziazione IKE main mode
Passo 3: Negoziazione IPSec security method
Controllo dell’accesso a server con IPSec
Passo 1: Utente cerca di accedere ad uno share sul server
Passo 2: Negoziazione IKE main mode
Passo 3: Negoziazione IPSec security method
Step 4: Verifica dei diritti di accesso all’host
Step 5: Verifica dei diritti di accesso allo share
Passo 1: Utente cerca di accedere ad uno share sul server
Passo 2: Negoziazione IKE main mode
Passo 3: Negoziazione IPSec security method
Step 4: Verifica dei diritti di accesso all’host
Step 5: Verifica dei diritti di accesso allo share
Isolamento logico dei datiIsolamento logico dei dati
Permessi di accesso al computer (IPSec)
Permessi di accesso al computer (IPSec)
Permessi di accesso all’host
Permessi di accesso all’host
Policy IPSecPolicy IPSec22
1133
Group PolicyGroup Policy
Dept_Computers NAGDept_Computers NAG
4
Dept_Users NAGDept_Users NAG
Permessi di accesso allo share
Permessi di accesso allo share
5
IPsec per le repliche di dominio
DC1DC2
Nel firewall aprire le porte:UDP:500 per IKEIP 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
AD replication
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
Impostazioni IPsec usate:
ESP solo con 3DES e SHA1 per criptatura e integrità
Kerberos come meccanismo di autenticazione
Traffico e risultati Inbound Outbound Totale
Traffico IP normale 24.434 17.97942.41
3
Traffico IPsec 25.457 18.62144.07
8
Overhead 1.023 642 1.665
Overhead % 4.19% 3.57%3.93
%
Overhead per un file transfer
Esperimento Inbound Outbound Byte totali
Traffico IP normale 2
.084
.031 94
.646
.227 96
.730
.257
Traffico AH 2.700
.627 96
.174
.275 98
.874
.902
Traffico ESP 2.867
.099 96
.941
.132 99
.808
.231
Overhead AH 616.596 1
.528
.048 2
.144
.645
Overhead ESP 783.068 2
.294
.905 3
.077
.974
Overhead % AH 29.59% 1.61% 2.22%
Overhead % ESP 37.57% 2.42% 3.18%
Tool di gestione e troubleshootingIPsec 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.