Avant le premier lancement il est conseillé de lire la doc .... surtout s'il s'agit d'une nouvelle version majeure comme ici.
Après vérification du format des paramètres (il ne semble pas avoir changé) dans la doc PDF fournie parmi les sources (doc/UserGuide.pdf) je m'aperçois que pas grand chose n'est changé. A part une possibilité de permettre une connection sans user/password pour tout le monde ou pour "localhost" seulement, je mets donc "--disable-login=1" dans le fichier paramètres puisque l'interface n'est accessible que sur le réseau interne.
Je lance donc NtopNG et me connecte sur http://localhost:3002 avec Firefox et j'obtiens un beau message :
Database schema migration in progress, waiting for database ntopng to become operational. You will be redirected as soon as the database is ready. Depending on the size of the existing database, this operation can take a long time. Migrations are performed only once and only during major version upgrades. If in doubt, please contact the developers at info@ntop.org.
J'attends quelque peu en examinant le log dans /var/tmp/ntopng/ntopng.log et j'y trouve, entre autres,
MySQL schema update. Altering table flowsv4: changing OUT_BYTES data type to unsigned int.
Après quelques instants je relance la connexion et miracle ... j'accède à l'interface.
Il est recommandé d'aller faire un tour dans les préférences pour régler l'application, notamment la durée de conservation des données et un certain nombre d'options.
A première vue cela ressemble beaucoup à l'ancien interface, mais en regardant d'un peu plus près il y a beaucoup de nouveautés. Par exemple dans les "flows" les connexions provenant de certaines IP sont signalées d'une petite étiquette rouge "blacklisted host" et on retrouve cette indication dans les alertes. Ces "blacks IP" sont reconnues d'après les données du site EmergingThreats (http://rules.emergingthreats.net).
Le "traffic dashboard" est plein d'options intéressantes :
- "Hosts" : camembert des "top hosts"
- "Ports" : deux camemberts sur les ports utilisés (client et serveur).
- "Applications" : camembert sur les protocoles utilisés.
Le menu "Hosts" offre (les adresses sont suivies du drapeau de chaque pays) :
- "Hosts", avec option de tri par clic sur les en têtes de colonnes, ici aussi les "blacklisted hosts" sont signalés.
- "Networks" : liste condensée des réseaux, cliquer sur "Remore Networks" pour obtenir le détail.
- "host pools" : lié à la possibilité d'attribuer chaque adresse à un "pool", attention le nombre de pools et d'adresses par pool sont limités (au moins dans la version "open".
- "Autonomous Systems" : tri par AS avec possibilité d'obtenir un graphe du débit sur chaque AS, les graphes sont "cliquables" pour zoomer ! La granularité du graphe va de 5minutes à 1 an ! On peut ici obtenir les flows correspondant à cet AS.
- "Countries" : comme son nom l'indique.
- "Operating system" : le seul repéré est mon téléphone ??? A suivre.
- "Geomap" : nécessite d'avoir été compilé avec une option spéciale ... et éventuellement une clé API Google.
- "Local flow matrix" : comme son nom l'indique une matrice des flux locaux.
Dans les "outils" l'option "Export Data" permet de récupérer les données au format JSON qui contient énormément d'informations dont je n'ai pas fait l'inventaire car le format a l'air assez complexe.
Autres possibilités :
- Déclencher des alertes sur certaines conditions.
- Propager des alertes sur "Slack".
- Dump paramétrable de flux.
En bref, énormément de possibilités de visualisation de ce qui passe dans les tuyaux.
Notes :
- Attention à l'espace disque (RRDs dans /var/tmp/ntopng et Mysql) et à la charge de la base Mysql/MariaDB, bien ajuster la durée de conservation à vos besoins. Si vous souhaitez garder un historique long (des mois ...) de la base Mysql faites le sur une autre machine avec report périodique automatisé.
- J'ai du désactiver "Network Discovery" car j'ai utilisé la possibilité de lancer NtopNG en non-root sur un user "ntopng" disposant de peu de droits. Network Discovery me générait des erreurs dans les logs '" :
[NetworkDiscovery.cpp:48] ERROR: Unable to create pcap socket [1/Operation not permitted]
ou encore :
ntopng: [Lua.cpp:2147] ERROR: Unable to enable capabilities
Je dois investiguer l'origine de ce message.