Um den Traffic besser visualisieren zu können und live eine Übersicht über die Netzwerkauslastung zu erhalten, kann das Open-Source-Tool ntop bzw ntopng dienen. Im folgenden Post werde ich auf Stärken und Schwächen des Tools und sinnige Einsatzszenarien zu sprechen kommen. Die Software ntopng ist für Windows, Linux und Mac verfügbar und bietet die Möglichkeit, tiefer in die Kommunikationsbeziehungen im Netzwerk reinzuschauen. Dabei ist nicht nur eine Nachschau möglich, sondern auch eine Live-Traffic-Analyse, die entsprechende Verbindungen aufzeigt und grafisch aufbereitet. Schön ist auch, dass ntopng beispielsweise auf der Open-Source-Firewall pfsense bereits in die Repositories eingebunden ist, sodass dort die Installation über nur einen Klick möglich ist und man meist an der Firewall bereits viele Trafficstreams vorliegen hat.

NTOP/NG – Featureset

Folgende Features bietet ntopng mittlerweile. Die Entwicklung schreitet hier auch schnell voran, so dass bereits jetzt die Appliance Werkzeuge für SDN mitbringt. Sei es sFlow oder NetFlow oder einfach nur die Übersicht der Top-Talker – alles zusammen bietet ntopng einen hervorragenden Bauchladen an Tools und Features für Netzwerker und Administratoren, die einfach den Überblick behalten wollen oder ein Tool zum Troubleshooting suchen.

  • Flow-Level, Protokoll-Level-Echtzeitanalyse lokaler Netzwerke
  • Domain, AS (Autonomous System), VLAN-Statistiken
  • Geolocation von IP-Adressen
  • Deep packet inspection (DPI) nach Diensten (e.g., Google, Facebook)
  • Historie in den Traffic-Logs und Auswertungen
  • Support für:
    • sFlow,
    • NetFlow (v5/v9)
    • IPFIX über nProbe
  • Netzwerk-Traffic-Matritzen (“Wer spricht mit wem?”)
  • Übersicht der “Top Talker”
  • IPv4/IPv6 Support

Einrichtung und Usability

Um ntopng zum Laufen zu bringen gibt es viele Wege. In jedem Fall müssen bei Linux/Unix-Systemen die Repositories gepflegt sein. Hier eine kurze Anleitung, für weitere Details bitte Google verwenden. Ich zeige hier den Installationsweg für Ubuntu und Mint auf. Andere Linuxderivate können bei der Konfiguration abweichen oder gänzlich anders einzurichten sein.

Installation nach Update von apt-get

$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev
$ tar xzf ntopng-1.0.tar.gz -C ~
$ cd ~/ntopng-1.0/
$ ./configure
$ make geoip
$ make

Konfigurationsverzeichnis anlegen und Grundkonfiguration durchführen

$ sudo mkir /etc/ntopng -p

$ sudo -e /etc/ntopng/ntopng.start

unter --local-networks "..." das eigene Subnetz in CIDR-Notation eintragen und bei --interfaces 1 stehen lassen.

$ sudo -e /etc/ntopng/ntopng.conf

-G=/var/run/ntopng.pid

ntopng unter Linux startentopng_loginn

$ sudo /etc/init.d/redis-server restart
$ cd ~/ntopng-1.0/
$ sudo ./ntopng

Natürlich kann nach Wunsch auch ein Cron-Job angelegt werden,  damit die Dienste immer automatisch starten oder neugestartet werden, das erläutere ich hier allerdings nicht im Detail. Über den Webbrowser muss nun von einem anderen Client aus die IP des Systems und der Port 3000 (http://[System-IP]:3000)angegeben werden, auf dem ntopng eingerichtet worden ist; alternativ vom gleichen System aus via http://localhost:3000 aufrufen. Der Standardlogin für ntopng lautet:

  • Username: admin
  • Password: admin

 

ntop/ng in Benutzung

ntop_hostsUm ntop oder ntopng zu nutzen, sollte man wissen, wie die Software arbeitet. Zu Beginn landet man auf einem recht überschaubaren Dashboard. In der oberen Leiste findet man rechts einige Menüs mit Unterämenüpunkten. Hier kann zwischen Anzeigen, Interfaces und Darstellungen gewählt werden. Über den Klick auf eine Quelle oder ein Ziel gelangt man zu einer Detailansicht, in der man weitere Informationen und Statistiken erhält. Unter Anderem kann nach Hosts, MAC-Adressen und Diensten gefiltert werden.

Beispielhaft habe ich hier einmal die Detailansicht meines iPhones aufgerufen, um zu zeigen, welche Statistiken und Daten man daraus erhält. Über die Reiter gelangt man jeweils in den Host-spezifischen Bereich und kann dort entsprechende Infos entnehmen. Auch ein Export der JSON-Files ist möglich.

ntop-hst-iphone

Betrachtet man nun den Netflow, sieht man, von welchem Client wann welche Abfragen kommen und welche Clients gleiche Ziele haben. Zur Netzwerkanalyse ist ntopng ein sehr wertvolles und hilfreiches Tool, das aber natürlich lernen muss und nicht von null auf hundert alle Daten bereithält. In privaten LANs reicht gewöhnlich ein Tag oder bis zu einer Woche, um repräsentative Daten zu erhalten, in Unternehmen kann es durchaus 1-6 Monate dauern, bis die Daten repräsentativ sind, da nicht immer jeder Mitarbeiter vor Ort ist (Krankheit, Urlaub, Dienstreisen…) und nicht immer jeder Dienst durchgeführt wird (z.B: Backup-Jobs nur Dienstag & Donnerstag inkrementell, Sonntag ab 04:00 Uhr ein Vollbackup).

ntopng_netflow

Um sich die Daten anzeigen zu lassen, kann man auch einen Monitorport am Switch konfigurieren und so alle Datenströme, die den Switch passieren umleiten. Ntopng ist zwar ein großartiges Analysetool, Firewallregeln o.Ä. lassen sich damit allerdings nicht “auf einen Klick” erstellen. Allerdings ist das nicht das Ziel von ntopng, sondern das Sammeln, die Darstellung und Auswertung der Daten im Netzwerkverkehr. Und das kann ntop bzw. ntopng echt gut.