Guide

ntopng: monitoraggio passivo e attivo del traffico di rete

Introduzione
Internet corre sempre più veloce, i pericoli nel mondo digitale sono aumentati e diventa
sempre più complicato esplorare il web.
Un tempo, quando c’erano solo il Web 1.0 ed il “buon vecchio” HTML, il rischio più grande che correvamo era quello di trovarci di fronte ad un banale errore del browser. Chi di noi non si è mai imbattuto in un “404 not found?”.
Adesso che, col Web 2.0, interagiamo e modifichiamo i contenuti delle pagine direttamente online, siamo esposti a minacce quotidiane che si insidiano e si nascondono dietro semplici azioni come quella di cliccare su un link.
In molti hanno proposto e continuano a proporre soluzioni che possiamo usare per proteggerci e difenderci dai cyber-attacchi. In questo articolo vedremo ntopng, una delle soluzioni più note soprattutto nel mondo opensource.

Presentazione
Ntopng è nato come strumento di analisi del traffico e con il tempo si è “evoluto” fino a diventare un application filter. L’autore del progetto è il Prof. Luca Deri, “Research Scientist and Network Manager” presso il Dipartimento di Informatica dell’Università di Pisa.

Visitando la pagina web di Luca, http://luca.ntop.org/, possiamo trovare tutte le sue pubblicazioni fatte nel corso degli anni, farci un’idea  sull’ambito delle sue ricerche scientifiche e capire un po’ quale sia lo spirito con cui ha creato ntopng.

A tal proposito è d’obbligo citare una sua frase: “The Internet today represents for me what free radio represented in the 70s. This page is here because of my need to tell everybody what I think, do, create. Herein you can find all I’ve been able to do in the last years that is my humble and tiny contribution to computer science (r)evolution.

Che cos’è NtopNG
ntopng è uno strumento di networking per l’analisi del traffico che offre una visibilità senza precedenti
sui pacchetti che viaggiano in rete.
Una delle funzioni più interessanti presenti dell’ultima versione di ntopng è senza dubbio quella di application filter, grazie alla quale possiamo controllare più di 250 applicazioni tra le quali Facebook, Youtube, WhatsApp, Skype e Tor, bloccando o limitando la banda delle richieste dei client e impedendo, di fatto, il loro utilizzo non controllato. Vediamo adesso alcune funzioni e scopriamone le potenzialità.

Panoramica delle features
ntopn viene rilasciato in tre differenti versioni: Community, Professional ed Enterprise. Le varie feature sono indicate nella seguente tabella comparativa.

FeatureCommunityProfessionalEnterprise
Monitoraggio dei flussi attivi e degli hosts della rete †
Identificazione di protocolli applicativi (Facebook, Youtube, BitTorrent, etc) nel traffico
Registrazione e visualizzazione dell’utilizzo dei protocolli applicativi per ogni host nel tempo
Raggruppamento degli host per VLAN, Sistema Operativo, Paese, e Autonomous Systems
Mappa geografica delle comunicazioni di rete effettuate da ogni host
Identificazione degli host top talker (mittenti e ricevitori) con risoluzione al minuto
Visualizzazione dei siti HTTP più richiesti da ciascun host
Esportazione delle comunicazioni su MySQL ed ElasticSearch
Generazione di allarmi basati su soglie di tempo/traffico ovvero su comportamenti sospetti come la visita di un sito malizioso
Allarmi e avvisi come messaggi Slack
Visualizzazione del traffico per ogni VLAN
Collezionamento di dati da nProbe per trattare le interfacce remote monitorate da nProbe e dispositivi di esportazione dei flussi (ad esempio router e switch) come se fossero locali
Visualizzazione  di dati raccolti da nProbe
Raggruppamento degli hosts in set logici di indirizzi IP e MAC noti come pool di hosts ††
Visione in tempo reale dei top talkers e dei protocolli applicativi e confronto con le attività quotidiane
Esplorazione dei dati MySQL registrati per identificare la causa dei problemi di rete
Generazione di report grafici con i top hosts, protocolli applicativi, paesi, reti e autonomous systems in periodi di tempo configurabili
Storicizzazione del traffico in base ai profili creati utilizzano la sintassi BPF (Berkeley Packet Filter) ‡
Limitazione/blocco del traffico degli host con politiche personalizzate per ogni protocollo *
Integrarezione con i server di autenticazione LDAP
Interrogazione di dispositivi SNMP per avere dati come lo stato della porta, il traffico e le informazioni sull’indirizzo MAC
Integrazione con Nagios *
Inserimenti MySQL per ottenere scritture sul database 5x più veloci
Aggregazione dei dati in MySQL per esplorazioni storiche più rapide
Generazione di report di traffico e attività totale per qualsiasi host, rete o interfaccia
Individuazione di attaccanti e vittime attraverso avvisi in tempo reale
Esplorazione e filtraggio gli allarmi
Visualizzazione e storicizzazione del traffico per porta SNMP
Visualizzazione e storicizzazione dei dati dei dispositivi NetFlow/sFlow
Captive Portal per la navigazione Internet *
Quote di traffico giornaliere che vengono applicate ai client *
Parental control con l’integrazione DNS di SafeSearch *

* Caratteristica non disponibile con Windows
† La versione Enterprise consente il monitoraggio simultaneo fino a 128 diverse interfacce di rete. Le versioni Professional e Community consentono il monitoraggio fino a 32 diverse interfacce.
†† La versione Enterprise consente il monitoraggio simultaneo fino a 128 diversi host pools. Le versioni Professional e Community consentono il monitoraggio simultaneo fino a 3 differenti host pools.
‡ La versione Enterprise consente il monitoraggio simultaneo fino a 128 diversi profili di traffico. La versioni Professional consente la creazione di 16 profili traffico.

Piattaforme supportate**

  • Unix (including Linux, *BSD, and MacOSX)
  • Windows x64 (incluso l’ultimo Windows 10)
  • ARM

Web GUI

  • Disponibile tramite web browser HTML5-ready /li>
  • Supporto SSL/HTTPS

Requisiti

  • Utilizzo di memoriaDipende dalla configurazione ntop, dal numero di host e dal numero di sessioni TCP attive. Generalmente varia da pochi MB (piccola LAN) a 100 MB per una WAN.
  • Utilizzo della CPUDipende dalla configurazione ntop e dalle condizioni del traffico. Su un PC moderno e su una grande LAN, è inferiore al 10% del carico complessivo della CPU.

Protocolli

  • Ethernet
  • IPv4/IPv6
  • TCP/UDP/ICMP
  • GRE
  • DHCP/BOOTP/NetBIOS/DNS…
  • 250+ applicazioni con protocollo Layer-7 supportato con nDPI
  • …molti altri.

Estensibilità

  • Compatibilità con scripts in LUA
  • Estensioni dell’interfaccia Web senza dover cambiare il motore Ntopng C ++.

Caratteristiche aggiuntive

  • sFlow, NetFlow (incluso v5 e v9) e IPFIX supportato tramite nProbe (la raccolta da più nProbes è supportata).
  • Statisticche per: Internet Domain, AS (Autonomous Systems), VLAN (Virtual LAN).
  • Protocollo di decodifica per tutti i protocolli applicativi supportati da nDPI.

**NtopNg è disponibile anche per Ubiquiti EdgeRouter (Lite o X).

Installazione
L’installazione è molto semplice. Dopo aver installato il vostro sistema operativo preferito, sarà sufficiente scaricare i pacchetti e installarli seguendo le istruzioni riportate su http://packages.ntop.org.

LAB
Abbiamo fatto due laboratori, uno di solo monitoraggio e l’altro con il filtraggio (serve una licenza – vedi tabella delle caratteristiche). Il secondo include anche il primo perciò, se avete già acquistato una licenza, potete saltare la lettura del lab di monitoraggio.

Monitoring Lab
In questo lab abbiamo utilizzato l’appliance Compact Small UTM come strumento di analisi del nostro traffico di rete.

Per far in modo che potesse avere una copia del traffico da analizzare, abbiamo messo in SPAN l’interfaccia interessata del nostro firewall A1 Server Alluminium: per noi era l’interfaccia di LAN. La stessa cosa può essere fatta anche su uno switch che supporta la configurazione dello SPAN.

Una volta entrati in ntopng, nel menu di navigazione troviamo, in alto, la voce Interface. Cliccandoci possiamo vedere qual è la NIC che fisicamente è connessa al firewall.

ntopng

Di seguito lo schema di rete che raffigura meglio quanto scritto:

ntopng

Come mostrato nello schema, ntopng è collegato “in parallelo” al firewall ed è quindi “invisibile”.

Il traffico dell’interfaccia di LAN viene duplicato sulla nuova interfaccia di SPAN. Quest’ultima è l’interfaccia di INPUT di ntopng.

In questa prima modalità di configurazione, abbiamo analizzato per circa due giorni il traffico per capire meglio la tipologia di traffico sulla rete. Questa modalità ha però il solo scopo di analisi ed è dunque “passiva”. Non possiamo, da qui, limitare o bloccare nulla. Visto le potenzialità dello strumento, abbiamo scelto quasi subito di riconfigurarlo con un bridge.

Application Filtering Lab
Anche in questo lab abbiamo utilizzato l’appliance Compact Small UTM con ntopng come strumento di analisi del nostro traffico di rete e per il filtraggio.

Per far in modo che potesse essere in linea con il nostro A1 Server Alluminium abbiamo creato un bridge tra due NIC di ntopng.

Dunque in questo secondo lab abbiamo voluto testare il filtraggio. Questa funzione, davvero utile, è sicuramente interessante per chi, come noi, non confina nell’angolo buio dell’azienda il problema della sicurezza.

Bridge: il traffico della nostra LAN, che va verso l’uplink su internet, invece di andare verso il firewall viene quindi dirottato in ntopng. Quest’ultimo è stato configurato con due NIC in bridge [nota: due NIC di ntopng devono essere usate per ogni bridge] quindi è in grado di analizzare il traffico e “far passare” verso il firewall solo i pacchetti “leciti”.  Una volta entrati in Ntopng, nel menu interface troverete il bridge che avete creato.

ntopng

Di seguito lo schema di rete che raffigura meglio quanto scritto:

ntopng

Nel nostro lab (vedi figura sotto), abbiamo realizzato in maniera molto semplice un limiter (traffic shaper) a 2Mb/s e lo abbiamo messo in alcune policy. In altre invece, come per la famiglia dei Social Network, abbiamo scelto di non permettere il transito dei pacchetti.

ntopng

Il tutto in maniera molto intuitiva, semplice e veloce.
Di seguito l’immagine che mostra come creare il bridge nel file di configurazione dell’NtopNG:

ntopng

Conclusioni
Forse dalla descrizione dei lab non si evince subito ma, l’application filtering implica ovviamente il monitoring.
Questo vuol dire che possiamo continuare a monitorare la nostra rete anche se configuriamo l’appliance in modalità “attiva” come mostrato precedentemente.
ntopng è, quindi, indispensabile per chiunque non voglia essere uno spettatore passivo del traffico generato nella propria rete aziendale.
E’ altresì utilissimo per tutti coloro che, per enforcement, o per semplice esigenza – pensiamo ad esempio a chi non ha una connettività sufficiente a sostenere il volume di dati odierno – devono avere il controllo del traffico. Ora sapete come fare.

  ti posso interessare anche
  • No related posts found.