Come amministrare IPv6 sulla propria rete
Transcript
Come amministrare IPv6 sulla propria rete
Come amministrare IPv6 sulla propria rete Consigli pratici per il gestore Marco Sommani Argomenti IPv6: di cosa ci dobbiamo preoccupare • Tipologie di indirizzi • Comandi utili • Il DHCPv6 • I tunnel automatici • Come difendersi dai rogue RA • Strumenti di monitoraggio 2 Marco Sommani Come amministrare IPv6 sulla propria rete IPv6 sulle LAN: quali rischi corriamo? (1 di 2) • Protezione perimetrale • Per IPv4 usiamo le ACL dei router? • Nessun aumento dei rischi: si può fare lo stesso in IPv6 • Attenzione a non bloccare gli ICMPv6 fondamentali • Abbiamo un firewall? • Se il firewall ha anche IPv6 i nostri rischi non aumentano • Altrimenti ne dobbiamo comprare un altro • Se serve un nuovo firewall, meglio evitare quelli “all’antica”, che ragionano solo su indirizzi e porte • Rogue DHCP server: stesse problematiche in IPv4 e in IPv6 • Rogue router advertisement: novità di IPv6. • Possono essere neutralizzati • Scan della rete: con IPv6 saranno un ricordo del passato 3 Marco Sommani Come amministrare IPv6 sulla propria rete IPv6 sulle LAN: quali rischi corriamo? (2 di 2) • Controllo degli indirizzi • Il gestore vorrebbe sempre sapere, per ogni indirizzo IP della sua rete, quale apparato lo usa(va) e dove si trova(va) • Il problema è presente, e spesso sottovalutato, anche in ipv4 • Con ipv6 il problema aumenta; come fronteggiarlo: • Assimilando bene i concetti dell’indirizzamento ipv6 • Attrezzandosi con opportuni programmi di monitoring • Quindi finché non sono attrezzato per il monitoring è più sicuro non attivare IPv6? • Sbagliato!!! IPv6 “colpisce” anche dove il gestore non lo ha attivato: • I tunnel automatici (6to4 e Teredo) possono trasformarsi in cavalli di Troia • Possiamo essere individuati se dalla nostra rete partono attacchi attraverso un tunnel automatico ipv6? • Sì, perché dall’indirizzo IPv6 dell’attaccante si ricava l’indirizzo IPv4 dell’apparato su cui terminava il tunnel 4 Marco Sommani Come amministrare IPv6 sulla propria rete I dubbi dell’amministratore di rete • Come assegno gli indirizzi agli host della mia rete? • Configurazione manuale? • Non tutti gli OS la consentono • Configurazione via DHCPv6? • Non tutti gli OS la consentono • Configurazione via SLAAC? • Possibile su tutti gli OS, ma difficile da controllare • Non esiste una regola ottimale, anche perché sistemi operativi diversi hanno comportamenti diversi • Es.: alcuni sistemi, se configurati manualmente, ignorano i RA, altri li ascoltano ed eseguono anche la SLAAC • È facile obbligare un’interfaccia ad avere un dato indirizzo, ma è difficile impedirle di acquisirne altri • Ogni interfaccia ha sempre anche un indirizzo link-local • Non sempre l’Interface-Id del link-local è derivato dal MAC 5 Marco Sommani Come amministrare IPv6 sulla propria rete Argomenti • IPv6: di cosa ci dobbiamo preoccupare Tipologie di indirizzi • Comandi utili • Il DHCPv6 • I tunnel automatici • Come difendersi dai rogue RA • Strumenti di monitoraggio 6 Marco Sommani Come amministrare IPv6 sulla propria rete Tempo di vita degli indirizzi global-unicast • Per quelli assegnati manualmente è infinito • Per la SLAAC i RA indicano i tempi associati ad ogni prefisso e ad ogni RA si riavviano i timer • Per quelli assegnati via DHCP i tempi sono indicati dal server e rinnovati ad ogni lease Preferred life)me Valid life)me • Deprecated: l’indirizzo è ancora valido, ma l’host farebbe bene a non usarlo per nuove connessioni 7 Marco Sommani Come amministrare IPv6 sulla propria rete Indirizzi global-scope “public” • Servono ad essere contattati dagli altri • È bene che cambino il meno possibile • Gli indirizzi assegnati manualmente sono public • dovrebbero avere il 7º bit dell’Interface-Id = 0 • I lifetime vengono rinnovati ad ogni RA (SLAAC) o lease (DHCPv6) • L’Interface-Id degli indirizzi global scope costruiti via SLAAC è lo stesso del link-local e può essere derivato: • dall’indirizzo link-layer 7º bit = 1 • costruito in maniera random (Windows Vista e 7) 7º bit = 0 • Il DHCPv6 assegna gli indirizzi scegliendoli dai pool definiti dal gestore • Gli indirizzi dei pool dovrebbero avere il 7º bit dell’Interface-Id = 0 8 Marco Sommani Come amministrare IPv6 sulla propria rete Indirizzi global-scope “temporary” • Se usiamo gli indirizzi public anche per le connessioni uscenti, facilitiamo il compito a chi vuole fare statistiche sulle nostre abitudini • L’Interface-Identifier degli indirizzi temporary non è mai derivato dall’indirizzo link-layer • I lifetime degli indirizzi temporary non sono rinnovati alla scadenza • 5 secondi prima dello scadere del preferred lifetime, l’interfaccia acquisisce un nuovo temporary address • Calcolando un nuovo Interface Identifier in caso di SLAAC • Chiedendo un nuovo lease in caso di DHCPv6 • Il preferred lifetime di un temporary address non dovrebbe superare un giorno • Il valid lifetime non dovrebbe superare una settimana 9 Marco Sommani Come amministrare IPv6 sulla propria rete Comportamento default dei sistemi operativi • Per ogni prefisso annunciato via SLAAC con bit “auto” a 1: • Windows Vista e successivi attivano • Un indirizzo public con Interface-Identifier random • Almeno un indirizzo temporary (usato nelle connessioni uscenti) • Windows XP e i sistemi iOS (iPhone e iPad) dalla versione 4.3 attivano • Un indirizzo public con Interface-Id derivato dall’indirizzo link-layer • Almeno un indirizzo temporary (usato nelle connessioni uscenti) • Gli altri (inclusi i vecchi iOS) attivano • Un indirizzo public con Interface-Id derivato dall’indirizzo link-layer • Se c’è il servizio DHCPv6 • Windows Vista e successivi richiedono • Un public address via DHCPv6 • Molti comportamenti default possono essere variati, ma: • Gli apparati Apple con iOS e gli Android non sono configurabili • Il client DHCPv6 è nativo solo su Windows Vista e successivi • È nativo anche su iOS ma solo per i parametri diversi dagli indirizzi 10 Marco Sommani Come amministrare IPv6 sulla propria rete Come variare alcuni comportamenti default • Windows: • Per attivare/disattivare gli indirizzi temporary fare: • netsh interface ipv6 set privacy state=[enabled|disabled] • Di default sono abilitati con preferred-lifetime=1d e valid-lifetime=7d • Per attivare/disattivare la randomizzazione dell’Interface-Id dell’indirizzo public e del link-local fare (solo Vista e successivi): • netsh interface ipv6 set global randomizeidentifiers=[disabled|enabled] • Il comando influenza anche il calcolo dell’indirizzo link-layer • Mac OS X: • L’uso degli indirizzi temporary è determinato dalla variabile net.inet6.ip6.use_tempaddr: • 0: non usare i temporary addresses (default) • 1: usare i temporary addresses • per vedere il valore: sysctl net.inet6.ip6.use_tempaddr • per settarlo: sysctl –w net.inet6.ip6.use_tempaddr [0|1] 11 Marco Sommani Come amministrare IPv6 sulla propria rete È saggio inibire l’invio dei RA da parte dei router? • Solo se tutti gli apparati vengono configurati manualmente • DHCPv6 funziona solo in combinazione con i RA • È possibile attivare i RA e inibire la SLAAC annunciando i prefissi con il bit “auto” settato a 0 • Chi configura manualmente IPv6 senza richiedere l’indirizzo al gestore ha buone probabilità di “farla franca” • Resta aperto il problema dei tunnel automatici • Resta aperto il problema dei rogue RA • IPv6 è pensato per l’autoconfigurazione (stateless o stateful), non per gli interventi manuali 12 Marco Sommani Come amministrare IPv6 sulla propria rete Guida alla configurazione dei RA (1 di 2) • I RA (rfc2461) devono essere attivati su tutte le interfacce del router su cui vogliamo avere host ipv6 non configurati manualmente • Sui link router-router sono inutili ma non dannosi • Parametri globali (indipendenti dai prefissi annunciati): • Mettere a 1 il bit “Managed” se vogliamo che gli host acquisiscano gli indirizzi in modalità stateful (cioè via DHCPv6) • Mettere a 1 il bit “Other” se vogliamo che gli host acquisiscano gli altri parametri (indirizzi DNS etc.) via DHCPv6 • Il router-lifetime (tipicamente 1800 sec) dice per quanto tempo, dopo la ricezione del RA, il router può essere usato come default-router • router-lifetime=0 permette di fare annunci senza essere usati come router • L’rfc4191 introduce due bit di preference, con valori Low, Medium (default), High e Reserved • Se il router lo consente, mettere High • Sul JunOS l’opzione non è ancora implementata • L’rfc6106 aggiunge un’opzione per annunciare gli indirizzi dei DNS • Per gli altri parametri fidarsi dei valori default 13 Marco Sommani Come amministrare IPv6 sulla propria rete Guida alla configurazione dei RA (2 di 2) • Parametri associati ai prefissi annunciati: • Il prefisso stesso • Usare sempre la lunghezza default: 64 • Il preferred- e il valid-lifetime per gli indirizzi creati con quel prefisso • Deve essere preferred-lifetime ≤ valid-lifetime • Meglio se il valid è assai maggiore del preferred • valid-lifetime = 0 dichiara il prefisso immediatamente invalido • Chi si era assegnato via SLAAC un indirizzo con quel prefisso lo deve eliminare • Di solito vanno bene i valori default • Mettere a 0 il bit “Auto” se non si vuole che il prefisso sia usato per la SLAAC • Il DHCPv6 non comunica i prefissi, si limita ad assegnare indirizzi • Per gli altri parametri usare i valori default • In particolare, lasciare a 1 il flag “On-link” • On-link = 0 inibisce la Neighbor Discovery per il prefisso 14 Marco Sommani Come amministrare IPv6 sulla propria rete Argomenti • IPv6: di cosa ci dobbiamo preoccupare • Tipologie di indirizzi Comandi utili • Il DHCPv6 • I tunnel automatici • Come difendersi dai rogue RA • Strumenti di monitoraggio 15 Marco Sommani Come amministrare IPv6 sulla propria rete Comandi di configurazione • Grazie all’autoconfigurazione (stateless o stateful), ipv6 si attiva senza interventi da parte dell’utente • Su Windows XP/SP2 va dato il comando “netsh interface ipv6 install” • Sui sistemi operativi più recenti molti parametri ipv6 sono configurabili usando la stessa interfaccia grafica che si usa per ipv4 • Sui sistemi Unix, ai comandi cli classici (ifconfig, route,…) sono stati aggiunti nuovi parametri per ipv6 • Fare “man comando” per scoprire i parametri • Sui sistemi Windows (da XP/SP2 in poi) qualunque azione o interrogazione su ipv6 può essere fatta con • netsh interface ipv6 …. • usare il “?” per conoscere tutti i parametri 16 Marco Sommani Come amministrare IPv6 sulla propria rete Comandi di monitoraggio • Sulla maggior parte dei sistemi, ai comandi ping e traceroute/ tracert è stata affiancata la versione con il “6” in fondo: • ping6, traceroute6/tracert6 • Sui Windows più recenti c’è un unico comando che sceglie automaticamente il protocollo • Per forzare la scelta del protocollo si usano appositi flag: • [ping|tracert] [-4|-6] … • Gli altri comandi (netstat, ifconfig…) sono stati estesi con opportuni parametri • Per conoscere i mapping fra indirizzi ipv6 e indirizzi link-layer: • Su Linux: “ip –x neigh show” • Su OSX: comando “ndp” (“man ndp” per i parametri) • Sui Windows: “netsh interface ipv6 show neighbors” 17 Marco Sommani Come amministrare IPv6 sulla propria rete Argomenti • IPv6: di cosa ci dobbiamo preoccupare • Tipologie di indirizzi • Comandi utili Il DHCPv6 • I tunnel automatici • Come difendersi dai rogue RA • Strumenti di monitoraggio 18 Marco Sommani Come amministrare IPv6 sulla propria rete DHCPv6 (rfc3315) e DHCPv4 (rfc2131) sono diversi • Non vengono fornite informazioni relative al link, come defaultrouter, prefix, prefix-length, mtu, current-hop-limit • queste informazioni possono essere ricavate dai router-advertisement, anche quando non si usa la SLAAC • Fissità degli indirizzi: • DHCP Unique Identifier (DUID), conservato da ogni entità DHCP in memoria non volatile • I server mantengono in memoria non volatile la cache delle associazioni DUID – indirizzo IPv6 • Se il pool è sufficientemente grande un indirizzo IPv6 viene sempre riassegnato allo stesso client • IPv6 Prefix Option (rfc3633) • Distribuzione via DHCPv6 di prefissi da un router centrale a un router periferico • DHCPv6 Client FQDN Option (rfc4704) • Il client comunica al server il suo nome a dominio e i due concordano chi fa gli eventuali DNS Update 19 Marco Sommani Come amministrare IPv6 sulla propria rete DHCPv6 e Router-Advertisement • DHCPv6 presuppone che i router presenti sul link emettano i RA • Senza i RA tutti gli host devono essere configurati manualmente • Comportamento corretto di un host con DHCPv6 client: • Acquisire l’indirizzo link-local • Apprendere dai RA i prefissi, le loro lunghezze, l’MTU, il current-hoplimit e gli indirizzi dei router • Se arrivano RA con il bit “M” a 1, provare ad acquisire un indirizzo globale via DHCPv6 • Se arrivano RA con il bit “O” a 1, provare ad acquisire via DHCPv6 le informazione diverse dagli indirizzi • Per tutti prefissi annunciati nei RA con il bit “auto” a 1, fare la SLAAC • Conclusioni: • Le scelte le fa chi configura i RA sui router • Se il bit “auto” di qualche prefisso è a 1, gli host con DHCPv6 client avranno sia l’indirizzo DHCPV6 sia quelli costruiti via SLAAC • Se il bit “auto” di tutti i prefissi è a 0, gli host senza DHCPv6 devono essere configurati manualmente 20 Marco Sommani Come amministrare IPv6 sulla propria rete Sistemi operativi e DHCPv6 client • Sistemi Windows • Su quelli precedenti a Vista non c’è • Su XP si può installare un client gratuito, come il dibbler-client • Su Vista c’è ma l’opzione FQDN non è implementata correttamente • Sul 7 funziona anche l’opzione FQDN • OSX • Esistono prodotti free, ma da compilare (es: wide-dhcpv6) • Unix vari • Si possono installare varie soluzioni free: • dibbler, wide-dhcpv6, DHCP di www.isc.org… • SmartPhone • iOS (iPhone, iPad…) acquisisce l’indirizzo via SLAAC, ma usa il DHCPv6 per le altre informazioni (DNS, dominio…) • Android ha solo la SLAAC • Il client nativo esiste su alcune stampanti 21 Marco Sommani Come amministrare IPv6 sulla propria rete Componenti DHCPv6 • Anche il DHCPv6 prevede • I client • I server • Gli eventuali relay (non ne parliamo) • I messaggi fra client e server e viceversa sono: Da client a server Da server a client SOLICIT ADVERTISE REQUEST REPLY CONFIRM RECONFIGURE RENEW REBIND RELEASE DECLINE INFORMATION-‐REQUEST 22 Marco Sommani Come amministrare IPv6 sulla propria rete Tipiche transazioni DHCPv6 • SOLICIT – ADVERTISE – REQUEST – REPLY È la transazione iniziale classica, con cui un client prima seleziona il suo server e poi negozia/richiede gli indirizzi e tutti gli altri parametri • Semplice SOLICIT – REPLY se client e server sono configurati per il rapid-commit • • RENEW – REPLY • • REBIND – REPLY • • Usata dal client per comunicare al server che smette di usare determinati indirizzi DECLINE – REPLY • • Usata dal client dopo un’interruzione della connettività o dopo un reboot, per verificare la validità dei vecchi indirizzi RELEASE – REPLY • • Transazione con la stessa finalità della RENEW – REPLY, in cui sono invitati a rispondere tutti i server. Usata se le precedenti RENEW restano senza risposta CONFIRM – REPLY • • Transazione ripetuta periodicamente per estendere il lifetime dei parametri ottenuti via DHCP. Il client si rivolge allo stesso server che aveva fornito i parametri in precedenza Usata dal client per dire al suo server che uno degli indirizzi assegnati è duplicato INFORMATION-REQUEST – REPLY • Usata dai client interessati solo ai parametri diversi dagli indirizzi (server DNS, lista domini, server NTP…) 23 Marco Sommani Come amministrare IPv6 sulla propria rete Indirizzamento dei messaggi DHCPv6 • Il source-address dei messaggi è l’indirizzo link-local del mittente • Nota: qui e nel seguito si suppone che client e server siano sullo stesso link (niente DHCP relay) • Il destination-address dei messaggi da server a client è l’indirizzo link-local del client • Il destination-address dei messaggi da client a server è l’indirizzo multicast ff02::1:2 (All-dhcp-agents) • In tutti i messaggi DHCPv6 è richiesto il DUID del mittente • In tutti i messaggi da server a client è richiesto il DUID del destinatario • Il DUID del destinatario è richiesto nei seguenti messaggi da client a server: • REQUEST, RENEW, RELEASE, DECLINE, SOLICIT-rapid-commit • Il DUID del destinatario è vietato nei seguenti messaggi da client a server: • SOLICIT, REBIND, CONFIRM, INFORMATION-REQUEST 24 Marco Sommani Come amministrare IPv6 sulla propria rete Formato del DUID • Il DHCP Unique Identifier (DUID) è associato in maniera perenne ad ogni entità DHCPv6 (client, server, relay) • Il DUID può essere ricavabile dall’hardware o conservato in NVRAM • Per esempio, può stare in un file su disco • Lo standard definisce i seguenti tipi di DUID • Tipo 1: Link-layer address plus time • Creato alla prima attivazione dell’entità e conservato in NVRAM; contiene: • il numero di secondi (mod 232) trascorsi, al momento della creazione, dalla mezzanotte del 1 gennaio 2000 (UT) • il link-layer address di una delle interfacce presenti al momento della creazione • Tipo 2: Vendor-assigned unique ID based on Enterprise Number • Pensato per essere hard-coded dal costruttore • Contiene l’Enterprise Number del costruttore e un numero assegnato da lui • http://www.iana.org/assignments/enterprise-numbers • Tipo 3: Link-layer address • Contiene il link-layer address di una delle interfacce. • Cambia se si cambia la scheda di rete 25 Marco Sommani Come amministrare IPv6 sulla propria rete Per conoscere il DUID di Windows 7: “ipconfig /all” 26 Marco Sommani Come amministrare IPv6 sulla propria rete La Interface Association (IA) • Un client può chiedere indirizzi per più interfacce • Nei messaggi DHCPv6 le parti relative agli indirizzi sono contenute in raggruppamenti di parametri detti Interface Association (IA) • Per ogni interfaccia occorre una IA diversa • Ogni IA è identificata da uno IAID di 32 bit, univoco sul client • Le IA sono di due tipi: • IA_NA, usata per chiedere indirizzi Public (Non_Temporary) • IA_TA, usata per chiedere indirizzi Temporary (raramente usata) • Contenuto di una IA in un messaggio DHCPv6: • Lo IAID • I timer T1 e T2 (assenti nelle IA_TA) • T1: secondi mancanti al RENEW • T2: secondi mancanti al REBIND • L’indirizzo con il preferred e il valid lifetime • può mancare nel primo messaggio del client 27 Marco Sommani Come amministrare IPv6 sulla propria rete Esempio di IA in un messaggio DHCPv6 28 Marco Sommani Come amministrare IPv6 sulla propria rete DHCPv6 e DNS • IPv6 è pensato per un mondo in cui • Gli apparati indirizzabili sono numerosissimi • Collegare un apparato alla rete è un’operazione frequente e banale • Per gli apparati “stabili” è possibile la gestione manuale del DNS • Per tutti gli altri conviene ricorrere ai DNS UPDATE (RFC 2136) • Lo stesso RFC 3315 (DHCP for IPv6) suggerisce di integrare i server DHCPv6 con un componente in grado di inviare i DNS UPDATE • L’RFC 4704 (The DHCPv6 Client FQDN Option) stabilisce • Le modalità con cui un client propone al server il suo nome a dominio • Le modalità con cui client e server concordano chi fa gli eventuali update • Il client nativo di Windows 7 è conforme all’RFC 4704 • I client di Windows Vista e di alcune stampanti implementano l’RFC 4704 in maniera errata 29 Marco Sommani Come amministrare IPv6 sulla propria rete Formato dell’opzione FQDN • Bit S: • • • Bit O: • • • Inizializzato sempre a 0 dal client Messo a 1 dal server se ha modificato il bit S Bit N: • • Messo a 1 dal client se vuole che il server aggiorni il record AAAA Modificato dal server per indicare cosa ha fatto davvero Messo a 1 dal client per dire al server di non fare updates (né AAAA né PTR) Il client di Windows 7 mette in “Domain” il “Full computer name” specificato nel Control Panel “System” 30 Marco Sommani Come amministrare IPv6 sulla propria rete Argomenti • IPv6: di cosa ci dobbiamo preoccupare • Tipologie di indirizzi • Comandi utili • Il DHCPv6 I tunnel automatici • Come difendersi dai rogue RA • Strumenti di monitoraggio 31 Marco Sommani Come amministrare IPv6 sulla propria rete Pericolosità di Windows • Per “tunnel automatici” si intende 6to4 e Teredo • Prefissi 6to4: 2002::/16 • Prefissi Teredo: 2001::/32 • Su tutti i sistemi non Windows, l’attivazione di un tunnel 6to4 o Teredo richiede un intervento manuale • Il comportamento default di Windows è • Non attivare tunnel se almeno un’interfaccia possiede indirizzi ipv6 global-scope • Altrimenti, attivare un tunnel 6to4 se almeno un’interfaccia possiede un indirizzo ipv4 pubblico • Altrimenti, attivare un tunnel Teredo se ci sono interfacce con indirizzo ipv4 ma tutti gli indirizzi sono nattati • Con i tunnel automatici gli utenti Windows sfuggono inconsapevolmente ai controlli perimetrali della rete • 6to4 può anche provocare rogue RA 32 Marco Sommani Come amministrare IPv6 sulla propria rete Caratteristiche di Teredo (rfc4380) • Il teredo-client incapsula/decapsula pacchetti ipv6 in pacchetti UDPv4 • L’indirizzo ipv6 dell’interfaccia Teredo contiene in forma offuscata l’indirizzo pubblico del NAT e il port-number pubblico corrispondente al port-number UDP su cui sta in ascolto il teredo-client • Per costruire il suo indirizzo ipv6, il teredo-client deve scambiare pacchetti UDP ipv4 con un teredo-server situato in zona pubblica • La porta UDP su cui ascolta il teredo-server per default è la 3544 • Bloccando la porta UDP 3544 in uscita si impedisce l’attivazione dei tunnel Teredo • Un computer con teredo-client attivo riceve connessioni ipv6 in entrata anche se sta dietro un NAT • Chi conosce l’indirizzo ipv6 della mia interfaccia Teredo può tentare di accedere ai miei file o al mio desktop • Il teredo-server default dei sistemi Windows è • teredo.ipv6.microsoft.com 33 Marco Sommani Come amministrare IPv6 sulla propria rete Caratteristiche di 6to4 (rfc3056) • Incapsula pacchetti ipv6 in pacchetti ipv4 con protocol-number 41 (ip6-in-ip) per collegare un’isola ipv6 con l’ipv6 globale • L’apparato situato nell’isola ipv6 che incapsula e decapsula i pacchetti si chiama 6to4-router • Nell’isola ipv6 si usano indirizzi global-unicast con prefisso 2002::/48, dove nei 32 bit che seguono “2002” c’è uno degli indirizzi ipv4 pubblici del 6to4-router • Il 6to4-router può • Usare il tunnel solo per se stesso (poco pericoloso) • Comportarsi da router annunciando prefissi 6to4 sulle reti adiacenti • L’eventuale blocco del protocol-number 41 impedisce il passaggio di pacchetti ipv6 incapsulati ma non inibisce l’invio dei RA sui link adiacenti 34 Marco Sommani Come amministrare IPv6 sulla propria rete Precisazioni su Windows • I sistemi diversi da Windows sono meno problematici perché i tunnel automatici devono essere attivati esplicitamente • Teredo deve addirittura essere installato • Chi ha un tunnel attivo in genere sa cosa ha fatto per attivarlo e sa come disattivarlo • Sui sistemi Windows (da XP SP2 in poi) l’attivazione automatica dei tunnel si ripristina/disabilita con i comandi • netsh interface ipv6 6to4 set state state=[default|disabled] • netsh interface ipv6 set teredo [default|disable] • In condizioni normali un Windows con 6to4 attivo non invia RA • L’invio di RA può essere attivato involontariamente con interventi che apparentemente non riguardano IPv6 • Per esempio attivando l’Internet Connection Sharing • L’invio dei RA di 6to4 si ripristina/disabilita con • netsh interface ipv6 6to4 set routing [default|disabled] 35 Marco Sommani Come amministrare IPv6 sulla propria rete Argomenti • IPv6: di cosa ci dobbiamo preoccupare • Tipologie di indirizzi • Comandi utili • Il DHCPv6 • I tunnel automatici Come difendersi dai rogue RA • Strumenti di monitoraggio 36 Marco Sommani Come amministrare IPv6 sulla propria rete Da dove possono arrivare i rogue RA • Il caso di Windows con 6to4 e Internet Connection Sharing non è unico • Su qualunque sistema è possibile attivare/disattivare l’invio di RA: • Su Windows: • netsh interface ipv6 set interface name advertise=[enabled|disabled] • Su OSX: • sudo ip6config [start-rtadvd|stop-rtadvd] • Su Ubuntu: • sudo radvd ---- (killare il demone per fermarlo) • Sui sistemi Unix (anche OSX) il file di configurazione è /etc/radvd.conf • I rogue RA possono arrivare anche da AP wifi configurati male • es.: Apple Time Capsule, AVM FRITZ!Box,… 37 Marco Sommani Come amministrare IPv6 sulla propria rete Come neutralizzare i rogue RA • Soluzione ideale: • Disporre di switch che permettano di bloccare in ingresso gli ICMPv6 con Tipe=134 • Esistono? • Se i router “ufficiali” permettono di configurare i flag di “precedence”, mettere precedence=high • I rogue RA “involontari” usano il default, che è precedence=medium • Usare ramond (http://ramond.sourceforge.net/) • Ascolta i RA • Se ci sono prefissi “non ufficiali” riproduce l’annuncio con routerlifetime=0 • Difetti di ramond • Non neutralizza un rogue router se i prefissi annunciati sono giusti • Non mette a 0 i lifetime dei prefissi • Nel CNR a Pisa e a Torino si lavora ad un tool di monitoraggio (6mon) che può anche sostituire ramond superandone i limiti 38 Marco Sommani Come amministrare IPv6 sulla propria rete Argomenti • IPv6: di cosa ci dobbiamo preoccupare • Tipologie di indirizzi • Comandi utili • Il DHCPv6 • I tunnel automatici • Come difendersi dai rogue RA Strumenti di monitoraggio 39 Marco Sommani Come amministrare IPv6 sulla propria rete Informazioni che il gestore vorrebbe avere • Quali indirizzi link-layer sono associati agli indirizzi ipv4 e ipv6 della propria rete • Dato un indirizzo link-layer, ricavare tutti gli indirizzi ipv4 e ipv6 associati • Dato un indirizzo link-layer, conoscere lo username associato • se c’è una procedura di autenticazione per accedere alla rete • Dato un indirizzo link-layer, scoprire a quale porta di quale switch è collegato • Essere avvisati quando entrano in azione rogue DHCP server (ipv4 o ipv6) o rogue router • Se possibile, neutralizzare i rogue DHCP server e i rogue router 40 Marco Sommani Come amministrare IPv6 sulla propria rete Dove ricavare le informazioni utili (1 di 2) • La maggior parte delle informazioni utili sono ricavabili scrivendo un daemon che raccolga alcuni multicast ipv6 e broadcast ipv4: • Gli ARP • I broadcast/multicast inviati dai client DHCP/DHCPv6: • In ipv4 il messaggio dhcp request (broadcast da client a server) contiene l’indirizzo ipv4 del server che ha proposto l’indirizzo • In ipv6 molti multicast da client a server contengono il DUID del server • Una volta conosciuto il DUID del server, per conoscere il suo indirizzo ipv6 linklocal e il suo indirizzo link-layer, il daemon può… • …inviare un messaggio DHCPv6 a ff02::1:2 specificando il DUID del rogue server: riceverà una frame di risposta dal server • I messaggi Neighbor-Solicitation (ICMPv6 con type=135) • I messaggi Router-Advertisement (ICMPv6 con type=134) 41 Marco Sommani Come amministrare IPv6 sulla propria rete Dove ricavare le informazioni utili (2 di 2) • Per trovare la porta switch a cui è collegato un dato indirizzo linklayer si può usare un programma che • Chieda via SNMP ad ogni switch della rete su quale porta si trova l’indirizzo ricercato • L’indirizzo di solito compare sulle tabelle di molti switch • Metodi per scoprire lo switch più vicino all’apparato: • Se si sa quali sono le porte terminali e quali quelle dei collegamenti interswitch, lo switch più vicino è quello che ha l’indirizzo su una porta terminale • Altrimenti, quello più vicino quasi certamente è quello che ha il minor numero di indirizzi link-layer (possibilmente 1) sulla porta che contiene anche l’indirizzo cercato • Al CNR di Pisa si usa l’utility “macfind”, sviluppata localmente • Parametri di configurazione di macfind: • L’indirizzo IP di ogni switch • La password SNMP di ogni switch 42 Marco Sommani Come amministrare IPv6 sulla propria rete Output di “macfind” 43 Marco Sommani Come amministrare IPv6 sulla propria rete Come sapere dove era collegato un indirizzo link-layer nel passato? • Per essere in grado di rispondere a questa domanda, bisognerebbe costringere chi accede alla rete ad autenticarsi (802.1x, captive portal…) • È importante attrezzarsi con meccanismi di autenticazione che lascino traccia nei log anche • degli indirizzi link-layer di chi si è autenticato • Della porta o dell’AP su cui l’utente si è autenticato • Se si dispone di switch con il protocollo sFlow, qualche aiuto viene dal collector dei sample di sFlow • Diversamente da NetFlow, sFlow invia al collector anche le informazioni di livello 2 (indirizzi link-layer, etc.) e l’ID della porta di ingresso • Purtroppo sFlow fa solo campionamenti: un apparato poco chiacchierone potrebbe sfuggire ai controlli 44 Marco Sommani Come amministrare IPv6 sulla propria rete Esempio di campioni sFlow 45 Marco Sommani Come amministrare IPv6 sulla propria rete Un analizzatore dei broadcast/multicast: 6mon • Al momento vi lavorano persone del CNR di Pisa e di Torino • Lo sviluppo è ancora in corso, ma c’è già un prototipo distribuibile in forma di immagine vmware • Le parti ancora da sviluppare sono soprattutto: • Il monitor del DHCPv6, per scoprire i rogue • Ancora tutto da fare • Il monitor del DHCPv4, per scoprire i rogue • È già funzionante ma non è ancora integrato in 6mon • Le funzionalità dell’interfaccia grafica, ancora molto spartana 46 Marco Sommani Come amministrare IPv6 sulla propria rete Uso di 6mon (1 di 3) 47 Marco Sommani Come amministrare IPv6 sulla propria rete Uso di 6mon (2 di 3) 48 Marco Sommani Come amministrare IPv6 sulla propria rete Uso di 6mon (3 di 3) 49 Marco Sommani Come amministrare IPv6 sulla propria rete FINE Marco Sommani
Documenti analoghi
Visualizza
Gli indirizzi Global aggregatable non hanno limitazioni nel loro campo
d’azione e possono essere usati per comunicare ovunque
Possono essere configurati manualmente
Possono essere ottenuti au...
Visualizza
Supporto di IPv6 nei Sistemi Operativi
Windows
NT4 SP6 Beta version
Windows 2000 SP3
Windows XP SP1
Windows 2003 Server
Protocollo IP versione 6: vulnerabilità e attacchi
protezioni perimetrali o per verificare i percorsi attivi che un pacchetto può percorrere. Verrà presentata anche una tabella in cui saranno rimarcati i Sistemi Operativi che
supportano ancora tale...