Misurazione del Traffico Internet - Luca Deri
Transcript
Misurazione del Traffico Internet - Luca Deri
Misurazione del Traffico Internet Versione 1.2 Luca Deri <[email protected]> ntop.org Indice Generale Prima Parte • • Dimostrazione dell’utilità del traffic measurement Necessità di misurare il traffico sia per l’utente finale che per l’operatore Seconda Parte • Introduzione all’Internet traffic measurement Terza Parte • Network troubleshooting: risoluzione dei comuni problemi di rete ntop.org v 1.2 2 Prima Parte ntop.org Prima Parte: Indice Definizione degli attori nel contesto della misurazione del traffico di rete Capability degli apparati di rete Confronto dei vari approcci per la misurazione del traffico di rete ntop.org v 1.2 4 Attori nella Misurazione del Traffico di Rete Utenti vs. (Internet) Service Provider Utente remoto (Dial-up) vs. TIN/Tiscali • Microsoft vs. (TIN + Telecom Italia) • UUNET vs. Telecom Italia • ntop.org v 1.2 5 Requisiti Utente Monitoraggio della performance applicativa: • • Perchè questa pagina web carica cosi’ lentamente? Perchè il video multicast non è regolare? Verificare che il livello di servizio sia adeguato alla infrastruttura di rete disponibile • Ho una banda sufficiente per le mie applicazioni? Verificare se c’è un attacco in corso • C’è un virus in rete che occupa tutta la banda? ntop.org v 1.2 6 Requisiti dei Service Provider Monitorare le attività ed il traffico di rete attuale Applicazione degli SLAs (Service Level Agreements) pattuiti Rilevazione di fault e problemi di rete. Ingegnerizzare la rete per fornire una migliore performance Pianificare per bisogni di banda futuri Ricevere feedback dai clienti ntop.org v 1.2 7 Problemi Aperti nel Campo del Traffic Measurement? Capacità di misura molto limitata • • • Sono misurati solo alcuni protocolli Le misure possono essere fatte solo su alcuni dispositivi di rete Le reti ad alta velocità aprono dei nuovi problemi di performance Necessità di sviluppare sempre nuovi servizi ed applicazioni basate sulle misurazioni quali: • • IP Billing QoS? ntop.org v 1.2 8 Caratteristiche degli Apparati End-system • • Completamente sotto il controllo utente Completamente instrumentabile dall’utente Apparati di Rete Standard • • • Accesso limitato agli operatori di rete Set limitato di funzioni offerte Insieme limitato di dati che possono essere collezionati Apparati di Rete Dedicati (Measurement Gears) • • Instrumentabili per collezionare dati specifici Problemi nella loro dislocazione fisica in modo da “vedere” tutto il traffico di rete ntop.org v 1.2 9 Approcci per la Misurazione del Traffico Active vs. Passive Inline vs. Offline Per-link vs. End-to-end Livelli di Aggregazione ntop.org v 1.2 10 Misure di Rete [1/3] Propagation Time • Quantità di tempo necessaria per trasmettere un quanto di dati (es. pacchetto) da sorgente a destinazione una volta che i dati sono già “sul filo”. Il tempo di propagazione dipende dal tipo di media utilizzato (es. rame, fibra, etc.), dalla velocità del media (es. 10Mbit, 100Mbit) e dalla distanza. Queueing Delay • Quantità di tempo che attendono i dati dentro una device prima di essere inviati o, una volta ricevuti, trasmessi alle applicazioni (high layers). Transmission Time (Delay) • Quantità di tempo necessaria per inviare un quanto di dati (es. pacchetto) da sorgente a destinazione, inclusi tutti i ritardi intermedi (es. tempo di propagazione + tempo di queueing…) ntop.org v 1.2 11 Misure di Rete [2/3] Bandwidth • Misura che descrive la capacità di un link: quantità di dati che possono essere trasmessi in un quanto di tempo. Es. Mbps, Kbps Bottleneck Bandwidth • Indica la bandwidth del link più lento in una misurazione end-toend. Percio’ la bandwidth totale è limitata dal bottleneck bandwidth. Throughput • Misura della quantità di dati che possono essere inviati su un link in una quantità di tempo. Spesso viene usato come fattore per la stima della banda disponibile su un link anche se la bandwidth ed il throughtput sono due misure molto diverse. ntop.org v 1.2 12 Misure di Rete [3/3] Latenza • Quantità di tempo che impiega un pacchetto per andare da sorgente a destinazione. Di solito si misura in ms (millisecondi) Packet loss • Percentuale di pacchetti inviati su un link e non ricevuti dal destinatario (es. sono stati scartati da un router intermedio). Si specifica in % (pkt. Persi)/(pkt. Totali). Jitter • Varianza in un arco di tempo del ritardo tra un pacchetto ed il successivo in un link monodirezionale.Di solito si misura in ms (millisecondi) ntop.org v 1.2 13 Stima della Bandwidth Bandwidth = 16 *(Pl-Ps)/(t2l-t2s-t1l+t1s) [misurata in bps] Mittente Link da Misurare Destinazione Pl = dimensione in bits del pacchetto più grande Ps = dimensione in bits del pacchetto più piccolo t1l = ping time di Pl sull’interfaccia più vicina t1s = ping time di Ps sull’interfaccia più vicina t2l = ping time di Pl sull’interfaccia più lontana t2s = ping time di Ps sull’interfaccia più lontana ntop.org v 1.2 14 Active Measurement Le sonde (probes) sono connesse alla rete da monitorare e vengono periodicamente letti i valori da essi misurati. Le misurazioni avvengono iniettando traffico sulla rete. ping • Connettività, round-trip delay, loss traceroute • Connettività, path, hop-delay Applicazioni Utente • • Performance a livello HTTP/FTP/Network (es. netperf) Pacchetti di probe tra insiemi di host diversi (es. fping) ntop.org v 1.2 15 Passive Measurement Non viene iniettato traffico ai fini della misurazione in quanto gli strumenti sono totalmente passivi. Packet monitors • • Tcpdump/Ethereal per Unix/Win32/MacOSX Sistemi di misura dedicati • OC3MON, IPMON • Niksun, Netscout Statistiche di traffico ricavate da router/switch • • Cisco NetFlow/Telnet Interface SNMP Log generati da server ntop.org v 1.2 16 Inline vs. Offline Inline Measurements Metodi che utilizzano un protocollo che transita sulla stessa rete dove si effettuano le misure (es. SNMP). Offline Measurements Metodi che usano reti diverse da quella dove transita il traffico da misurare (es. lettura dei contatori di un router tramite CLI utilizzando una porta seriale) ntop.org v 1.2 17 Per-Link Measurement Metrica disponibile solo sul link • • # pacchetti, # bytes, # packets scartati su una interfaccia del router nell’ultimo minuto # flussi, # of pacchetti/bytes per flusso Non fornisce statistiche globali di rete ma è utile agli ISP per le loro misurazioni di traffico. Esempi: • • • SNMP MIBs RTFM (Real-Time Flow Measurement) Cisco’s NetFlow ntop.org v 1.2 18 End-to-End Measurement Distinzione tra performance di rete ed applicativa • Wire-time vs. web-server performance Tutti gli measurements per la loro natura sono di tipo end-to-end. • Statistiche per path • I path sono simmetrici? • Come si comportano I pacchetti di probe: il link si comporta diversamente a seconda della lunghezza del pacchetto? • Base per la deduzione della performance a livello di link ntop.org v 1.2 19 Aggregazione delle Misure flow 1 flow 2 flow 3 flow 4 Definizione di Flusso • Pacchetti con lo stesso (protocollo, src ip & port, dst ip & port) Aggregazione di Flussi per • • • Porta, ToS (Type of Service), Protocollo (es. ICMP, UDP), AS (Autonomous System) Indirizzo sorgente e destinazione Sottorete,ora del giorno ntop.org v 1.2 20 Vantaggi e Svantaggi Overhead vs. Accuratezza • • • Più misure sono fatte, più dati sono collezionati Più sono aggregati I dati, più grande è la loro granularità Overhead (e.g. cpu load) sui router, switch, end-hosts Sicurezza vs. Condivisione • • • Accesso limitato alla rete interna Occorre rispettare la privacy degli utenti Le misure devono essere tenute protette in modo da non rivelare informazioni sulla rete a potenziali hacker ntop.org v 1.2 21 Misure e Tecnologie Le misure del traffico di rete possono essere fatte utilizzando: protocolli generici di management (es. SNMP Meter MIB) AAA-Protocols (Authentication, Authorization and Accounting) disegnati esclusivamente per questo compito Monitoring tools che tengono traccia dell’utilizzo delle risorse di rete (es. Cisco NetFlow). ntop.org v 1.2 22 AAA-Protocols Questi protocolli sono nati con Internet per: Autenticare gli utenti remoti che intendevano accedere alla rete. Impostare meccanismi di sicurezza compatibili con la policy locale (es. Utenti ospiti non possono accedere a risorse private). Tenere traccia dell’uso della rete (es. in termini di tempo o traffico) ntop.org v 1.2 23 AAA-Protocols: Architettura ntop.org v 1.2 24 AAA-Protocols TACACS Il primo protocollo di autenticazione ormai non più utilizzato . XTACACS (1990) Protocollo di autenticazione successore di TACACS. Non più utilizzato. TACACS+ Protocollo di autenticazione proprietario Cisco successore di TACACS. RADIUS Il protocollo AAA attualmente più diffuso. DIAMETER (1998) Nuovo protocollo AAA in corso di sviluppo. ntop.org v 1.2 25 Seconda Parte ntop.org Motivazione Dare risposta alle seguenti domande: Quali sono gli strumenti disponibili • Come vengono fatte le misurazioni • Cosa viene effettivamente misurato • Come interpretare i dati raccolti • ntop.org v 1.2 27 Panoramica della 2a Parte Analisi degli strumenti di misurazione più diffusi: ping, traceroute, tcpdump/Ethereal • OCxMON/CoralReef • SNMP, MIB • RTFM, Cisco’s NetFlow • Routing tables • ntop.org v 1.2 28 Headers TCP/IP 0 Version IP Header 15 16 31 HLEN ToS Total Length Identification flags Fragment Offset Time to Live Protocol Header Checksum Source IP Address Destination IP Address Source Port Number TCP Header ntop.org Header Destination Port Number Sequence Number Acknowledgement Number Reserved TCP Flags Window Size TCP Checksum Urgent Pointer v 1.2 29 Internet Control Message Protocol 0 7 8 Type 15 16 Code 31 Checksum contents depends on type and code type 0 8 11 code 0 0 0 1 description echo reply echo request time exceeded time-to-live equals 0 during transit time-to-live equals 0 during reassembly query x x error x x Utile per riportare errori o condizioni di traffico anomale ntop.org v 1.2 30 ping Utilizzato per verificare la raggiungibilità di un host Algoritmo: invio di pacchetti ICMP (o UDP) Inviare un ICMP Echo Request verso l’host di destinazione • L’host di destinazione riceve la richiesta e risponde con un ICMP Echo Reply • Il comando ping stampa il RTT, TTL, e il # di sequenza. • ntop.org v 1.2 31 Esempio di ping deri@ibook 6> ping fwpisa PING fwpisa.netikos.com (172.22.4.9): 56 data bytes 64 bytes from 172.22.4.9: icmp_seq=0 ttl=254 time=3.395 ms 64 bytes from 172.22.4.9: icmp_seq=1 ttl=254 time=2.069 ms 64 bytes from 172.22.4.9: icmp_seq=2 ttl=254 time=2.02 ms 64 bytes from 172.22.4.9: icmp_seq=3 ttl=254 time=2.077 ms ^C --- fwpisa.netikos.com ping statistics --4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 2.02/2.39/3.395 ms ntop.org v 1.2 32 traceroute Utilizzato per scoprire il forward path verso l’host di destinazione. Algoritmo: utilizza ICMP ed il campo TTL dell’header IP • • • • Invia un pacchetto UDP con TTL=1 Il primo router ritorna un pacchetto ICMP di tipo Time Exceeded. Quindi il mittente invia un pacchetto UDP con TTL=2 ed ottiene una risposta dal secondo router. Si reitera il processo finchè non viene contattato l’host di destinazione o quando il TTL si esaurisce. ntop.org v 1.2 33 Esempio di traceroute deri@ibook 8> traceroute www.ntop.org traceroute to faeta.unipi.it (131.114.21.9), 30 hops max, 40 byte packets 1 193.43.104.11 (193.43.104.11) 5.667 ms 2.343 ms 1.963 ms 2 195.31.151.65 (195.31.151.65) 4.346 ms 3.246 ms 3.358 ms 3 r-fi21-telecom-finsiel.interbusiness.it (195.31.6.165) 17.78 ms 15.834 ms 15.633 ms 4 r-fi63-fa2.interbusiness.it (212.131.112.248) 20.323 ms 16.767 ms 15.401 ms 5 r-rm99-fi63.interbusiness.it (151.99.99.25) 18.348 ms 18.889 ms 18.592 ms 6 151.99.101.46 (151.99.101.46) 23.102 ms 22.107 ms 28.286 ms 7 garr-nap.inroma.roma.it (194.242.224.15) 23.42 ms 100.491 ms 25.391 ms 8 roma-rix1.garr.net (193.206.134.225) 191.507 ms 30.183 ms 23.639 ms 9 bo-rm-2.garr.net (193.206.134.37) 29.824 ms 358.839 ms 47.818 ms 10 pi-bo.garr.net (193.206.134.74) 42.362 ms 38.577 ms 34.124 ms 11 unipi-rc.pi.garr.net (193.206.136.18) 106 ms 230.589 ms 183.566 ms 12 eth01-gw.unipi.it (131.114.188.7) 159.475 ms 252.364 ms 236.723 ms 13 faeta.unipi.it (131.114.21.9) 111.036 ms * 78.675 ms ntop.org v 1.2 34 Utilizzo di ping e traceroute Utili per verificare la raggiungibilità ed il forward path nella tabella di routing. Problemi aperti: • • • Path asimmetrici (es. in reti con routing dinamico) ICMP filtering: in questo caso i comandi non funzionano Credibilità dei dati forniti dai tool: i pacchetti di probe sono piccoli e quindi non possono essere veramente usati per calcolare dati quali throughput e RTT. ntop.org v 1.2 35 Reverse Traceroute Al fine di calcolare il reverse traceroute sono disponibili numerosi server accedibili di solito tramite interfaccia web: • • http:// www.slac.stanford.edu/comp/net/wan-mon/traceroute-srv.html http://www.caida.org/analysis/routing/reversetrace/ (mappa mondiale dei reverse traceroute server) ntop.org v 1.2 36 tcpdump Utilizzato per catturare ed analizzare pacchetti (necessita di diritti di root). Modalità di funzionamento: la scheda di rete viene impostata in modalità promiscua e passivamente sono catturati i pacchetti da essa ricevuta. è possibile impostare dei filtri che limitano la cattura solo a certi pacchetti. Output: ora, host/porta mittente e destinazione, protocollo, payload. Download: • Unix: http://www.tcpdump.org/ • Win32: http://netgroup-serv.polito.it/windump/ ntop.org v 1.2 37 Esempio di tcpdump [ibook:/Volumes/Scrapbook/boot] root# tcpdump 15:54:21.896086 pidc01.netikos.com.domain > 193.43.104.253.49163: 43144 NXDomain* 0/1/0 (121) 15:54:21.932486 193.43.104.253.49163 > pidc01.netikos.com.domain: 13120+ PTR? 37.104.43.193.in-addr.arpa. (44) 15:54:21.998994 172.22.5.9.netbios-ns > 172.22.7.255.netbios-ns: >>> NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 15:54:21.999014 172.22.5.9.netbios-ns > 172.22.7.255.netbios-ns: >>> NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 15:54:22.027432 braito.netikos.com.netbios-dgm > 172.22.7.255.netbios-dgm: >>> NBT UDP PACKET(138) Res=0x110E ID=0x9AD2 IP=172 (0xac).22 (0x16).5 (0x5).37 (0x25) Port=138 (0x8a) Length=251 (0xfb) Res2=0x0 SourceName=BRAITO NameType=0x00 (Workstation) DestName=NETIKOS NameType=0x00 (Workstation) SMB PACKET: SMBtrans (REQUEST) ^C15:54:22.160100 […] 137 packets received by filter 0 packets dropped by kernel [ibook:/Volumes/Scrapbook/boot] root# ntop.org v 1.2 38 Ethereal [1/2] Sniffer simile a tcpdump dotato di molti decoder per la maggtior parte dei protocolli di rete. Download: http://www.ethereal.com/ [Unix/Win32] ntop.org v 1.2 39 Ethereal [2/2] Pacchetti Decoder Raw ntop.org v 1.2 40 Packet Capture: libpcap sniffer sniffer kernel TCP,UDP filter filter Copia dei pacchetti Ethernet Device driver BPF driver ntop.org IP,ICMP v 1.2 41 Esempio di uso di libpcap pcapPtr = pcap_open_live(deviceName, maxCaptureLen, setPromiscousMode, pktDelay, errorBuffer); while(pcap_dispatch(pcapPtr, 1, processPacket, NULL) != -1); void processPacket(u_char *_deviceId, const struct pcap_pkthdr *h, const u_char *p) { … } ntop.org v 1.2 42 Problemi con l’utilizzo di Sniffer Implicazioni di Sicurezza • • • Viene catturato tutto il traffico di rete e non solo quello destinato all’host che ospita lo sniffer Nel caso si utilizzino reti switched si riesce a catturare solo una porzione del traffico totale (ARP poisoing) Utilizzo limitato a coloro che hanno diritti di root NOTA: questo accade anche con ICMP (es. ping) e per questo tali comandi sono impostati con setuid. Performance • L’utilizzo di sniffer ha implicazioni sul carico della CPU in quanto devono essere analizzati tutti i pacchetti/protocolli e non solo quelli diretti all’host ntop.org v 1.2 43 Traffic Mirror: Soluzioni Hardware: Hub (Copper Ethernet, Token Ring) Optical Splitter (Optical Fibers) Tap (Copper/Fiber) Software: Switch Port Mirror (1:1, 1:N) Switch VLAN Mirror (N:1) Switch Traffic Filter/Mirroring (Juniper) ntop.org v 1.2 44 Network Taps ntop.org v 1.2 45 Packet Capture: Soluzioni Utilizzo di schede di rete equipaggiate con NPU (Network Process Unit): 1. Esecuzione di codice per traffic accounting/management sulla scheda (es.Intel IPX Family) 2. Accesso ad alta velocità ai pacchetti direttamente sulla scheda via mmap() senza la loro copia in memoria centrale tramite il bus PCI (es. Endace DAG Card) ntop.org v 1.2 46 Packet Capture: DAG Card ntop.org v 1.2 47 Linux Packet Capture [1/4] Linux packet capture è inefficiente quando c’è una grande quantità di traffico di rete. Capture Linux 2.4 Linux 2.6 FreeBSD Mode [w/o Polling] w/Polling w/Polling Libpcap 0,1% 0,8% 74,7% Libpcap 1,1% Windows 28,6% mmap() Kernel 1,5% 9,7% Module La tabella illustra la % di pacchetti catturati sul totale inviato. ntop.org 48 Linux Packet Capture [2/4] Linux kernel polling (Linux 2.6 + NAPI) aiuta ma non è abbastanza. Molti OSs sono più performanti di Linux. Problema: senza una sostanziale miglioramento delle performance, Linux non è adatto alla cattura di pacchetti ad alta velocità. ntop.org 49 Linux Packet Capture [3/4] Soluzione: socket (PF_RING) ring buffer mmap()-ed in user space User Space Kernel mmap() (senza lavoro per il kernel) Paccheti Catturati ntop.org 50 Linux Packet Capture [4/4] Cattura a Gbit (> 200’000 pkt/sec) su Pentium II (550 Mhz) senza schede aggiuntive. Disponibile per Linux 2.4 e Linux 2.6 a http://sourceforge.net/projects/ntop/ Test Playground Constant 93’000 Pkt/sec traffic stream Receiver: nBox with Intel 100Mbit NIC ntop.org 51 Applicazioni a Livello Utente Mancanza di supporto da parte del kernel e nessun accesso ad ICMP. Esempi di applicazioni • HTTP/FTP downloads [Paxson97] • Bulk transfer di dati tra un insieme di host utilizzando HTTP/FTP e raccolta di dati di performance eseguendo contemporaneamente tool quali tcpdump e traceroute • Pacchetti UDP generati con distribuzione di Poisson • Ping multipli attivi tra diversi router di una rete per il monitoraggio dello SLA (es. calcolo del valore medio di packet delay/loss) ntop.org v 1.2 52 OC3MON e OC12MON Sistema di monitoraggio passivo con analisi di flussi per reti ad alta velocità • http://www.nlanr.net/NA/Oc3mon/ Architettura Utilizzata • • IBM PC con 2 FORE ATM NICs a velocità OC3 speed NICs connessi con fibra ottica sulla quale passa traffico di tipo IP-over-ATM Modalità di Monitoraggio • • Raw cell capture (limitata dalla memoria disponibile e dalla velocità di elaborazione degli host) Flow analysis: analisi dei flussi catturati ntop.org v 1.2 53 CoralReef Insieme di librerie, classi Java ed applicazioni per l’analisi passiva in realtime di traffico di rete • • Capacità avanzate di analisi e generazione report circa il traffico catturato. http://www.caida.org/tools/measurement/coralreef/ Raw traffic stack Flow stack C/C++ Programs Perl Programs Flows Analysis CRL.pm & Unpack.pm Flow Interval Handler libcoral Coral Drivers ntop.org Trace Files Tables libpcap v 1.2 54 Esempio di Report CoralReef ntop.org v 1.2 55 Radius [RFC 2139, 1997] Radius è un acronimo per Remote Authentication Dial In User Service (RADIUS) specificato in due RFC: • • Protocollo ai Autenticazione Rigney, C., Rubens, A., Simpson, W, and Willens, S.; Remote Authentication Dial In User Service (RADIUS), RFC 2138, January 1997. Raccolta Dati di Accounting Rigney, C.; RADIUS Accounting, RFC 2139, January 1997. ntop.org v 1.2 56 Radius Radius è fondamentale perchè: E’ il protocollo più diffuso per implementare l’autenticazione sugli apparati di rete. E’ il protocollo più utilizzato per il billing su linee seriali (es. ADSL, Modem). Ha influenzato tutti i modelli di billing dati perchè permette di fare accounting per tempo di connessione o volume di dati. Praticamente tutti gli apparati di rete (esclusi i low-end) lo supportano. ntop.org v 1.2 57 Il Protocollo Radius Login Session Access Request Access Accept Network Access Accounting Request (Start) Accounting Response Server (Radius Client) Logout Session Accounting Server (Radius Server) Accounting Request (Stop) Accounting Response ntop.org v 1.2 58 Il Protocollo Radius: Messaggi •Code: Byte che contiene il comando/risposta RADIUS. •Identifier: Byte che identifica il comando/rispsta RADIUS. •Length: Lunghezza in bytes del pacchetto. •Authenticator: Valore utilizzato per autenticare la risposta dal RADIUS server. •Attributes: Parametri del comando/risposta. ntop.org v 1.2 59 Il Protocollo Radius: Primitive access-request, (client->server): richiesta di accesso a certi servizi (Es. Autenticazione utente). Possibili risposte: • • • access-accept, (server->client): accesso garantito. access-reject, (server->client), risposta negativa. access-challenge, (server->client): risposta a fronte della quale il server si aspetta una risposta da parte del client incapsulata in una nuova accessrequest. accounting request, (client->server): richiesta di memorizzare dati di accounting nel server. Possibile risposta: • accounting response, (server->client): il server conferma il client che I dati di accounting (es. Bytes inviati) sono stati memorizzti con successo. ntop.org v 1.2 60 Il Protocollo Radius: Contenuto dei Messaggi Access-request: username/password dell’utente remoto encriptati con una shared key. Access-response: in caso positivo contiene informazioni quali l’indirzzo IP, netmask, allowed session time, etc. del cient. Accounting-request (start): viene inviato quando l’utente effettua realmente il login. Accounting-request (stop): il client invia al server le seguenti informazioni: • • • • • • # di bytes ricevuti dal client (input octets) # di bytes inviati dal client (output octets) Durata del collegamento (session time) # di pacchetti ricevuti dal client (input packets) # di pacchetti inviati dal client (output packets) Motivo della disconnessione (es. User logout o time limit) ntop.org v 1.2 61 Real Time Flow Measurement Definisce: [RFC 2721, 2722] Metodi per definire flussi • Gerarchia di device (meters, meter readers, managers) ai fini della misurazione dei flussi • Meccanismi per configurare i meter, meter reader e per collezionare dati da meter remoti • ntop.org v 1.2 62 RTFM: Interazioni tra Componenti • Manager-Meter: configura e controlla il meter (es. definisce I flussi da misurare) • Manager-Meter Reader: configura e controlla il meter reader (es. definisce cosa devono leggere da quali meter e con quale frequenza di polling) • Meter-Meter Reader: colleziona dati di accounting memorizzati nel Meter leggendo la Meter Flow Table • Meter Reader - Analysis Application: se necessario I valori letti dal meter reader possono essere analizzati ulteriormente attracenso un’applicazione di analisi esterna (es. Aggregazione e filtraggio dati). Questa applicazione non viene definita dall’architettura RTFM. ntop.org v 1.2 63 Esempio di Regole RTFM [1/2] DEFINE D1 = 130.89.17.64/29; DEFINE D2 = 130.89.17.72/29; DEFINE D3 = 130.89.17.80/29; IF (SourcePeerAddress == D1 && DestPeerAddress == D2) { SAVE SourcePeerAddress/29; SAVE DestPeerAddress/29; STORE FlowKind := '1'; COUNT; } ELSE IF (SourcePeerAddress == D1 && DestPeerAddress == D3) { SAVE SourcePeerAddress/29; SAVE DestPeerAddress/29; STORE FlowKind := '2'; COUNT; } ELSE NOMATCH; FORMAT SourcePeerAddress " " DestPeerAddress " " ToOctets " " FromOctets " " FlowKind; ntop.org v 1.2 64 Esempio di Regole RTFM [2/2] Flow Kind To Octets From Octets D1->D2 24543 64563 D1->D3 23456 5654 Tabella memorizzata nel Meter e prodotta a partire dalla configurazione precendente ntop.org v 1.2 65 Cisco NetFlow [1/3] Approccio analogo a RTFM. Standard aperto per la misurazione di flussi IP definito da Cisco Systems. Con RMON è lo standard industriale per la misurazione del traffico di rete. Esistono varie versioni. La più diffusa è la versione 5. La più recente è la versione 9. Le sonde NetFlow sono di solito implementate nei router/switch ma esistono anche sonde esterne (es. nProbe) ntop.org v 1.2 66 Cisco NetFlow [2/3] NetFlow non è basato su SNMP. Il probe invia le informazioni sui flussi al collector utilizzando UDP. In ogni pacchetto possono essere memorizzati più flussi (es. con NetFlow v5 si riescono a memorizzare 30 flussi per pacchetto). ntop.org v 1.2 67 Cisco NetFlow [3/3] Memorizza statistiche sui flussi a livello di interfaccia e li invia al collezionatore via UDP Aggregazione a livello di route • Es. AS, protocol port, src prefix, dst prefix, prefix Raccomandato sugli access routers più che sui backbone router (troppo carico CPU) I flussi collezionati sono inviati ad un FlowCollector • • • Non è possibile accedere ai dati via MIB/SNMP è possibile aggregare ulteriormente flussi nel collector Altri costruttori (es. Juniper) supportano NetFlow ntop.org v 1.2 68 Esempio di Report NetFlow ntop.org v 1.2 69 Cisco NetFlow v5 [1/2] struct netflow5_record { struct flow_ver5_hdr flowHeader; struct flow_ver5_rec flowRecord[30]; } NetFlow5Record; struct flow_ver5_hdr { u_int16_t version; u_int16_t count; u_int32_t sysUptime; u_int32_t unix_secs; u_int32_t unix_nsecs; u_int32_t flow_sequence; u_int8_t engine_type; u_int8_t engine_id; }; ntop.org /* Current version=5*/ /* The number of records in PDU. */ /* Current time in msecs since router booted */ /* Current seconds since 0000 UTC 1970 */ /* Residual nanoseconds since 0000 UTC 1970 */ /* Sequence number of total flows seen */ /* Type of flow switching engine (RP,VIP,etc.)*/ /* Slot number of the flow switching engine */ v 1.2 70 Cisco NetFlow v5 [2/2] struct flow_ver5_rec { u_int32_t srcaddr; u_int32_t dstaddr; u_int32_t nexthop; u_int16_t input; u_int16_t output; u_int32_t dPkts; u_int32_t dOctets; u_int32_t First; u_int32_t Last; u_int16_t srcport; u_int16_t dstport; u_int8_t pad1; u_int8_t tcp_flags; u_int8_t prot; u_int8_t tos; u_int16_t dst_as; u_int16_t src_as; u_int8_t dst_mask; u_int8_t src_mask; u_int16_t pad2; }; ntop.org /* Source IP Address */ /* Destination IP Address */ /* Next hop router's IP Address */ /* Input interface index */ /* Output interface index */ /* Packets sent */ /* Octets sent */ /* SysUptime at start of flow */ /* and of last packet of the flow */ /* TCP/UDP source port number (.e.g, FTP, Telnet, etc.,or equivalent) */ /* TCP/UDP destination port number (.e.g, FTP, Telnet, etc.,or equivalent) */ /* pad to word boundary */ /* Cumulative OR of tcp flags */ /* IP protocol, e.g., 6=TCP, 17=UDP, etc... */ /* IP Type-of-Service */ /* dst peer/origin Autonomous System */ /* source peer/origin Autonomous System */ /* destination route's mask bits */ /* source route's mask bits */ /* pad to word boundary */ v 1.2 71 Flusso NetFlow v5 [1/2] Cisco NetFlow Version: 5 Count: 30 SysUptime: 1518422100 Timestamp: May 7, 1993 08:49:48.995294598 CurrentSecs: 736757388 CurrentNSecs: 995294598 FlowSequence: 9751 EngineType: 0 EngineId: 0 SampleRate: 0 pdu 1/30 [ …… ] ntop.org v 1.2 72 Flusso NetFlow v5 [2/2] pdu 1/30 SrcAddr: 10.16.237.114 (10.16.237.114) DstAddr: 213.92.16.87 (213.92.16.87) NextHop: 10.158.100.1 (10.158.100.1) InputInt: 4 OutputInt: 1 Packets: 5 Octets: 627 StartTime: 1518415.920000000 seconds EndTime: 1518416.352000000 seconds SrcPort: 3919 DstPort: 80 padding TCP Flags: 0x1b Protocol: 6 IP ToS: 0x00 SrcAS: 0 DstAS: 0 SrcMask: 16 (prefix: 10.16.0.0/16) DstMask: 0 (prefix: 0.0.0.0/32) padding pdu 2/30 [ ……………………… ] ntop.org v 1.2 73 Flusso NetFlow v9 [1/2] Cisco NetFlow Version: 9 Count: 4 SysUptime: 1132427188 Timestamp: Aug 18, 2000 23:49:25.000012271 CurrentSecs: 966635365 FlowSequence: 12271 SourceId: 0 FlowSet 1/4 FlowSet 1/4 Template FlowSet: 0 FlowSet Length: 164 Template Id: 257 Field Count: 18 Field (1/18) Type: LAST_SWITCHED (21) Length: 4 Field (2/18) Type: FIRST_SWITCHED (22) Length: 4 Field (3/18) [ …… ] ntop.org v 1.2 74 Flusso NetFlow v9 [2/2] Cisco NetFlow Version: 9 Count: 1 SysUptime: 1133350352 Timestamp: Aug 19, 2000 00:04:48.000012307 CurrentSecs: 966636288 FlowSequence: 12307 SourceId: 0 FlowSet 1/1 Data FlowSet (Template Id): 257 FlowSet Length: 52 pdu 1 EndTime: 1133334.000000000 seconds StartTime: 1133334.000000000 seconds Octets: 84 Packets: 1 InputInt: 15 OutputInt: 0 SrcAddr: 172.18.86.77 (172.18.86.77) DstAddr: 11.10.65.130 (11.10.65.130) Protocol: 1 IP ToS: 0x00 [ … ] ntop.org v 1.2 75 NetFlow v5 vs. v9 V5 V9 Fisso User Defined Estensibilità No Dimensione Flusso IPv6 48 Bytes No Si (Nuovi Flowset Field) Dipende dal Formato IP v4/v6 MPLS/VLAN No Si Formato Flusso ntop.org v 1.2 76 sFlow [1/4] RFC 3176 proposto da InMon Inc. Definisce: Il formato dei pacchetti sFlow (UDP, no SNMP). • Un MIB SNMP per accedere ai dati collezionati con sFlow • Architettura simile a NetFlow: il probe invia i pacchetti sFlow al collector (no polling). ntop.org v 1.2 77 sFlow [2/4] La sonda sFlow è fondamentalmente uno sniffer che cattura 1 pacchetto ogni X (es. ratio 1:400): packet sampling. Tale pacchetto viene inviato al collector in formato sFlow. Periodicamente la sonda invia altri pacchetti sFlow che contengono statistiche sull’interfaccia di rete al fine di fare la normalizzazione dei dati. ntop.org v 1.2 78 sFlow [3/4] typedef struct _INMFlow_sample { u_int32_t sequence_number; u_int32_t source_id; u_int32_t sampling_rate; u_int32_t sample_pool; u_int32_t drops; u_int32_t input; u_int32_t output; u_int32_t packet_data_tag; INMPacket_data_type packet_data; [..] } INMFlow_sample; ntop.org /* Incremented with each generated flow */ /* fsSourceId */ /* fsPacketSamplingRate (e.g. 400 for 1:400) */ /* Total number of packets that could have been sampled (i.e. packets skipped by sampling process + total number of samples) */ /* Number of times a packet was dropped due to lack of resources */ /* SNMP ifIndex of input interface. 0 if interface is not known. */ /* SNMP ifIndex of output interface, 0 if interface is not known. */ /* enum INMPacket_information_type */ /* Sampled packet payload */ v 1.2 79 sFlow [4/4] Con opportune formule statistiche, dopo un piccolo periodo di tempo, un collector sFlow riesce a fornire statistiche attendibili sebbene venga analizzata solo una piccola parte del traffico. sFlow è scalabile (basta incrementare il ratio) anche su reti a 10 Gbit e superiori. ntop.org v 1.2 80 Routing Tables Essenziali per ogni analisi del traffico basato su indirizzi • Flussi aggregati per prefix, AS, PoP, ingress/egress interface. Modalità di collezionamento informazioni sulle routing table • • • Interrogando protocolli di routing dinamico. Passive routing protocol speaker: rimuove route vecchie o non utilizzate. Possibilità di accedere alle route di un router remoto via router login o SNMP. ntop.org v 1.2 81 Topologia di Internet EGP Grande ISP Grande ISP ISP Medio dialup ISP Piccolo ISP EGP (External Gateway Protocol) - usato tra AS (Autonomous Systems) per scambiare informazioni di routing in modo da forwardare correttamente il traffico tra ASs. Esempio: BGP. ntop.org v 1.2 82 Scambio delle Informazioni di Routing Puoi raggiungere la rete A tramite me BGP AS1 traffic to A AS2 R1 A Routing Table su R1: dest next hop A R2 ntop.org R3 R2 v 1.2 R Border router Internal router 83 Protocolli di Routing IGP: Interior Gateway Protocol. Esempio: OSPF I-BGP R3 R2 A AS1 E-BGP Annuncio B AS2 R1 AS3 R5 R4 R Border router B Internal router ntop.org v 1.2 84 Routing Tables Tabelle BGP Connettività tra AS e AS • Esempi di tabelle BPG pubbliche: http://www.antc.uoregon.edu/route-views [Route Views Project] • Tabelle OSPF • Connettività interna ad un AS Forwarding Tables • Mapping tra porte input -> output port. ntop.org v 1.2 85 Routing e Misurazione Traffico Al contrario degli utenti finali, per gli i grandi ISP il traffico costa in base alla destinazione (modello telefonico). Esistono accordi di “peering” con altri ISP che permettono di avere prezzi particolari se il traffico passa tramite loro. Dividere/aggregare per network/AS permette di capire come gira il traffico e quindi per stipulare accordi di peering. ntop.org v 1.2 86 Path Characterization Che cos’è • Capacità di caratterizzare le caratteristiche di un cammino (path) end-to-end attraverso Internet. Misure per la Caratterizzazione • • • • • Bandwidth Latenza Packet loss Jitter One-way delay, RTT (Round Trip Time) ntop.org v 1.2 87 Path Characterization: Pathchar Pathchar [ftp://ftp.ee.lbl.gov/pathchar/] • • Invia una serie di pacchetti di dimensioni diverse a tutti i router della route da analizzare Viene misurato il tempo di risposta minimo, e per ogni hop: • Hop delay • Bandwidth • Queueing • • Studiando il RTT in funzione della dimensione del pacchetto si riesce a calcolare la bandwidth Lunghi tempi di calcolo a causa dei calcoli complessi e del numero di pacchetti di probe da inviare ai fini di ottenere misurazioni realistiche. Altri Package: pchar, pipechar. ntop.org v 1.2 88 Network Throughput: IPerf Iperf [http://dast.nlanr.net/Projects/Iperf/] • • • • • Architettura client/server: lo stesso binario viene avviato in due modalità diverse. Il client invia pacchetti TCP/UDP verso il server il quale riceve I pacchetti Il client puo’ specificare la porta, la dimensione della TCP windows, la durata del test, e la quantità di dati da inviare. Statistiche: bandwidth, packet delay/loss, jitter. Svantaggi: • Il server deve essere installato sull’host di destinazione • Il tool non puo’ essere utilizzato (in quanto non installabile) sui router ntop.org v 1.2 89 Network Throughput: Bing Bing [http://www.cnam.fr/reseau/bing.html] • Banwidth Ping: tool per la misura della banda disponibile basato su ping. Algoritmo • • • Siamo su A e dobbiamo calcolare la banda tra gli host L1 e L2: A <----> ( Internet ) <---> L1 <---> L2 Il tool calcola il RTT A<->L1 e A<->L2. Da queste misurazioni si calcola il RTT L1<->L2. Ripetendo i calcoli per pacchetti di dimensioni diverse si riesce a calcolare la bandwidth tra L1 e L2 Limitazioni • • L’algoritmo non funziona su route asimmetriche Altri Package: Treno [http://ai3.asti.dost.gov.ph/sat/treno.html] ntop.org v 1.2 90 Traffic Data Collection [1/2] Il collezionamento periodico di dati è fondamentale per: • • • • Avere una storia del traffico passato ai fini di reingegnerizzare la rete in base al traffico ed alle sue variazioni (es. picchi) Fare backtrace in caso di anomalie o di attacchi di rete Generare informazioni per sistemi di IP accounting e billing. Produzioni di report periodici. ntop.org v 1.2 91 Traffic Data Collection [2/2] Politiche di Collezionamento Intervallo di collezionamento non più piccolo di 5 minuti (minimo impatto su performance) • Al fine di analizzare bene i dati è necessario visualizzarli con intervalli di tempo diversi • Giorno ntop.org Mese v 1.2 Anno 92 Data Collection: MRTG MRTG [http://www.mrtg.org/] Multi Router Traffic Grapher: tool per collezionare tramite SNMP dati di traffico da router e produrre statistiche e grafici circa i dati collezionati. • Possibilità di collezionare dati anche da device che non ‘parlano’ SNMP. • Disponibilità di interfaccia Perl e WWW per l’accesso ai dati collezionati. • ntop.org v 1.2 93 Data Collection: RRD RRD [http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/] • • • Round Robin Database: Tool per memorizzare e visualizzare serie di dati su cui è basato MRTG. I dati sono memorizzati in maniera molto compatta in maniera che non si espandano nel tempo (automatic data aggregation) e con dimensione fissa del file. Interfaccia Perl/C per l’accesso ai dati collezionato e per produrre grafici. ntop.org v 1.2 94 Esempio di RRD Perl $rrd = "$dataDir/$agent-$ifIndex.rrd"; if(! -e $rrd) { RRDs::create ($rrd, "--start",$now-1, "--step",20, "DS:bytesIn:COUNTER:120:0:10000000", "DS:bytesOut:COUNTER:120:0:10000000", "RRA:AVERAGE:0.5:3:288"); $ERROR = RRDs::error; die "$0: unable to create `$rrd': $ERROR\n" if $ERROR; } RRDs::update $rrd, "$now:$ifInOctets:$ifOutOctets"; if ($ERROR = RRDs::error) { die "$0: unable to update `$rrd': $ERROR\n"; } ntop.org v 1.2 95 Data Collection: Esempi di Grafici MRTG/RRD ntop.org v 1.2 96 Integrated Monitoring: Cacti Cacti [http://www.raxnet.net/products/cacti] è un tool open source capace di: Collezionare dati tramite da SNMP ed altre sorgenti non-SNMP. Configurazione via web e loro memorizzazione in un database SQL. Memorizzazione dei dati collezionati dentro files in formato RRD. Estensibilità mediante scripts + XML ntop.org v 1.2 97 Cacti: Data Collection ntop.org v 1.2 98 Cacti: Data Sources ntop.org v 1.2 99 Cacti: RRD Graph Templates ntop.org v 1.2 100 Cacti: Data Graph ntop.org v 1.2 101 Network Troubleshooting Localizzazione degli Amministratori • Dov’è un host ed a chi appartiene il dominio dov’è registrato ? Problemi di Configurazione • Routing table e connettività ntop.org v 1.2 102 Dov’é un Host? Associazione tra indirizzo IP e nome deri@tar:~$ nslookup 131.114.21.22 Server: localhost Address: 127.0.0.1 Name: jake.unipi.it Address: 131.114.21.22 Associazione tra host e Proprietario nslookup -type=SOA • WAIS [Wide Area Information System] http://www.ai.mit.edu/extra/the-net/wais.html • WHOIS [RFC-812] • ntop.org v 1.2 103 Esempio di Utilizzo WHOIS deri@ibook:~$ whois unipi.it domain: unipi.it x400-domain: c=it; admd=garr; prmd=unipi; org: Università degli Studi di Pisa org-unit: Centro SERRA - Servizio per la Rete di Ateneo (SERRA Network) descr: SERRA provides network connections for the Pisa University admin-c: GP287-ITNIC tech-c: SS103-ITNIC tech-c: PC5-ITNIC postmaster: SS103-ITNIC zone-c: SS103-ITNIC zone-c: PC5-ITNIC nserver: 131.114.21.10 serra.unipi.it nserver: 131.114.21.15 nameserver.unipi.it nserver: 193.205.245.8 dns2.nic.it dom-net: 131.114.0.0 remarks: Fully-managed mnt-by: GARR-MNT created: before 960129 changed: [email protected] 19940630 changed: [email protected] 19970321 source: IT-NIC […] deri@ibook:~$ ntop.org v 1.2 104 Configurazione di Rete Configurazione delle schede di rete Unix deri@jabber 151> ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 iprb0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 193.43.104.16 netmask ffffff00 broadcast 193.43.104.255 iprb0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.22.4.16 netmask ffff0000 broadcast 172.22.255.255 Windows C:\> ipconfig /all Configurazione IP di Windows Nome host . . . . . . . . . : penguin.netikos.com Server DNS. . . . . . . . . : 172.22.4.10 172.22.16.10 Tipo nodo . . . . . . . . . : Ibrido ID Scope NetBIOS. . . . . . : IP Routing abilitato. . . . : No WINS Proxy abilitato. . . . : No Risoluzione NetBIOS con DNS : Si [….] ntop.org v 1.2 105 Configurazione del Routing Problema: necessità di verificare lo stato della routing table attualmente utilizzata Solutione: netstat/route deri@jabber 149> netstat -rn Routing Table: IPv4 Destination -------------------193.43.104.0 195.103.245.0 156.54.249.0 156.54.176.0 10.6.0.0 172.22.0.0 224.0.0.0 default 127.0.0.1 ntop.org Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------193.43.104.16 U 1 638 iprb0 193.43.104.37 UG 1 997 172.22.4.9 UG 1 2 193.43.104.222 UG 1 0 172.22.4.78 UG 1 10 172.22.4.16 U 1 2989 iprb0:1 193.43.104.16 U 1 0 iprb0 193.43.104.11 UG 1 1521 127.0.0.1 UH 10 280460 lo0 v 1.2 106 Configurazione ARP La configurazione della ARP table è utile per: • • Riconoscere se ci sono indirizzi duplicati (duplicated ARP entry) Verificare esitono problemi di risoluzione di indirizzi come: • Installazione abusiva di un ARP proxy • Blocco ARP da parte di firewall, screening router • Utilizzo: Unix/Win32 deri@jake 201> arp -a eth01-gw.unipi.it (131.114.21.8) at 00:E0:16:87:94:83 [ether] on eth0 pisanino.unipi.it (131.114.21.15) at 08:00:20:76:2C:79 [ether] on eth0 ntop.org v 1.2 107 Stato Connessioni IP Locali [1/3] Motivazione • ènecessario conoscere lo stato delle connessioni quando: • Gli applicativi non si avviano in quanto trovano le porte “occupate” • C’è un gran traffico di rete e si deve capire chi stà parlando con chi • Una connessione è lenta e si pensa ci sia del traffico in coda in attesa di essere inviato/ricevuto • Ci sono troppe porte occupate e si deve capire se/quali ci sono applicativi che utilizzano tali porte ntop.org v 1.2 108 Stato Connessioni IP Locali [2/3] Netstat • Applicativo che mostra in maniera simbolica lo stato della rete e delle connessioni. deri@localhost 23> netstat -an Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp 0 0 193.43.104.253.49154 193.43.104.16.139 ESTABLISHED tcp 0 0 127.0.0.1.911 127.0.0.1.1033 ESTABLISHED tcp 0 0 *.3473 *.* LISTEN tcp 0 0 127.0.0.1.1033 127.0.0.1.846 ESTABLISHED tcp 0 0 127.0.0.1.846 127.0.0.1.1033 ESTABLISHED tcp 0 0 *.22 *.* LISTEN tcp 0 0 *.21 *.* LISTEN udp 0 0 *.49164 *.* udp 0 0 127.0.0.1.49162 127.0.0.1.901 udp 0 0 127.0.0.1.49161 127.0.0.1.901 udp 0 0 *.901 *.* udp 0 0 *.2222 *.* udp 0 0 127.0.0.1.1033 *.* udp 0 0 *.514 *.* Active LOCAL (UNIX) domain sockets Address Type Recv-Q Send-Q Inode Conn Refs Nextref Addr 1017f18 stream 0 0 0 1017ce8 0 0 1017ce8 stream 0 0 0 1017f18 0 0 1017ee0 stream 0 0 11651c8 0 0 0 /var/run/pppconfd […] ntop.org v 1.2 109 Stato Connessioni IP Locali [3/3] lsof [http://freshmeat.net/projects/lsof/] • lsof (list open files) è un tool Unix che mostra i descrittori aperti e lo stato delle connessioni di rete associate ai vari processi attivi. deri@localhost 24> lsof -i COMMAND PID USER FD TYPE loginwind 245 deri 6u inet Finder 258 deri 10u inet Finder 258 deri 11u inet Finder 258 deri 12u inet Finder 258 deri 13u inet LaunchCFM 266 deri 40u inet LaunchCFM 266 deri 41u inet ntop.org DEVICE SIZE/OFF NODE NAME 0x012864ec 0t0 TCP localhost:846->localhost:1033 (ESTABLISHED) 0x0121f970 0t0 UDP *:* 0x01284f6c 0t0 TCP *:* (CLOSED) 0x0121f8a0 0t0 UDP *:* 0x01284a0c 0t0 TCP *:* (CLOSED) 0x0128577c 0t0 TCP *:3473 (LISTEN) 0x0121fcb0 0t0 UDP *:2222 v 1.2 110 Stato Porte IP Remote [1/3] Definizione • Si definisce port scanning l’attività di riconoscere lo stato delle porte di un host remoto Motivazione In alcuni casi è necessario conoscere lo stato delle porte TCP/UDP su un sistema remoto per: • • • Risolvere problemi di connettività (es. un’applic. locale non riesce a connettere ad un server remoto) Conoscere lo stato di un sistema remoto al fine di violarlo (hackers only) Verificare da remoto se un sistema ha attivato dei servizi non previsti (e quindi dedurre se è stato violato o configurato male) ntop.org v 1.2 111 Stato Porte IP Remote [2/3] Caveat • Visto che il port scanning è spesso un’attività ostile, è bene effettuare tale attività solo su computer autorizzati. OS Fingerprinting • Capacità di riconoscere il tipo di sistema operativo effettuando un’analisi di tipo pattern matching su come si comporta uno stack IP a fronte dell’invio di richieste (es. portscan) legali (dal punto di vista dell’IP) o meno. ntop.org v 1.2 112 Stato Porte IP Remote [3/3] Tools: • • • strobe [ftp://ftp.debian.org/debian/dists/stable/source/net/] hping [http://www.kyuzz.org/antirez] Nmap [http://www.insecure.org/] deri@jabber 150> nmap tar Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ ) Interesting ports on tar (193.43.104.13): (The 1513 ports scanned but not shown below are in state: closed) Port State Service 9/tcp open discard 13/tcp open daytime 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 25/tcp open smtp 37/tcp open time […] Nmap run completed -- 1 IP address (1 host up) scanned in 1 second ntop.org v 1.2 113 OS Fingerprinting Fingerprinting Attivo Invio di pacchetti di probe ed identificazione dell’host in base alle risposte ricevute. Es.nmap O <host> Fingerprinting Passivo Identificazione dell’OS creando una stringa (fingerprint) costruita utilizzando parametri dei pacchetti TCP contenenti I flag di tipo SYN o SYN/ACK. Es. Ettercap (http://ettercap.sourceforge.net/) ntop.org v 1.2 114 OS Fingerprinting: Ettercap [1/2] WWWW:MSS:TTL:WS:S:N:D:T:F:LEN:OS WWWW: 4 digit hex field indicating the TCP Window Size MSS : 4 digit hex field indicating the TCP Option Maximum Segment Size if omitted in the packet or unknown it is "_MSS" TTL : 2 digit hex field indicating the IP Time To Live WS : 2 digit hex field indicating the TCP Option Window Scale if omitted in the packet or unknown it is "WS" S : 1 digit field indicating if the TCP Option SACK permitted is true N : 1 digit field indicating if the TCP Options contain a NOP D : 1 digit field indicating if the IP Don't Fragment flag is set T : 1 digit field indicating if the TCP Timestamp is present F : 1 digit ascii field indicating the flag of the packet S = SYN A = SYN + ACK LEN : 2 digit hex field indicating the length of the packet if irrelevant or unknown it is "LT" OS : an ascii string representing the OS ntop.org v 1.2 115 OS Fingerprinting: Ettercap [2/2] # Esempio di host fingerprint 0200:0000:40:WS:0:0:0:0:S:LT:Linux 2.0.35 - 2.0.37 0200:05B4:40:00:0:0:0:0:S:2C:Linux 2.0.35 - 2.0.38 0200:05B4:40:00:0:0:0:0:S:LT:Linux 2.0.38 0200:05B4:40:34:0:0:0:0:S:LT:Linux 2.0.33 0200:05B4:40:WS:0:0:0:0:S:2C:Linux 2.0.34-38 0200:05B4:40:WS:0:0:0:0:S:LT:Linux 2.0.36 0200:05B4:FF:WS:0:0:0:0:A:2C:Router 3Com 812 ADSL 0564:0564:40:WS:1:0:1:1:A:38:Linux 2.4 0564:0564:80:WS:1:1:1:0:A:LT:Windows 2000 0564:6405:40:00:0:1:1:1:A:3C:Solaris 0564:6405:40:WS:0:1:1:1:A:38:Mac OS ntop.org v 1.2 116 Security Scanner [1/2] Motivazione • Uno dei metodi più efficaci per sapere se una macchina è sicura o se è stata compromessa, è di effettuare uno scan dei servizi ai fini di trovare dei problemi di sicurezza. Implementazione • Effettuare lo scan remoto verificando se l’host sotto esame ha vulnerabilità note o se gira versioni insicure dei servizi. ntop.org v 1.2 117 Security Scanner [2/2] Tools Satan [http://www.cs.ruu.nl/cert-uu/satan.html] • Nessus [http://www.nessus.org/] • Saint [http://www.wwdsi.com/saint/] • ntop.org v 1.2 118 Passive Network Monitoring: ntop [www.ntop.org] ntop.org v 1.2 119
Documenti analoghi
Wireless Network Esercitazioni
Abilitare un server radius per il controllo dei
MAC address
Abilitare un server 802.1x
"INTRANET - EXTRANET" in formato PDF
fisicamente (utilizzando cioè un mezzo fisico) le
apparecchiature di rete mediante opportuni mezzi
trasmissivi, che sono:
l