Monitoraggio di rete con NetFlow
Transcript
Monitoraggio di rete con NetFlow
Monitoraggio di rete con NetFlow [email protected] http://www.tanasi.it NetFlow: Introduzione Esigenza di rispondere alle domande chi, cosa, dove, quando e come? Il monitoraggio di reti a bassa velocità (100Mb/s) è possibile con i comuni tool basati sulle libpcap La cattura completa del traffico è limitata dalle potenzialità dell'hardware NetFlow è un protocollo per il monitoraggio passivo di flussi di rete anche ad alta velocità (1Gb/s e più) Inventato da Cisco (Daren Kerr e Barry Bruins) per aumentare la velocità dello switching Implementato dalla maggior parte dei produttori di apparati di rete (Cisco, Juniper, Enterasys, Extreme) Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it NetFlow: Origini NetFlow è stato ideato come metodo per aumentare le performances nella fase di switching path Conventional Switching NetFlow Switching Ogni pacchetto viene gestito singolarmente Ogni processo deve essere applicato su ogni pacchetto Nessuna informazione sullo stato Ogni pacchetto è identificato in un flusso I processi vengono applicati una volta sola sul flusso Informazioni sullo stato del flusso Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Caratterizzazione di un Flusso Flusso unidirezionale di pacchetti IP caratterizzato dai seguenti elementi (default): Indirizzo IP sorgente Indirizzo IP destinazione Porta sorgente Porta di destinazione Tipo di protocollo ToS Interfaccia logica di input (ifInput) L'aggregazione permette di cambiare queste chiavi Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it NetFlow: Features Fornisce statistiche sul traffico di rete ispezionando gli header dei livelli 2 – 4 Supporta statistiche su IPv6, MPLS, IPSEC, BGP Real time (o quasi) Architettura a tier Non fa packet inspection Non è una tecnologia IDS / IPS Interface TOS Protocol IP Header Source IP Address Destination IP Address TCP/UDP Header Data Packet Source Port Destination Port Packet Payload Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it NetFlow NetFlow: Casi d'uso Utilizzo della rete •Packet Count •Byte Count Tempistiche •Start Timestamp •End Timestamp Sorg. / Dest. •Source IP Address •Destination IP Address Applicazioni •Source TCP/UDP Port •Destination TCP/UDP Port ➔ ➔ ➔ ➔ Utilizzo di Interfacce •Input Interface Port •Output Interface Port QoS •Type of Service •TCP Flags •Protocol Routing / Peering ➔ ➔ ➔ •Next Hop Address •Source AS Number •Dest. AS Number •Source Prefix Mask •Dest. Prefix Mask ➔ ➔ ➔ User (IP) monitoring Application monitoring Traffic analysis Attack Detection Chargeback Billing Attack mitigation Billing AS Peer monitoring Traffic engineering Network Planning Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it NetFlow: Funzionamento Arrivo di un nuovo pacchetto Viene creato un'entry nella NetFlow cache che descrive il flusso Arrivo di pacchetti appartenenti a flussi conosciuti Vengono aggiornati i contatori (aggregati se necessario) Quando il flusso viene terminato le statistiche sono esportate Gi0/0 Gi0/1 luser69.a.it porno.it Start Int. src IP src port dst IP dst port proto Pkts sent Bytes sent TCP flags 14:20:12.221 Gi0/0 luser69.a.it 1024 porno.it 80 TCP 5 1029 SYN, ACK, PSH 14:20:12.871 Gi0/1 porno.it 80 luser69.a.it 1024 TCP 17 28712 SYN, ACK, FIN Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Architettura base Probe Filtraggio dei pacchetti per associare ogni pacchetto ad un flusso Flow cache Crea, aggiorna e rimuove flow records ● ● ● ● ● Flow key Flow start time Flow end Time Number of packets ... Exporter Legge la flow cache, prepara e esporta pacchetti NetFlow Header info info .... NetFlow vX IETF/IPFIX Application Applicazione di analisi Collector Riceve i flussi esportati. Interfaccia per le applicazioni Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Export di un flusso I flussi memorizzati all'interno della cache dell'apparato vengono esportati se: Il flusso viene terminato dall'arrivo di pacchetto contenente il flag FIN o RST Il flusso è inattivo oltre una soglia di timeout: cioè nessun pacchetto relativo al flusso è stato catturato (default 15 sec) Il flusso è attivo ma è scaduto un timeout predefinito che impone l'export del flusso (default 30 min) Cache management nel caso la flow cache sia piena, i primi flussi ad essere esportati sono i più vecchi Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Versioni di NetFlow La versione specifica il formato del pacchetto di export Versione 5 Formato di export fisso Nessun tipo di aggregazione Versione 7 Creata per gli switch Cisco serie 6500 e 7600 Versione 8 Permette diversi tipi di aggregazione, in modo da esportare e memorizzare in cache solo i dati che servono Versione 9 Aggregazione flessibile basata su template definiti dall'utente Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it NetFlow v9 Si basa sul concetto di template personalizzabili che definiscono semanticamente i dati esportati I soli dati sono esportati in Data Flow Sets Il Collector si configura con i template che gli arrivano (autoconfigurazione) Transports multipli (non solo UDP) Ogni Data Flow Set è preceduto da un puntatore al template Se un template viene perso i dati perdono significato RFC 3954 “Cisco Systems NetFlow Services Export Version 9”, IPR statement Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it IPFIX IETF draft[1] per “Find or develop a basic common IP Traffic Flow measurement technology to be available on (almost) all future routers” NetFlow v9 è stato scelto come base per lo sviluppo Non sarà mantenuta la retrocompatibilità Utilizzo di TCP, UDP, SCTP, TLS, DTLS Autenticazione mutua con certificati X.509 [1] http://www.ietf.org/html.charters/ipfix-charter.html Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Sampled NetFlow Viene scelto in modo deterministico o pseudocasuale un sottoinsieme dei pacchetti che transitano (campionamento) Uso di Traffic Class (campionamento specifico per ogni traffic class) Funzionalità introdotta nei Cisco serie 12000 Allegerisce il carico sugli apparati Adatto a rete ad alta velocità Sampling (esempio 1 ogni 3) Adatto a soddisfare alcune esigenze: ad es. network planning Creazione dei flussi 3 1 Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Considerazioni NetFlow fornisce una gran mole di informazioni, che però deve essere elaborata L'analisi di queste informazioni permette di porre ipotesi riguardanti anche la sicurezza di rete Una VLAN di amministrazione è necessaria L'impatto sulle prestazioni dell'apparato di rete è modesto Active Flows in Cache Additional CPU Utilization 10000 < 4% 45000 <12% 65000 <16% Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Un attacco DoS.. Router#show ip cache flow SrcIf SrcIPaddress SrcP SrcAS DstIf DstIPaddress DstP DstAS Pr Pkts B/Pk 29 192.1.6.69 77 aaa 49 194.20.2.2 1308 bbb 6 1 40 29 192.1.6.69 77 aaa 49 194.20.2.2 1308 bbb 6 1 40 29 192.1.6.61 2222 aaa 49 194.20.2.2 1308 bbb 6 1 40 29 192.1.6.61 2222 aaa 49 194.20.2.2 1308 bbb 6 1 40 29 192.1.6.61 2222 aaa 49 194.20.2.2 1308 bbb 6 1 40 29 192.1.6.120 1024 aaa 49 194.20.2.2 1308 bbb 6 1 40 29 192.1.6.120 1024 aaa 49 194.20.2.2 1308 bbb 6 1 40 29 192.1.6.120 1024 aaa 49 194.20.2.2 1308 bbb 6 1 40 Alcune tipologie di attacchi (ad es. DoS) sono modellizzabili. Utilizzo di NetFlow anche per la sicurezza di rete, l'elaborazione dei dati permette di rilevare attacchi e anomalie di rete. Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Security? Senza payload? Ricerca di pattern nel traffico NetFlow Un host che ne contatta molti in breve tempo (P2P, worm) Flussi di lunga durata (VPN, covert channels) Utilizzo di porte non autorizzate Anomalie sull'uso della banda (DoS, warez) Comunicazioni non autorizzate (due macchine che normalmente non dovrebbero parlare) Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it L2 e Security Monitoring Inoltre per identificare e tracciare attacchi: Layer2 IP header Source MAC address (frame ricevuti dal router) Destination MAC address (frame spediti dal router) Received VLAN ID (802.1q e Cisco ISL) Transmitted VLAN ID (802.1q e Cisco ISL) Extra Layer 3 IP header Time-to-Live Identification field Packet length ICMP type Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Parte pratica Come implementare un'infrastruttura di monitoraggio basata su NetFlow: Decidere su quali apparati di rete e su quali interfacce abilitare NetFlow Configurare gli apparati di rete di cui sopra Setup di un collector o di più collector Setup di una o più applicazioni di analisi dei dati e di allarmistica Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Architettura Enterprise Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Dove abilitare NetFlow Decidere cosa si vuole ottenere da NetFlow Scegliere di conseguenza su che apparati andare ad abilitarlo Scegliere le interfacce Monitorare tutto il traffico in uscita e in ingresso dalla LAN Evitare il doppio conteggio! Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Hardware Apparati di rete con supporto per NetFlow (ormai tutti i grandi produttori) Sistemi (computer) con schede di rete specifiche: Endace http://www.endace.com: capacità di selezione e filtering on board, full packet capture AMP (Analytic Metadata Producers) sono NetFlow capture devices sviluppate all'NSA, fingerprinting, deep inspection COMBO6 http://www.liberouter.org/card_combo6.php Sistemi embedded dedicati nbox http://ntop.ethereal.com/nBox.html e altri... Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it NetFlow probes Primo elemento della catena deputato a associare ogni pacchetto in transito ad un flusso Sonde inserite dai vendor negli apparati di rete (spesso software proprietario) Software nProbe http://www.ntop.org/nProbe.html: buone performances fProbe http://fprobe.sourceforge.net/: basato sulle libpcap fProbe-ulog http://fprobe.sourceforge.net/: basato su libipulog (Netfilter) pfflowd http://www.mindrot.org/projects/pfflowd: basato su pf di OpenBSD Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Configurazione router Cisco ip flowexport version <version> [originas| peeras|bgpnexthop] ip flowexport destination <address> <port> ip flowcache timeout inactive <seconds> ip flowcache timeout active <minutes> ip flowcache entries <number> Juniper cflowd collectorhostaddress { Autonomoussystemtype (origin|peer); port portnumber; version versionnumber; (localdump | nolocaldump); } Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Collectors Hanno il compito di memorizzare i flussi NetFlow esportati Ricezione dei pacchetti di export Memorizzazione su disco o database Eventuale compressione e rotazione dei flussi memorizzati Eventuale filtraggio Eventuale relay verso i livelli più alti dell'architettura Software: nfdump http://nfdump.sourceforge.net/ flowd http://www.mindrot.org/projects/flowd/ flow-tools http://www.splintered.net/sw/flow-tools/ Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Cisco CLI Numero di flussi attivi in cache Flussi per secondo Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Stager Aggrega e presenta statistiche di rete Monitoraggio di rete (usa anche SNMP e ping) Non adatto al monitoraggio delle sicurezze Personalizzabile http://software.uninett.no/stager/ Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it nfsen Visualizzazione e filtraggio dei dati Grafici (RRD) Sistema di detection e alert Architettura a plugin http://nfsen.sourceforge.net/ Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Nerd Security monitoring tool Analizza le statistiche NetFlow alla ricerca di attacchi Allarmistica http://www.nerdd.org Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it ...e altri.. nTop http://www.ntop.org/: può funzionare anche come collector NetFlow Flamingo http://flamingo.merit.edu: genera visualizzazioni 3D del traffico Panotips http://panoptis.sourceforge.net/: progetto che si prefigge di rilevare e bloccare gli attacchi DoS e DdoS Flowscan http://www.caida.org/tools/utilities/flowscan/: produce semplici grafici Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Programming Librerie per la programmazione di applicazioni che usano il protocollo NetFlow libipfix http://libipfix.sourceforge.net: libreria C per IPFIX libfixbuf http://www.cert.org/netsa/tools/fixbuf/: libreria per IPFIX message format jflow http://www.net-track.ch/opensource/jflow: libreria java Net::sflow http://search.cpan.org/author/ELISA/Net-sFlow-0.06/sFlow.pm: libreria perl per sFlow NetFlow Simulator http://sourceforge.net/projects/netflowsim Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Tricks Nelle ultime versioni di IOS ci sono comandi alcuni comandi per l'analisi integrati nella CLI (top ten talkers ad es.) ip flow ingress|egress sulle subinterfaces Attenzione ai valori originas | peeras Si può accedere via SNMP ad alcuni dati NetFlow di un apparato di rete (casi d'emergenza, sampling adattivo?) Spesso basta memorizzare dati aggregati (grande risparmio di spazio) Sincronizzare tutti gli apparati con un server NTP Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Conclusioni NetFlow mette a disposizioni dati per monitoraggio di rete, auditing, network forensics I router Cisco (e molti altri..) hanno NetFlow di default. A gratis. Usiamolo. Prodotti open source e commerciali possono venir utilizzati per analizzare dati NetFlow Nuovi worms e virus possono essere rilevati senza avere a disposizione signatures Il monitoraggio di rete si deve fare!!! Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Riferimenti CISCO NetFlow: http://www.cisco.com/en/US/products/ps6601/products_ios_protocol_group_home.html RFC 3917: Requirements for IP Flow Information Export (IPFIX) ftp://ftp.rfc-editor.org/in-notes/rfc3917.txt RFC 3954: Cisco Systems NetFlow Services Export Version 9 ftp://ftp.rfc-editor.org/in-notes/rfc3954.txt IPFIX Version Numbers http://www.iana.org/assignments/ipfix-parameters IPFIX Information Elements http://www.iana.org/assignments/ipfix SWITCH NetFlow References http://www.switch.ch/network/projects/completed/TF-NGN/floma/references.html FloMA: Pointers and Software http://www.switch.ch/network/projects/completed/TF-NGN/floma/software.html Free NetFlow Tools List http://www.networkuptime.com/tools/netflow/ NetFlow Performance Analysis http://www.cisco.com/en/US/tech/tk812/technologies_white_paper0900aecd802a0eb9.shtml Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Riferimenti (2) User and Test Report on the Netflow Probe http://www.surfnet.nl/publicaties/surfworks2005/indi-2005-012-48.pdf Autonomous NetFlow Probe http://www.terena.nl/tech/task-forces/tf-csirt/meeting16/netflow-probe-lhotka.pdf Free NetFlow Tools http://www.networkuptime.com/tools/netflow Detecting Worms and Abnormal Activities with NetFlow http://www.securityfocus.com/infocus/1796 <spam>NetFlow sul mio blog http://www.lonerunners.net/blog/plugin/tag/netflow</spam> Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Domande? Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Licenza Questo documento viene rilasciato sotto licenza Alcoolware, la quale non è altro che una normale licenza Creative Commons AttributeNonCommercial ShareALike [1] ma con l'aggiunta che se mi incontrate dobbiamo andare a bere qualcosa. In sintesi è liberamente distribuibile per usi non commerciali, copiabile e modificabile purchè citiate l'autore e la fonte. Se volete distribuire questo documento sul vostro sito siete pregati per favore di comunicarmelo in modo che possa spedirvi le nuove versioni. [1] http://creativecommons.org/licenses/byncsa/2.0/ Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it Dove reperisco queste slides? Le slides di questa presentazione sono già disponibili su: http://www.lonerunners.net/slides Per informazioni: http://www.tanasi.it [email protected] Non esitate a contattarmi anche solo per far due chiacchere... Italian grappa a tutti!! :-) Monitoraggio di rete con NetFlow – Alessandro Tanasi aka jekil - http://www.tanasi.it
Documenti analoghi
WürthPhoenix neteye 2011 – 2012
È stato introdotto un nuovo modulo per avere un maggior livello di astrazione per la definizione dei diversi servizi informatici. È possibile strutturare le dipendenze dei servizi IT con i vari com...
Dettagli