Sicurezza delle reti IP Sicurezza delle reti IP Reti private Classi per
Transcript
Sicurezza delle reti IP Sicurezza delle reti IP Reti private Classi per
Sicurezza delle reti IP (netsec - dic'01) Reti private Sicurezza Sicurezza delle delle reti reti IP IP Antonio Lioy < lioy @ polito.it > Politecnico di Torino Dip. Automatica e Informatica Classi per le reti private classe A (una sola rete) rete: 10.x.x.x = 10/8 classe B (16 reti adiacenti) reti: 172.16.x.x ... 172.31.x.x = 172.16/12 classe C (256 reti adiacenti) reti: 192.168.0.x ... 192.168.255.x = 192.168/16 anche dette 24 / 20 / 16-bit blocks Organizzazione di una rete privata Network address translator (NAT) traduzione degli indirizzi IP privati in indirizzi pubblici in modo automatico: in modo statico (uno a uno) in modo dinamico (uno per molti) svantaggi: limite di prestazioni servizi pubblici richiedono indirizzo fisso problemi con UDP e quando gli indirizzi IP sono usati a livello applicativo vantaggi: non richiede modifica degli applicativi © Antonio Lioy - Politecnico di Torino (1997-2001) molte organizzazioni non hanno bisogno che alcuni loro indirizzi siano visibili globalmente (es. display TCP/IP degli aereoporti) per evitare di sprecare indirizzi la IANA ha definito delle reti private, ossia non uniche a livello mondiale (RFC-1918) si possono usare senza chiedere l’autorizzazione purché si garantisca che siano limitate alla rete interna host pubblici con indirizzo IANA host privati con indirizzi privati due soluzioni per accedere da host privati a servizi pubblici: application gateway (proxy) sugli host pubblici network address translator (NAT) RFC per NAT RFC-2663 “IP Network Address Translator (NAT) terminology and considerations” RFC-2766 “Network Address Translation Protocol Translation (NAT-PT)” RFC-2993 “Architectural implications of NAT” RFC-3022 “Traditional IP Network Address Translator (traditional NAT)” RFC-3027 “Protocol complications with the IP Network Address Translator” 1 Sicurezza delle reti IP (netsec - dic'01) NAT Application gateway (proxy) implementazione software: processo su un dual-homed host es. per Linux, NT implementazione hardware: nei router Accorgimenti pratici Organizzazione dei nameserver cablaggio separato per la parte pubblica e privata (problemi di routing e netmask) stessa sottorete per host con stesso destino (o tutti pubblici o tutti privati) filtri sui router verso le reti pubbliche (evita la propagazione di informazioni circa la rete privata) NS pubblico e privato Internet Pri1 Pri2 rete a commutazione di circuito (RTC / ISDN) IP(www.ibm.com) public NS (pub + inet) router pub1 (WWW) private NS (pri + pub + inet/forw) © Antonio Lioy - Politecnico di Torino (1997-2001) NS pubblico con indirizzo ufficiale IANA nomi e indirizzi degli host pubblici collegato al DNS mondiale NS privato con indirizzo privato nomi e indirizzi degli host pubblici e privati usa NS pubblico come forwarder tutti gli host (sia pubblici sia privati) usano il NS privato Accesso remoto via canali dial-up D N S IP(pubX) funzionamento: riceve richiesta da Hpri inoltra richiesta col proprio IP (pubblico) riceve risposta inoltra risposta a Hpri richiede consapevolezza dell’esistenza del proxy da parte del richiedente permette di far passare selettivamente solo certi protocolli / richieste / utenti protocollo di proxy pub2 (SMTP) router NAS (Network Access Server) rete IP (Internet) 2 Sicurezza delle reti IP (netsec - dic'01) Autenticazione di canali PPP PPP è un protocollo ... ... per incapsulare pacchetti di rete (L3, es. IP) ... ... e trasportarli su un collegamento punto-punto reale (es. RTC, ISDN) virtuale L2 (es. xDSL con PPPOE) virtuale L3 (es. L2TP su UDP/IP) tre fasi, svolte in sequenza: LCP (Link Control Protocol) autenticazione (opzionale, PAP, CHAP o EAP) L3 encapsulation (es. IPCP, IP Control Protocol) PAP CHAP EAP RFC-1994 “PPP Challenge Handshake Authentication Protocol (CHAP)” meccanismo a sfida sfida iniziale obbligatoria, possibile ripetere la richiesta (con sfida diversa) durante la comunicazione a discrezione dell’NAS chi supporta sia CHAP sia PAP, deve prima offrire CHAP Autenticazione per collegamenti dial-up protocol manager rete IP Authentication Authentication Server Server RFC-2284 “PPP Extensible Authentication Protocol (EAP)” autenticazione esterna a PPP tipi predefiniti: MD5-challenge (simile a CHAP) OTP generic token card altri tipi possono essere aggiunti: RFC-2716 “PPP EAP TLS authentication protocol” Le tre A utente abilitato? Network Network Access Access Server Server Password Authentication Protocol RFC-1334 user-id e password inviate in chiaro autenticazione solo all’attivazione del collegamento molto pericoloso! i produttori di NAS dicono che la sicurezza richiede tre funzioni: Autenticazione Autorizzazione Accounting l’AS ricopre proprio queste tre funzioni dialogando con uno o più NAS tramite uno o più protocolli Si / No, configurazione, ... © Antonio Lioy - Politecnico di Torino (1997-2001) 3 Sicurezza delle reti IP (netsec - dic'01) Collocazione dell’AS in caso di outsourcing della rete IP presso il fornitore del servizio di accesso velocità minor sicurezza spazio per contestazioni presso il cliente che richiede il servizio minor velocità maggior sicurezza nessun spazio per contestazioni RADIUS RADIUS RADIUS il server può fungere da proxy verso altri server integrità ed autenticazione dei pacchetti tramite keyed-MD5: key = shared-secret client senza key sono ignorati password crittografata con MD5: password ⊕ md5(key+autenticatore) RADIUS - formato code identif Remote Authentication Dial-In User Service Livingston Technologies RFC-2138 (protocollo) RFC-2139 (accounting) obsoleti: RFC-2058/9 UDP, porta 1812 (errore: UDP/1645) schema client-server tra NAS e AS timeout e ritrasmissione server secondari length RADIUS - pacchetti autenticatore autenticazione dell’utente tramite PAP, CHAP o token-card CISCO fornisce server per CryptoCard altri offrono SecurID formato facilmente estendibile senza modificare l’installato: attribute - length - value ACCESS-REQUEST ACCESS-REJECT ACCESS-CHALLENGE ACCESS-ACCEPT ( parametri ): SLIP/PPP: IPaddr, netmask, MTU, ... terminal: host, port ... attributi ... © Antonio Lioy - Politecnico di Torino (1997-2001) 4 Sicurezza delle reti IP (netsec - dic'01) TACACS Terminal Access Controller Access Control System CISCO RFC-1492 UDP, porta 49 oggi evoluto verso XTACACS e TACACS+ TACACS TACACS - connessioni TACACS - request AUTH (user, pass, line, style) LOGIN (user, pass, line) LOGOUT (user, pass, line, reason) CONNECT (user, pass, line, destIP, destPort) SLIPADDR SLIPON (user, pass, line, SLIPaddr) SLIPOFF (user, pass, line, reason) SUPERUSER (user, pass, line) TACACS - versione TCP contemplata dall’RFC-1492 porte non preassegnate (configurabili sia sul client che sul server) protocollo ASCII con codici di errore tipo RFC821 (SMTP) autenticazione pura: AUTH login ad un host: LOGIN CONNECT LOGOUT collegamento SLIP: LOGIN CONNECT SLIPADDR CONNECT SLIPON + LOGOUT SLIPOFF TACACS+ © Antonio Lioy - Politecnico di Torino (1997-2001) request - reply tra client (=NAS) e server (=AS) reply = (r1, r2, r3) semantica specifica del costruttore password in chiaro nei pacchetti CISCO draft RFC: draft-grant-tacacs-00.txt TCP, porta 49 pacchetti tra NAS e AS autenticati tramite MD5, autenticatore da 16 byte ed un segreto condiviso crittografia di tutto il pacchetto (XOR) permette la separazione delle A es. autenticazione con Kerberos 5 Sicurezza delle reti IP (netsec - dic'01) Sicurezza a livello fisico A quale livello di rete è meglio realizzare la sicurezza? Application firewall? IPSEC? smart-card? apparati cifranti? guardie armate? protezione fisica: del supporto trasmissivo degli amplificatori / ripetitori / convertitori tipicamente solo in ambiente militare Presentation Session AMP Transport Network e- CONV e- γ e- Data Link cavi elettrici Physical Sicurezza a livello data-link Sicurezza a livello fisico usare reti switched (ossia 10baseT o 100baseT) per eliminare lo sniffing: evitare gli hub evitare derivazioni multiple sulla stessa porta dello switch proteggere gli armadi / locali che contengono le apparecchiature di rete proteggere i cavedi / pozzetti apparati cifranti per proteggere i dati a livello 2 (MAC) solo per segmenti con tecnologia omogenea LAN spezzoni di WAN router 011 ethernet Sicurezza a livello data-link sebbene esistano schede cifranti da installare sui client, normalmente non si protegge il livello 2 sulle stazioni si comincia a pensare la gestione della LAN associata a quella della sicurezza: VLAN switch / hub con porte protette allarmi automatici al comparire di un nuovo MAC assegnazione statica degli indirizzi no a DHCP completamente dinamico © Antonio Lioy - Politecnico di Torino (1997-2001) fibra ottica router 011 011 ISDN frame relay Sicurezza del DHCP protocollo non autenticato facilissimo attivare shadow server attacchi possibili: denial-of-service (fornisco configurazione di rete sbagliata) intercettazione di tutte le comunicazioni (fornisco configurazione con default gateway uguale alla macchina che vuole effettuare lo sniffing) 6 Sicurezza delle reti IP (netsec - dic'01) Che cos’è una VPN? Sicurezza a livello network protezione end-to-end per reti omogenee a livello logico (es. IP) permette di creare VPN (Virtual Private Network) una tecnica (hardware e/o software) per realizzare una rete privata ... ... utilizzando canali e apparati di trasmissione condivisi rete IP server FIAT FIAT Melfi Melfi ENI ENI Milano Milano router rete pubblica router client FIAT FIAT Torino Torino Dove si applica una VPN? quando si attraversa una rete pubblica e/o non fidata ... ... per comunicazioni intra-aziendali tra sedi remote (Intranet) ... per comunicazioni inter-aziendali chiuse tra aziende che si sono previamente accordate (Extranet) Dove NON si applica una VPN? mediante reti nascoste mediante routing protetto (tunnel IP) mediante protezione crittografica dei pacchetti rete (tunnel IP sicuro) © Antonio Lioy - Politecnico di Torino (1997-2001) quando si attraversa una rete pubblica e/o non fidata ... ... per comunicazioni interaziendali senza accordi precedenti ... per comunicazioni con clienti non noti a priori (commercio elettronico di tipo business-toconsumer) 1. VPN mediante rete nascosta Tecniche di realizzazione di una VPN ENI ENI Roma Roma le reti da collegare utilizzano un indirizzamento non standard per non essere raggiungibili da altre reti (es. reti nascoste IANA secondo RFC1918) è una protezione facilmente superabile se qualcuno: scopre gli indirizzi usati può leggere i pacchetti in transito ha accesso all’infrastruttura di comunicazione 7 Sicurezza delle reti IP (netsec - dic'01) 2. VPN mediante tunnel IP VPN mediante tunnel IP i router provvedono ad incapsulare i pacchetti di rete all’interno di altri pacchetti i router controllano l’accesso alle reti mediante ACL (Access Control List) esempio: la rete Arcipelago di Telecom Italia rete pubblica R1 protezione superabile da chi gestisce i router o da chi può leggere i pacchetti in transito IPv4 header ( tunnel ) TCP/UDP header + data IPv4 header ( end-to-end ) TCP/UDP header + data se gli algoritmi crittografici sono forti, allora l’unico attacco possibile è impedire le comunicazioni Tunnel IP: compatibilità TAP2 R2 © Antonio Lioy - Politecnico di Torino (1997-2001) IPv4 header ( end-to-end ) Internet rete1 rete2 prima di essere incapsulati i pacchetti di rete vengono protetti con: digest (per integrità ed autenticazione) crittografia (per riservatezza) numerazione (per evitare replay) TAP3 B VPN mediante tunnel IP sicuro TAP1 A 3. VPN mediante tunnel IP sicuro se il pacchetto da trasmettere ha la massima dimensione consentita, allora deve essere frammentato massimo degrado = 50% soffrono maggiormente gli applicativi con pacchetti grandi (tipicamente non interattivi) R1 A→B A→B rete1 Tunnel IP: frammentazione R2 R1 → R2 A→B rete2 esistono diversi protocolli per realizzare il tunnel: IP in IP (RFC-1853) swIPe IPsec = ESP+AH (IPv4 e IPv6) altri anche il meccanismo di negoziazione del tunnel non è standard 8 Sicurezza delle reti IP (netsec - dic'01) IPsec Servizi di sicurezza IPsec proposta IETF per fare sicurezza al livello 3 sia in IPv4 sia in IPv6 usabile per creare VPN su reti pubbliche o per fare sicurezza end-to-end definisce due formati particolari: AH (Authentication Header) per integrità, autenticazione, no replay ESP (Encapsulating Security Payload) per riservatezza (+AH) usa un protocollo per scambio chiavi: IKE (Internet Key Exchange) autenticazione dei pacchetti IP: integrità dei dati identificazione del mittente protezione da attacchi di tipo “replay” riservatezza dei pacchetti IP: cifratura dei dati IPsec Security Association (SA) Database locali IPsec connessione logica unidirezionale tra due sistemi IPsec ne occorrono due per avere protezione completa di un canale bidirezionale SA (A, B) SA (B, A) Come funziona IPsec (spedizione) pacchetto IP IPsec - prima versione SPD regole di sicurezza SAD quale policy? crea / legge SA modulo IPsec SAD (SA Database) elenco delle SA attive e delle loro caratteristiche (algoritmi, chiavi, parametri) SPD (Security Policy Database) contiene le security policy da applicare ai diversi tipi di comunicazione deve essere configurato a priori (es. manualmente) oppure essere agganciato ad un sistema automatico (es. ISPS, Internet Security Policy System) agosto 1995 RFC-1825 = architettura RFC-1826 = AH RFC-1827 = ESP algoritmi / parametri pacchetto IP con IPsec © Antonio Lioy - Politecnico di Torino (1997-2001) 9 Sicurezza delle reti IP (netsec - dic'01) IPsec - seconda versione IPsec - scambio chiavi novembre 1998 RFC-2411 = IPsec document roadmap RFC-2401 = architecture RFC-2402 = AH RFC-2403 = HMAC-MD5-96 in ESP e AH RFC-2407 = interpretazione IPsec di ISAKMP RFC-2408 = ISAKMP RFC-2409 = IKE RFC-2412 = OAKLEY RFC-2404 = HMAC-SHA-1-96 in ESP e AH RFC-2405 = ESP DES-CBC con IV esplicito RFC-2406 = ESP RFC-2410 = cifratura nulla in IPsec RFC-2451 = algoritmi per ESP DES-CBC Header IPv4 Header IPv4 0 4 Vers. 8 16 IHL TOS 31 Total length Identification TTL 19 Flags Protocol Fragment offset Header checksum Source IP address Destination IP Address Options indirizzi IP (32 bit) del mittente e del destinatario IHL (Internet Header Length) in 32-bit word TOS (Type Of Service): mai usato (!) Length: n. di byte del pacchetto IP Identification: ID del pacchetto (per i frammenti) Flags: may/don’t fragment, last/more fragments TTL (Time To Live): numero massimo di hop protocol: protocollo usato dal payload Padding Header IPv6 0 4 Version 8 16 Priorit. IPsec in transport mode 24 31 Flow Label Payload Length Next Header Hop Limit Source Address usato dagli host, non dai gateway (eccezione: traffico destinato al gateway, es. SNMP, ICMP) vantaggio: computazionalmente leggero svantaggio: non protegge i campi variabili IPv4 header Destination Address © Antonio Lioy - Politecnico di Torino (1997-2001) IPv4 header IPsec header TCP/UDP header + data TCP/UDP header + data 10 Sicurezza delle reti IP (netsec - dic'01) AH IPsec in tunnel mode usato solitamente dai gateway vantaggio: protegge anche i campi variabili svantaggio: computazionalmente pesante IPv4 header ( end-to-end ) TCP/UDP header + data IPv4 header ( end-to-end ) TCP/UDP header + data IPv4 header ( end-to-end ) TCP/UDP header + data IPv4 header ( tunnel ) IPv4 header ( tunnel ) IPsec header Authentication Header meccanismo (prima versione, RFC-1826): integrità dei dati ed autenticazione del mittente obbligatorio keyed-MD5 (RFC-1828) opzionale keyed-SHA-1 (RFC-1852) meccanismo (seconda versione, RFC-2402): integrità dei dati, autenticazione del mittente e protezione da replay attack HMAC-MD5-96 HMAC-SHA-1-96 AH in transport mode AH in tunnel mode usato dagli host, non dai gateway (eccezione: traffico destinato al gateway, es. SNMP, ICMP) vantaggio: computazionalmente leggero svantaggio: non protegge i campi variabili IPv4 header IPv4 header TCP/UDP header + data AH TCP/UDP header + data IPv4 header ( tunnel ) IPv4 header ( tunnel ) AH - posizionamento in IPv6 IPv6 header AH TCP/UDP header + data usato solitamente dai gateway vantaggio: protegge anche i campi variabili svantaggio: computazionalmente pesante AH IPv4 header ( end-to-end ) TCP/UDP header + data IPv4 header ( end-to-end ) TCP/UDP header + data IPv4 header ( end-to-end ) TCP/UDP header + data AH - formato (RFC-1826) Next Header Length reserved Security Parameters Index (SPI) IPv6 header Routing header IPv6 header AH AH end-to-end options TCP/UDP header + data . . . dati di autenticazione (ICV, Integrity Check Value) . . . TCP/UDP header + data © Antonio Lioy - Politecnico di Torino (1997-2001) 11 Sicurezza delle reti IP (netsec - dic'01) AH - formato (RFC-2402) pacchetto IPsec ricevuto estrazione normalizzazione SAD Next Header Length SPI reserved pacchetto IP normalizzato algoritmo, parametri AH Security Parameters Index (SPI) estrazione Sequence number calcolo del valore di autenticazione ICV . . . dati di autenticazione (ICV, Integrity Check Value) . . . valore di autenticazione ricevuto valore di autenticazione calcolato sì valori uguali? mittente falso e/o pacchetto manomesso mittente autentico e pacchetto integro Normalizzazione per AH azzerare il campo TTL / Hop Limit se il pacchetto contiene un Routing Header, allora: fissare il campo destinazione all’indirizzo del destinatario finale fissare il contenuto del routing header al valore che avrà a destinazione fissare il campo Address Index al valore che avrà a destinazione azzerare tutte le opzioni che hanno il bit C (change en route) attivo Keyed-MD5 in AH dato M normalizzarlo generando M’ allineare a 128 bit M’ (aggiungendo byte a zero) generando così M’p allineare a 128 bit la chiave K (aggiungendo byte a zero) generando così Kp dati ip = 00110110 e op = 01011010 (ripetuti a formare 128 bit) calcolare la base di autenticazione: B = md5 ( (Kp ⊕ op) || md5 ( (Kp ⊕ ip) || M’p ) ) ICV = 96 leftmost bit di B © Antonio Lioy - Politecnico di Torino (1997-2001) dato M normalizzarlo generando M’ allineare a 128 bit M’ (aggiungendo byte a zero) generando così M’p allineare a 128 bit la chiave K (aggiungendo byte a zero) generando così Kp calcolare il valore di autenticazione: ICV = md5 ( Kp || M’p || Kp ) HMAC-MD5-96 no ESP Encapsulating Security Payload prima versione (RFC-1827) meccanismo base: DES-CBC (RFC-1829) possibili anche altri meccanismi seconda versione (RFC-2406): anche autenticazione (ma esclude l’header IP, quindi non dà la stessa copertura di AH) riduce la dimensione del pacchetto e risparmia una SA 12 Sicurezza delle reti IP (netsec - dic'01) ESP in tunnel mode ESP in transport mode usato dagli host, non dai gateway (eccezione: traffico destinato al gateway, es. SNMP, ICMP) svantaggio: non nasconde l’header IPv4 header IPv4 header IPv4 header ( tunnel ) TCP/UDP header + data ESP header TCP/UDP header + data usato solitamente dai gateway vantaggio: nasconde anche gli header ESP trailer IPv4 header ( tunnel ) ESP header IPv4 header ( end-to-end ) TCP/UDP header + data IPv4 header ( end-to-end ) TCP/UDP header + data IPv4 header TCP/UDP header + data ( end-to-end ) parte cifrata parte cifrata ESP - posizionamento in IPv6 parte in chiaro IPv6 Header Next Header = ... ESP - formato (RFC-1827) parte crittografata ... Extension Header ... Header ESP ESP trailer payload crittografato ESP - formato (RFC-2406) Security Parameters Index (SPI) . . . dati crittografati . . . ESP-DES-CBC - formato (RFC-1827) Security Parameters Index (SPI) Security Parameters Index (SPI) Sequence number . . . Initialization Vector (IV) . . . . . . Payload . . . dati crittografati Padding © Antonio Lioy - Politecnico di Torino (1997-2001) Padding Length Payload Type 13 Sicurezza delle reti IP (netsec - dic'01) ESP-DES-CBC - formato (RFC-2406) Security Parameters Index (SPI) Sequence number . . . Initialization Vector (IV) . . . . . . Payload . . . Padding . . . . Padding Length dati di autenticazione (ICV, Integrity Check Value) Dettagli implementativi Payload Type . . . . sequence number: non deve essere strettamente sequenziale (protezione solo da replay) finestra minima di 32 pacchetti (consigliati 64) algoritmi NULL: per autenticazione per crittografia (RFC-2410) offrono trade-off protezione - prestazioni End-to-end security Basic VPN WAN WAN gateway gateway LAN LAN IPsec canale virtuale sicuro (transport-mode SA) IPsec gateway LAN LAN IPsec WAN IPsec gateway LAN canale virtuale sicuro (transport-mode SA) © Antonio Lioy - Politecnico di Torino (1997-2001) LAN Secure remote access WAN canale virtuale sicuro (tunnel-mode SA) IPsec gateway IPsec End-to-end security with basic VPN IPsec gateway canale virtuale sicuro (tunnel-mode SA) IPsec IPsec i curo ale s virtu e SA) le a can nel-mod (tun canale virtuale sicuro (transport-mode SA) IPsec gateway LAN IPsec 14 Sicurezza delle reti IP (netsec - dic'01) IPsec key management componente fondamentale di IPsec fornisce ai sistemi IPsec comunicanti le chiavi simmetriche necessarie per l’autenticazione e/o la cifratura dei pacchetti distribuzione delle chiavi? OOB (es. manuale) automatica ISAKMP IKE Internet Key Exchange (RFC-2409) = ISAKMP + OAKLEY creazione di una SA per proteggere lo scambio ISAKMP con questa SA protegge la negoziazione della SA richiesta da IPsec la stessa SA ISAKMP può essere riusata più volte per negoziare altre SA IPsec IKE - funzionamento 1 initiator responder 1 - negoziazione di una SA ISAKMP bidirezionale: “main mode” o “aggressive mode” ISAKMP SA 2 initiator / initiator / responder responder 2 - negoziazione della SA IPsec: “quick mode” IKE: “modi” di funzionamento Main Mode: 6 messaggi protegge l’identità delle parti Aggressive Mode: 3 messaggi Quick Mode: 3 messaggi negoziazione solo della SA IPsec New Group Mode: 2 messaggi © Antonio Lioy - Politecnico di Torino (1997-2001) Internet Security Association and Key Management Protocol RFC-2408 definisce le procedure necessarie per negoziare, stabilire, modificare e cancellare le SA non indica il metodo da usare per lo scambio delle chiavi OAKLEY (RFC-2412): protocollo che realizza lo scambio autenticato delle chiavi simmetriche tra sistemi IPsec IKE: metodi di autenticazione Digital Signature: non-repudiation della negoziazione IKE Public Key Encryption: protezione dell’identità nell’aggressive mode Revised Public Key Encryption: meno costoso, solo 2 operazioni a chiave pubblica Pre-Shared Key: l’ID della controparte pùo essere solo il suo indirizzo IP (problema per gli utenti mobili) 15 Sicurezza delle reti IP (netsec - dic'01) IPsec nei sistemi operativi IPsec è implementato in tutti gli Unix più recenti SUN l’ha implementato con SKIP, tutti gli altri con ISAKMP+OAKLEY (SUN si allinea con Solaris 8) IPsec nei router Microsoft lo ha introdotto nei suoi prodotti a partire da Windows-2000 IPsec nei firewall alcuni produttori di firewall (es. IBM, Checkpoint) hanno recentemente introdotto IPsec all’interno dei loro prodotti di tunnel sicuro forniscono gratuitamente il client per Windows che però può creare un canale IPsec solo col proprio firewall Posizionamento di tunnel IPsec IPsec in Windows 2000 Microsoft ha implementato IPsec in Windows 2000 in modo nativo: negoziazione delle chiavi tramite IKE gestione delle policy IPsec tramite Active Directory (permette di definire un’unica policy per tutto il dominio) problemi di interoperabilità © Antonio Lioy - Politecnico di Torino (1997-2001) tutti i principali fornitori di router (Cisco, 3COM, Nortel, ...) hanno IPsec sui router tipicamente è usato solo per creare canali protetti tra i router ma non con gli end-node Cisco ha anche l’autenticazione a chiave pubblica con certificati X.509 sul router: router potente o con scheda crittografica non gestito in outsourcing sul firewall: CPU potente su box IPsec: posto in serie al router e/o firewall indipendente dalle altre misure di sicurezza Windows 2000 IPsec nominalmente aderente allo standard implementando numerosi RFC e draft (RFC: 1825...1829,1851,1852,2085,2104) autenticazione basata su Kerberos v5, certificati X.509 o pre-shared key algoritmi: DES, 3DES, MD5 e SHA1 Security Association negoziata tramite IKE 16 Sicurezza delle reti IP (netsec - dic'01) Windows 2000 IPsec implementato alcuni degli RFC che MS dichiara di aver implementato sono obsoleti Win2000 IPsec tunnel mode non rispetta lo standard (!!!) ma si appoggia su L2TP, rendendo impossibile l’interoperabilità con altri sistemi autenticazione con Kerberos non sempre funziona algoritmi per l’esportazione sono DES, MD5, SHA1 ... ma il sistema non dice niente all’utente (si sceglie 3DES ma Win2000 usa poi DES) problemi di interoperabilità con gli altri sistemi provati per quando riguarda IKE IPsec tunnel mode/L2TP Windows 2000 rende sicuro l’accesso remoto dal client al gateway usando L2TP sicurizzato da IPsec MS dichiara di aver fatto questa scelta perché l’IPsec tunnel mode: non permette l’autentificazione dell’utente non supporta il multiprotocollo non supporta il multicast la scelta di L2TP causa problemi di interoperabilità tra sistemi diversi Che cos’è L2TP? IPsec over L2tp Layer-2 Tunnel Protocol (RFC-2661) incapsula i pacchetti PPP in IP vantaggio: possibilità di usufruire del supporto PPP per il multi-protocollo (es. anche per IPX, Netbeui e Appletalk) autenticazione dell’utente (PAP / CHAP) svantaggio: overhead con L2TP ciascun end-point mantiene una PPP state machine come se i due fossero connessi da una linea seriale I pacchetti PPP sono incapsulati 2 volte e poi trasmessi come pacchetti IPsec I pacchetti viaggiano normalmente come pacchetti IP anche se sono IPX o AppleTalk Sicurezza di IP indirizzi non autenticati pacchetti non protetti: integrità autenticazione riservatezza © Antonio Lioy - Politecnico di Torino (1997-2001) Sicurezza di ICMP Internet Control and Management Protocol vitale per la gestione della rete possibili moltissimi attacchi perché completamente privo di autenticazione funzioni ICMP: echo request / reply destination unreachable (network / host / protocol / port unreachable) source quence redirect time exceeded for a datagram 17 Sicurezza delle reti IP (netsec - dic'01) Smurfing attack src = A dst = X.Y.255.255 ICMP echo request Contromisure anti-smurfing per attacchi dall’esterno: rifiutare il broadcast IP interface serial0 no ip directed-broadcast per attacchi dall’interno: identificare il responsabile tramite strumenti di network management reflector (network X.Y) ultimate target (A) Fraggle attack src = A dst = X.Y.255.255 UDP echo request TCP SYN flooding SYN reflector (network X.Y) connessioni di rete SYN/ACK SYN ACK (?) SYN SYN client ultimate target (A) Difesa da SYN flooding abbassare il timeout rischio di eliminare client validi ma lenti aumentare le dimensioni della tabella aggirabile con invio di più richieste usare un router come “SYN interceptor”: sostituisce il server nella prima fase se l’handshake ha successo, trasferisce il canale al server timeout “aggressivi” (rischio!) usare un router come “SYN monitor”: uccide i collegamenti pendenti (RST) © Antonio Lioy - Politecnico di Torino (1997-2001) ACK server richieste multiple con IP spoofing si satura la tabella delle connessioni sino a quando non vanno in timeout (valore tipico: 75”) Sicurezza del DNS DNS (Domain Name System) traduzione: da nomi ad indirizzi IP da indirizzi IP a nomi servizio indispensabile UDP/53 per le query TCP/53 per zone transfer nessun tipo di sicurezza in corso di sviluppo DNS-SEC 18 Sicurezza delle reti IP (netsec - dic'01) Architettura del DNS DNS shadow server root root NS NS (.) (.) NS NS (de.) (de.) NS NS (it.) (it.) sniffing per intercettare le query spoofing per generare risposte false (DoS o ridirezione del traffico su siti falsi) nameserver (local) (local) NS NS utente NS NS (polito.it.) (polito.it.) NS NS (fiat.it.) (fiat.it.) (shadow) nameserver DNS nameserver client client IP (www.aipa.it)? DNS cache poisoning BIND attirare la vittima a fare una query sul proprio NS fornire risposta anche a query non effettuate per forzare / sovrascrivere la cache della vittima IP (www.lioy.net)? (bandit) nameserver www.lioy.net = 7.2.1.5 www.ibm.com = 7.2.1.5 www.microsoft.com = 7.2.1.5 (victim) nameserver Sicurezza del routing bassa sicurezza nell’accesso ai router per configurarli (telnet, SNMP) bassa sicurezza nello scambio delle tabelle di routing vari produttori stanno lavorando per usare certificati X.509 nell’autenticazione delle tabelle di routing variazioni dinamiche del routing anche sugli endnode tramite ICMP © Antonio Lioy - Politecnico di Torino (1997-2001) per la sicurezza del DNS si raccomanda l’uso (e l’aggiornamento periodico!) di BIND Berkeley Internet Name Domain server gratis per Unix e Windows-NT http://www.isc.org Protezione fisica dei router limitare l’accesso fisico ai router solo alle persone autorizzate porta di console: aggancio diretto di un terminale o PC permette accesso diretto coi massimi privilegi proteggerla tramite una password (per default non c’è!) 19 Sicurezza delle reti IP (netsec - dic'01) Protezione logica dei router attivare le ACL più comuni proteggere l’accesso al file di configurazione (ovunque conservato) perché esso contiene: le password (spesso in chiaro!) le ACL basate su indirizzi IP Esempi protezione console Esempi protezione accesso via telnet password per l’accesso via telnet (sulle VTY di default 0...4): line vty 0 4 login password Pippo limitazione in base all’indirizzo del client: access-list 12 permit 132.5.2.0 0.0.0.255 line vty 0 4 access-class 12 in Esempio gestione password via TACACS non-privileged mode: line console 0 login password Pippo attivazione di timeout (default: 10’) line console 0 exec-timeout 4 30 per disattivare il timeout (sconsigliato!) line console 0 exec-timeout 0 0 ! oppure: no exec-timeout Esempi sulla gestione delle password privileged mode: enable-password SuperPippo per evitare di mantenere le password in chiaro nel file di configurazione usare: service password-encryption (attenzione: il sistema non è molto forte) password diverse per ogni utente (0 per lasciarle in chiaro, 7 per cifrarle): username lioy password 7 antonio username rossi password 0 semplice Protezione da IP spoofing cosa fare quando il server TACACS non è raggiungibile? richiedere una password locale permettere l’accesso comunque (!) tacacs-server host 132.5.1.3 tacacs-server last-resort succeed ! oppure: tacacs-server last-resort password ! richiede tacacs per l’autenticazione sulle VTY line vty 0 4 login tacacs © Antonio Lioy - Politecnico di Torino (1997-2001) Internet per proteggere i sistemi esterni dai nostri impostori per proteggere i nostri sistemi da impostori esterni router rete 132.5.1 rete 132.5.2 20 Sicurezza delle reti IP (netsec - dic'01) Esempio protezione da IP spoofing access-list 101 deny ip 132.5.0.0 0.0.255.255 0.0.0.0 255.255.255.255 interface serial 0 ip access-group 101 in access-list 102 permit ip 132.5.1.0 0.0.0.255 0.0.0.0 255.255.255.255 interface ethernet 0 ip access-group 102 in Sicurezza di SNMP pacchetti UDP/161 SNMP (v1, v2, v3): protezione di default tramite segreto condiviso trasmesso in chiaro (stringa di “community”) nessuna autenticazione dei client nessuna protezione dei messaggi access-list 103 permit ip 132.5.2.0 0.0.0.255 0.0.0.0 255.255.255.255 interface ethernet 1 ip access-group 103 in Estensioni sicure di SNMP RFC-1352 “SNMP security protocols” (his) RFC-1446 “Security protocols for SNMPv2” (his) RFC-1910 “User-based security model for SNMP” digest authentication protocol (richiede sincronizzazione dei clock) symmetric privacy protocol entrambi richiedono chiavi simmetriche (problema: distribuzione/aggiornamento) poco usate Esempio protezione accessi SNMP access-list 10 permit 132.5.1.1 access-list 10 permit 132.5.1.2 snmp-server community public RO 1 snmp-server community private RW 1 Sicurezza a livello applicativo completamente indipendente dalla rete autenticazione basata sull’utente, non sul nodo di rete indispensabile per quei canali che attraversano un firewall F W © Antonio Lioy - Politecnico di Torino (1997-2001) 21