Pandora: Documentation fr: Netflow

From Pandora FMS Wiki
Jump to: navigation, search

Retour à l'index de documentation du Pandora FMS

1 Introduction à l'analyse de réseau en temps réel

Pandora FMS utilise deux systèmes alternatifs et complémentaires pour analyser le réseau en temps réel : Pandora NTA et Netflow. Les deux systèmes utilisent le même principe : écouter le câble Ethernet de manière continue et analyser le trafic pour générer des statistiques. Dans les deux cas, il est nécessaire, d'une certaine manière, d'intercepter le trafic réseau pour l'envoyer à une sonde qui l'analyse et envoie ces résultats à Pandora FMS.

Afin d'intercepter le trafic du réseau et de pouvoir l'analyser, il est nécessaire d'avoir un accès physique à ce réseau ou du moins d'en comprendre la topologie, puisque le point de capture réseau doit être le plus approprié. Ce n'est pas la même chose, par exemple, de capturer le trafic réseau d'un routeur ou d'un point d'accès local, que tout le trafic du réseau du serveur juste avant d'atteindre le routeur sortant.

Il y a deux façons de capturer le trafic :

  • Rediriger le trafic d'un port du commutateur vers un autre port à l'aide d'un port-mirror. Tous les périphériques réseau ne l'autorisent pas (uniquement pour les moyennes et hautes fréquences). Un port mirror est également possible dans certains pare-feu commerciaux. C'est le moyen le plus simple d'intercepter le trafic et ne nécessite aucun matériel supplémentaire. En envoyant tout le trafic vers un port, ce port se connecte directement à l'analyseur de réseau (sonde netflow ou pandora nta/ntop).
  • Capturer le trafic à l'aide d'un network TAP. Un TAP est un périphérique réseau très simple qui copie le trafic d'une interface à l'autre dans une seule direction (il est impossible d'interférer avec le réseau). Il s'agit d'un périphérique PASSIF indétectable, qui ne peut pas être "lâché" ou causer des désagréments d'aucune sorte car il s'agit d'une copie physique matérielle du trafic réseau. Il y a des TAPs de 12€ à 900€, mais le principe est le même. La prise génère une sortie pour chaque direction de communication, vous aurez donc besoin d'une sonde qui écoute dans deux ports, ou qui n'écoute qu'une seule adresse.

Basic-network-tap.jpg "Exemple réel d'un TAP de 12€".

Basic-network-tap-2.jpg "Exemple réel d'un TAP de 35€".

Si nous allons utiliser Netflow pour analyser notre réseau uniquement à travers Pandora FMS et que nous avons un switch ou firewall de haute portée, il sera possible d'effectuer la surveillance d'une manière plus simple. Ceci est dû au fait que ces appareils permettent d'envoyer des informations statistiques sur le débit du réseau directement au collecteur Pandora FMS Netflow sans utiliser une sonde indépendante. Vous devez consulter les caractéristiques du matériel pour savoir si vous pouvez activer Netflow et envoyer les flux à un collecteur Netflow indépendant (dans ce cas, le collecteur Netflow Pandora FMS).

En résumé, il pourrait s'agir d'un scénario de travail permettant d'analyser le trafic réseau en temps réel. Pour cela, il suffirait d'une paire de TAPS de 12€ (ou une paire de port-mirrors) et d'un serveur Pandora FMS :

Diagram-how-to-use-a-network-tap.png

2 Surveillance du réseau avec Netflow

2.1 Introduction à Netflow

Depuis la version 5.0, Pandora FMS est capable de surveiller le trafic IP en utilisant le protocole NetFlow. Il permet d'afficher des modèles et des données générales sur le trafic qui sont très utiles.

NetFlow est un protocole réseau, développé par Cisco Systems pour collecter des informations sur le trafic IP. Il est devenu un standard de l'industrie pour la surveillance du trafic réseau et est actuellement pris en charge pour diverses plates-formes en plus de Cisco IOS et NXOS, comme les périphériques de fabricants tels que Juniper, Enterasys Switches, et les systèmes d'exploitation tels que Linux, FreeBSD, NetBSD, et OpenBSD.



Netflow architecture.png



Il y a quelque temps, nous avons écrit un article sur notre blog parlant de Netflow, jetez un coup d'oeil pour en savoir plus sur ce protocole : https://pandorafms.com/blog/what-is-netflow/

2.1.1 Protocole Netflow

Les périphériques avec Netflow activé, lorsqu'ils activent cette fonction, génèrent des "journaux de netflow" composés de petits morceaux d'informations qu'ils envoient à un dispositif central (un serveur ou un collecteur Netflow), qui est celui qui reçoit les informations des périphériques (sondes Netflow) pour les stocker et les traiter.

Ces informations sont transmises via le protocole Netflow, basé sur UDP ou SCTP. Chaque enregistrement Netflow est un petit paquet contenant une quantité minimale d'informations, mais en aucun cas il ne contient les données brutes de trafic. En d'autres termes, il n'envoie pas la charge utile du trafic transitant par le collecteur, seulement des données statistiques.

Il y a plusieurs différences entre les versions d'implémentation du Netflow original, donc certaines incorporent plus de données, mais en gros, le Netflow de base envoie au moins les informations suivantes.

Bien que Netflow ait été décrit de nombreuses façons, la définition Cisco traditionnelle consiste à utiliser une clé à 7 éléments, où le flux est défini comme une séquence unidirectionnelle de paquets qui partagent les 7 valeurs suivantes :

  • Adresse IP source.
  • Adresse IP de destination.
  • Source UDP ou port TCP.
  • Destination UDP ou port TCP.
  • Protocole IP.
  • Interface (SNMP ifIndex)
  • Type de service IP

Au fil du temps, d'autres fabricants ont conçu des systèmes équivalents pour leurs appareils de réseau, avec des noms différents mais dans un but similaire :

  • Jflow ou cflowd de Juniper Networks
  • NetStream de 3Com/H3C|HP
  • NetStream de Huawei
  • Cflowd de Alcatel Lucent
  • Rflow de Ericsson
  • AppFlow
  • sFlow

2.1.2 Collecteur Netflow

Il s'agit d'un dispositif (PC ou serveur) situé sur le réseau pour collecter toutes les informations NetFlow envoyées par les routeurs et commutateurs.

NetFlow génère et collecte ces informations, mais un logiciel est nécessaire pour stocker et analyser ce trafic. Avec Pandora FMS, nous utiliserons un serveur spécial à cet effet, que Pandora FMS démarrera et arrêtera au démarrage de Pandora. Ce serveur est appelé nfcapd et il est nécessaire de l'installer pour pouvoir utiliser la surveillance Netflow.

2.1.3 Sonde Netflow

Les sondes sont généralement des routeurs avec Netflow activé, configuré et envoyant des informations au collecteur Netflow (qui dans ce cas sera le serveur Pandora FMS avec le démon nfcapd activé.

NewNetFlowApproach.png

Dans notre blog, nous publions un article technique détaillé sur la construction d'une sonde Netflow avec une framboise de 60 Euro : https://pandorafms.com/blog/netflow-probe-using-raspberry/

2.2 Exigences et installation

Pandora FMS utilise un outil OpenSource appelé nfcapd (appartenant au paquet nfdump) pour traiter tout le trafic Netflow. Ce démon est automatiquement levé par le serveur Pandora FMS. Ce système stocke les données dans des fichiers binaires, dans un certain emplacement. Vous devez installer nfcapd dans votre système avant de pouvoir travailler avec Netflow dans Pandora FMS. Le démon par défaut nfcapd' écoute au port 9995/UDP, vous devrez donc en tenir compte si vous avez des pare-feu pour ouvrir ce port et lors de la configuration de vos sondes Netflow.

2.2.1 Installation de nfcapd

L'installation de nfcapd doit se faire manuellement, car Pandora FMS ne l'installera pas. Pour plus d'informations, rendez-vous sur la page officielle du projet nfcapd.

Pandora FMS utilise par défaut le répertoire /var/spool/pandora/data_in/netflow pour traiter l'information, donc quand il démarre nfcapd il utilise ce répertoire. Ne le modifiez pas si vous ne savez pas exactement ce que vous faites.

Info.png

Vous devez installer version 1.6.8p1' de nfdump pour l'utiliser avec Pandora FMS

 


Si vous voulez vérifier que nfcapd est correctement installé, vous pouvez essayer d'exécuter la commande suivante pour démarrer le processus au premier plan :

nfcapd -l /var/spool/pandora/data_in/netflow

Si tout se passe bien, vous devriez avoir une issue similaire à celle-ci :

Add extension: 2 byte input/output interface index
Add extension: 4 byte input/output interface index
Add extension: 2 byte src/dst AS number
Add extension: 4 byte src/dst AS number
Add extension: 4 byte output bytes
Add extension: 8 byte output bytes
Add extension: NSEL Common block
Add extension: NSEL xlate ports
Add extension: NSEL xlate IPv4 addr
Add extension: NSEL xlate IPv6 addr
Add extension: NSEL ACL ingress/egress acl ID
Add extension: NSEL username
Add extension: NSEL max username
Add extension: NEL Common block
Bound to IPv4 host/IP: any, Port: 9995
Startup.
Init IPFIX: Max number of IPFIX tags: 62

Template warning.png

Gardez à l'esprit qu'il est nécessaire que Pandora FMS, et en particulier le serveur WEB qui exécute la console, ait accès à ces fichiers de données. Dans cet exemple ils sont dans /var/spool/pandora/data_in/netflow

 

.

2.2.2 Installation des sondes

Si vous n'avez pas de routeur Netflow, mais que votre trafic passe par un système Linux, vous pouvez installer un logiciel qui agit comme une sonde et envoie les informations trafic Netflow au collecteur.

Sous Linux, il existe un programme appelé fprobe qui capture le trafic et le transmet à un serveur NetFlow. Avec lui, vous pouvez générer du trafic Netflow, à partir de tout le trafic réseau qui passe par vos interfaces.

Pour télécharger le paquet rpm, exécutez simplement la commande suivante, puis installez-le :

wget http://repo.iotti.biz/CentOS/7/x86_64/fprobe-1.1-2.el7.lux.x86_64.rpm
yum install fprobe-1.1-2.el7.lux.x86_64.rpm

Par exemple, l'exécution de la commande suivante enverra tout le trafic d'interface eth0 au collecteur Netflow qui écoute sur le port 9995 de l'IP 192.168.70.185 :

 /usr/sbin/fprobe -i eth0 192.168.70.185:9995

Une fois le trafic généré, vous pourrez en voir les statistiques dans le collecteur Netflow avec la commande :

nfdump -R /var/spool/pandora/data_in/netflow

Qui devrait afficher des informations similaires à celles qui suivent :

Aggregated flows 1286
Top 10 flows ordered by packets:
Date flow start          Duration Proto      Src IP Addr:Port          Dst IP Addr:Port   Packets    Bytes Flows
2011-12-22 20:41:35.697   901.035 TCP     192.168.60.181:50935 ->     192.168.50.2:22        2105   167388     4
2011-12-22 20:41:35.702   900.874 TCP       192.168.50.2:22    ->   192.168.60.181:50935     1275   202984     4
2011-12-22 20:48:15.057     1.347 TCP       157.88.36.34:80    ->    192.168.50.15:40044      496   737160     1
2011-12-22 20:48:14.742     1.790 TCP     91.121.124.139:80    ->    192.168.50.15:60101      409   607356     1
2011-12-22 20:46:02.791    76.616 TCP      192.168.50.15:80    ->   192.168.60.181:40500      370   477945     1
2011-12-22 20:48:15.015     1.389 TCP      192.168.50.15:40044 ->     157.88.36.34:80         363    22496     1
2011-12-22 20:46:02.791    76.616 TCP     192.168.60.181:40500 ->    192.168.50.15:80         303    24309     1
2011-12-22 20:48:14.689     1.843 TCP      192.168.50.15:60101 ->   91.121.124.139:80         255    13083     1
2011-12-22 20:48:14.665     1.249 TCP     178.32.239.141:80    ->    192.168.50.15:38476      227   335812     1
2011-12-22 20:48:21.350     0.713 TCP     137.205.124.72:80    ->    192.168.50.15:47551      224   330191     1  

Top 10 flows ordered by bytes:
Date flow start          Duration Proto      Src IP Addr:Port          Dst IP Addr:Port   Packets    Bytes Flows
2011-12-22 20:48:15.057     1.347 TCP       157.88.36.34:80    ->    192.168.50.15:40044      496   737160     1
2011-12-22 20:48:14.742     1.790 TCP     91.121.124.139:80    ->    192.168.50.15:60101      409   607356     1
2011-12-22 20:46:02.791    76.616 TCP      192.168.50.15:80    ->   192.168.60.181:40500      370   477945     1
2011-12-22 20:48:14.665     1.249 TCP     178.32.239.141:80    ->    192.168.50.15:38476      227   335812     1
2011-12-22 20:48:21.350     0.713 TCP     137.205.124.72:80    ->    192.168.50.15:47551      224   330191     1
2011-12-22 20:48:15.313     1.603 TCP       89.102.0.150:80    ->    192.168.50.15:52019      212   313432     1
2011-12-22 20:48:14.996     1.433 TCP     212.219.56.138:80    ->    192.168.50.15:36940      191   281104     1
2011-12-22 20:51:12.325    46.928 TCP      192.168.50.15:80    ->   192.168.60.181:40512      201   245118     1
2011-12-22 20:52:05.935    34.781 TCP      192.168.50.15:80    ->   192.168.60.181:40524      167   211608     1
2011-12-22 20:41:35.702   900.874 TCP       192.168.50.2:22    ->   192.168.60.181:50935     1275   202984     4

Summary: total flows: 1458, total bytes: 5.9 M, total packets: 15421, avg bps: 49574, avg pps: 15, avg bpp: 399
Time window: 2011-12-22 20:40:46 - 2011-12-22 20:57:21
Total flows processed: 1458, Records skipped: 0, Bytes read: 75864
Sys: 0.006s flows/second: 208345.2   Wall: 0.006s flows/second: 221177.2  

Si ce système fonctionne, la prochaine chose à faire est de configurer Pandora FMS pour utiliser cette configuration.

2.3 Comment utiliser Netflow sur Pandora

Pandora FMS fonctionne avec Netflow comme système auxiliaire, c'est-à-dire qu'il ne stocke pas les informations Netflow dans la base de données. Pandora FMS affiche ces informations sous forme de rapports demandés sur demande.

Pandora FMS fonctionne avec Netflow en utilisant des "filtres", des ensembles de règles pour visualiser un certain trafic. Ces règles peuvent être aussi simples que "All network traffic 192.168.70.0/24" ou plus complexes en utilisant des expressions pcap.

Une fois les filtres définis, nous définirons les rapports, qui déterminent comment nous allons voir les données (graphiques, listes...) et dans quel intervalle de temps. Lors de la définition des filtres et des rapports, nous laissons cette information définie, de la même manière qu'elle fonctionne avec les rapports Pandora FMS, pour l'utiliser - à la demande - quand nous le voulons.

Les rapports Netflow apparaîtront également comme "type de rapport" dans la section Rapports personnalisés de Pandora FMS, pour pouvoir les incorporer aux rapports "normaux" de Pandora FMS.

D'autre part, nous disposons d'une console de visualisation "temps réel" pour analyser le trafic, en composant directement les règles. Il est utile d'étudier les problèmes, voir les graphiques ponctuels qui ne correspondent pas à un filtre spécifique, etc.

2.3.1 Configuration

Tout d'abord, Netflow doit être activé pour être accessible à partir des menus Operation et Administration. Dans la section Configuration (menu d'administration) il y a une option pour activer ou désactiver le Netflow globalement.

Netflow1.png

Une fois activée, une nouvelle option de configuration Netflow apparaîtra dans la section configuration.

Netflow2.png

Cette section doit être configurée correctement pour que le démon nfcapd puisse démarrer sans problème avec le serveur Pandora FMS :

  • Data storage path : Répertoire dans lequel les fichiers de données netflow seront stockés.
  • Daemon interval : Intervalle de temps en secondes après lequel les fichiers de données sont tournés. Une valeur de 3600 est recommandée. Un intervalle plus grand signifie des fichiers potentiellement plus grands, ce qui signifie moins de surcharge d'E/S, mais ralentit également la recherche de données pour un intervalle spécifique.
  • Daemon binary path : Chemin vers le binaire nfcapd.
  • Nfdump binary path : Chemin vers le binaire nfdump.
  • Nfexpire binary path : Route vers le binaire nfexpire.
  • Maximum chart resolution : Nombre maximum de points qu'un graphique de zone Netflow affichera. Plus la résolution est élevée, plus les performances sont mauvaises. Des valeurs comprises entre 50 et 100 sont recommandées.
  • Disable custom live view filters: Désactivez la définition des filtres personnalisés dans la vue Netflow (cela n'autoriserait que l'utilisation des filtres déjà créés).
  • Max. Netflow lifespan : Indique la durée maximale en jours des données Netflow à stocker.
  • Enable IP address name resolution : Permet à la résolution des adresses IP d'essayer d'obtenir les noms d'hôtes des périphériques Netflow.

Template warning.png

La vitesse d'accès du disque sur lequel résident les données Netflow est normalement le facteur limitant de la performance

 


Une fois Netflow configuré dans la console, il sera nécessaire de redémarrer le serveur Pandora FMS pour qu'il démarre le serveur nfcapd. Ceci doit être correctement installé avant d'essayer de le démarrer. Vérifiez les journaux du serveur pour tout doute.

Info.png

Le serveur Netflow n'apparaîtra pas comme serveur dans la vue des serveurs Pandora FMS, car ce n'est pas un serveur Pandora FMS

 


2.4 Filtres

Le menu de création et d'édition des filtres se trouve sous "Resources > Netflow filters". Dans cette vue, nous trouvons une liste de filtres déjà créés qui peuvent être modifiés et supprimés.

Netflow3.png

Vous pouvez également créer un filtre directement à partir de la vue "Netflow live view", en enregistrant le filtre actif comme un nouveau filtre. Les filtres Netflow peuvent être "de base" ou "avancés". La différence est que les premiers ont des champs de filtrage fixes (IP source, IP destination, IP source, Port source, Port destination) et les plus avancés sont définis par une expression "pcap" (standard dans les expressions de filtrage du trafic réseau) et utilisent toutes sortes d'outils.

2.4.1 Création du filtre

Ce serait une vue d'édition de base d'un filtre Netflow :

Netflow4.png

  • Name : Il est conseillé que le nom du filtre soit descriptif.
  • Group : Un utilisateur peut seulement créer un filtre ou modifier un filtre d'un groupe auquel il a accès.
  • Filter: Il existe deux types de filtres, les filtres de base et les filtres avancés. Le filtre avancé vous permet d'entrer des expressions avancées dans le même format que nfdump. Le filtre de base vous permet de filtrer le trafic par IP source, IP destination, Port source et Port destination. Les listes d'adresses IP et de ports séparées par des virgules sont valides.
  • Aggregate by: Le trafic sera regroupé selon l'un de ces critères :

IP source : affiche le trafic pour chaque IP d'origine différente.
IP de destination : affiche le trafic pour chaque IP de destination différente.
Port d'origine : le trafic pour chaque port d'origine différente est affiché.
Port de destination : le trafic pour chaque port de destination différent est affiché.
Protocole : le trafic pour chaque protocole différent est affiché.
Aucun d'entre eux : (les données seront totalisées).

2.4.1.1 Exemples

Par exemple, ce serait un filtre de base pour le trafic Web :

Netflow5.png

Ou par exemple un filtre avancé pour le trafic vers et depuis un intranet :

Netflow6.png

Plus d'exemples de filtres avancés :

  • Capture du trafic entrant ou sortant depuis 192.168.0.1 :
hôte 192.168.0.1
  • Capturer le trafic entrant au 192.168.0.1 :
dst host 192.168.0.1
  • Capturer le trafic sortant du 192.168.0.0.0/24 :
src net 192.168.0.0.0/24
  • Capturer le trafic HTTP et HTTPS :
(port 80) ou (port 443)
  • Capturer tout le trafic à l'exception du DNS (53) :
port non 53
  • Capturer le trafic vers 192.168.0.1 du protocole SSH :
(port 22) et (hôte dst 192.168.0.1)

2.5 Rapports

Les rapports Netflow sont intégrés aux rapports Pandora FMS (voir Informes pour plus d'informations).

Pour créer un élément d'état, sélectionnez l'un des éléments d'état Netflow disponibles.

Netflow7.png

Et l'installer. Les options de configuration suivantes sont disponibles :

Netflow8.png

  • Type : Les types d'éléments seront expliqués ci-dessous.
  • Filter : Filtre Netflow à utiliser.
  • Description : Description de l'élément.
  • Period : Longueur de la plage de données à afficher.
  • Resolution : Certains rapports exigent que des échantillons soient prélevés à chaque certaine période. Ce paramètre permet de définir le nombre d'échantillons. La résolution peut être basse (6 échantillons), moyenne (12 échantillons), haute (24 échantillons) ou ultra haute (30 échantillons). Il y a deux valeurs spéciales (horaire etjournalier de sorte qu'une valeur fixe d'échantillons n'est pas collectée mais une à chaque période déterminée.
  • Max. values : Nombre maximal d'éléments pour les agrégats. Par exemple, si un graphique de trafic HTTP est agrégé par adresse IP source et que les valeurs Max. sont définies sur 5, seules 5 adresses IP seront affichées.

Il existe trois types d'éléments de reporting Netflow :

  • Netflow area chart : Un graphique de zone, agrégé ou non agrégé.

Netflow chart area aggregated.png

  • Netflow data chart : Représentation textuelle du graphique de zone.

Netflow table data.png

  • Netflow summary chart : récapitulatif du trafic pour la période donnée. Il y a trois éléments : un tableau avec des informations globales, un camembert avec les adresses IP ou ports les plus pertinents et un tableau avec les mêmes informations que le camembert ventilé.

Netflow9.png

2.6 Visualisation en temps réel

Cette vue permet de consulter l'historique des données capturées à partir de différents filtres de recherche. Vous pouvez utiliser des filtres et différentes façons d'afficher les informations. Il est nécessaire de définir la manière de regrouper les informations affichées, ainsi que la manière d'obtenir ces informations afin de commencer à visualiser les données.

Netflow view1.png

La façon d'obtenir l'information peut être par : IP source, IP destination, Port source ou Port destination. Si vous choisissez, par exemple, d'afficher les informations IP de destination, les informations ordonnées par les IP ayant le plus de trafic vers la destination de la plus haute à la plus basse seront affichées. Il en va de même pour connaître la consommation de votre réseau par protocole, choisir par port de destination.

Les possibilités de visualisation sont les suivantes :

  • Graphiques de zone (type stacked) : montre dans le temps (de la date d'origine à la date de destination), l'évolution des données. Vous devez choisir le niveau de précision du graphique dans le jeton "Résolution".

Netflow grafico area.png

  • Résumé : Affiche un tableau récapitulatif, un gâteau et un tableau avec les données de la période entière.

Netflow grafico sumario.png

  • Détaillé : Affiche une carte des portions représentant le trafic par IP.

Netflow grafico detailed.png.png

  • Tableau de données : Affiche un tableau de données avec chaque IP et un nombre de lignes en fonction de la résolution choisie.

Netflow datatable.png

  • Graphique circulaire : Affiche un graphique circulaire interactif représentant les paires de connexions entre l'IP et le volume de trafic.

Netflow bola.png

Les filtres peuvent être visualisés en temps réel à partir de "Operation > Netflow Live View". Cet outil vous permet de visualiser les modifications apportées à un filtre et de les enregistrer une fois le résultat souhaité obtenu. Il est également possible de charger et de modifier des filtres existants.

Allez dans Rapports et Filtres pour apprendre à configurer les options de vue en temps réel.



2.7 Cartes de trafic réseau

Il s'agit d'une nouvelle fonctionnalité introduite dans OUM 733 qui sera améliorée à l'avenir. Il crée des cartes réseau dynamiques, basées sur le trafic entre les nœuds. Il montre la relation (les connexions) entre les différentes directions, montrant les N connexions les plus importantes (par taille des données transférées entre elles).

Network Usage map.jpg

2.8 Configuration distribuée

Il est possible de localiser le nœud Pandora FMS qui collecte les données Netflow dans un hôte indépendant de la console. Dans les environnements avec beaucoup de données Netflow, il est plus que recommandé de le placer sur un serveur avec des disques rapides et un CPU rapide d'au moins deux cœurs. Pour que la console Pandora FMS puisse extraire les données Netflow, il sera nécessaire de modifier la configuration par défaut du système, en suivant les étapes décrites ci-dessous :

  • Configurez l'authentification automatique SSH entre le propriétaire utilisateur du démon web et l'utilisateur ayant la capacité d'exécuter nfdump dans le noeud collecteur.

Pour sa configuration, nous devons suivre les étapes suivantes :

Activer la connexion pour l'utilisateur apache. Pour ce faire, vous devez modifier dans le fichier /etc/passwd la ligne de l'utilisateur apache avec cette configuration :

apache:x:48:48:Apache:/var/www:/bin/bash

Créez le répertoire .ssh dans le répertoire /var/www et donnez-lui les bonnes permissions :

# mkdir /var/www/.ssh
# chown apache:apache /var/www/.ssh

Créez des clés ssh à partir de l'utilisateur apache et copiez-les sur le serveur où le trafic netflow est hébergé.

# su apache
bash-4.2$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/www/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /var/www/.ssh/id_rsa.
Your public key has been saved in /var/www/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vYvl5V00E4faa14zN08ARzGUQ9IfAQJnMzkaqLAGRHI [email protected]<server>
The key's randomart image is:
+---[RSA 2048]----+
|+oE     ...*o=B+.|
|.o .   . .oo+o++ |
|  . o .   o o o+o|
|   o .   o   =  +|
|  .     S . . oo.|
|           .   +o|
|          o . o+=|
|         + + + +*|
|        . o . o .|
+----[SHA256]-----+
bash-4.2$ ssh-copy-id [email protected]<netflow_server>

Une fois partagé, il faut vérifier qu'il est possible d'accéder au serveur via l'utilisateur apache sans spécifier de mot de passe :

bash-4.2$ ssh [email protected]<netflow_server>
  • Créez un script dans la console FMS de Pandora qui remplace /usr/bin/nfdump par un script similaire au suivant.
#!/bin/bash
NFDUMP_PARAMS=$(sed 's/(\(.*\))/\"\(\1\)\"/' <<< "[email protected]");

ssh [email protected]<netflow_server> "/usr/bin/nfdump $NFDUMP_PARAMS"

Donner les permissions d'exécution au script :

chmod 755 /usr/bin/nfdump

Essayez d'exécuter le script, de cette façon

/usr/bin/nfdump -V

Il devrait renvoyer quelque chose de similaire à :

nfdump: Version: 1.6.13

3 Surveillance du réseau avec Pandora NTA

Pandora Network Traffic Analyzer (Pandora NTA) est un outil d'analyse du trafic réseau conçu pour les environnements où vous ne voulez pas, ou ne pouvez pas, utiliser Netflow pour effectuer une analyse réseau. Il est important de souligner qu'ils offrent des fonctionnalités légèrement différentes : Netflow affiche des informations (relatives aux ports) que Pandora NTA n'affiche pas, possède une interface temps réel plus avancée et possède des caractéristiques uniques, telles que la possibilité de créer des modules de données grâce à des filtres avancés des expressions PCAP.

Comme base de Pandora NTA/NTOP une fourchette du projet NTOP est utilisée (de la version sous licence GPL2), en plus du propre code du projet Pandora FMS. Il est chargé de collecter les données et de les envoyer sous forme XML au serveur Pandora FMS. Tout ce code est disponible dans notre dépôt public pour celui qui veut l'utiliser, puisqu'il s'agit d'une fonctionnalité 100% Open Source.

Pandora NTA utilise un ou plusieurs capteurs réseau pour inspecter le trafic et générer des statistiques de consommation par IP source et IP destination. Il ne génère pas d'informations spécifiques sur le trafic par port ou application, pour cette fonction plus avancée, NetFlow devrait être utilisé.

Pandora NTA est un moyen simple de surveiller votre réseau à un bas niveau, sans investir dans du matériel spécialisé ou des outils tiers, et d'intégrer ces informations dans votre plate-forme de surveillance existante. Pandora NTA offre :

  • Consommation détaillée par trafic entrant et sortant de chaque IP locale du réseau local.
  • Détection des problèmes réseau (par génération d'événements).
  • Rapports spécifiques de consommation du réseau, par IP source.
  • Une relation des IP de destination avec plus de trafic par IP d'origine dans le réseau.
  • Rapports de consommation du réseau local par origine, cartes dynamiques et options de recherche et filtrage avec les données accumulées.

Avec les données de trafic individuelles de chaque équipement réseau, Pandora NTA sera en mesure de générer des alertes, des rapports TopN et d'utiliser n'importe quelle autre fonction Pandora FMS, puisqu'ils sont enregistrés comme modules d'un agent.

3.1 Architecture et fonctionnement

Vous devrez installer la sonde Pandora-NTOP sur une machine qui a accès au trafic LAN, généralement sur un serveur Linux qui agit comme un routeur ou un pare-feu, ou rediriger le trafic vers un port au moyen d'un port-mirror depuis un commutateur, pare-feu ou routeur. Le trafic unidirectionnel peut également être dupliqué via un TAP, mais nécessitera un équipement matériel spécifique.

Info.png

Il est important de comprendre que si Pandora NTA est installé sur un ordinateur ordinaire, sans effectuer au préalable un port-mirror ou connecter un TAP qui redirige le trafic vers cette machine, tout le trafic réseau ne sera pas reçu : seul le trafic généré par cette machine sera observé.

 


Pandora-NTOP écoutera le trafic et générera des données sans les stocker en aucun endroit (il les garde en mémoire). Pandora NTA enverra les données recueillies par Pandora-NTOP au serveur de données Pandora FMS. Vous pouvez installer autant de Pandora NTA que vous le souhaitez ; s'il y a plusieurs réseaux locaux et plusieurs points d'écoute, vous pouvez effectuer un déploiement distribué.

Pandora NTA offre également des informations relatives aux problèmes du réseau local en temps réel, puisqu'il peut générer des événements de trois types :

  • Masque invalide (Wrong netmask).
  • Envoi de données par le port p (Host sent data to zero port).
  • Adresse MAC dupliquée (Duplicated mac).

Vous pouvez créer des alertes d'événements pour savoir en temps réel, par exemple, quand un double MAC apparaît dans votre système. Les chaînes de texte en anglais décrites ci-dessus doivent être utilisées pour créer une alerte d'événement.

3.2 Installation

Une archive compatible avec CentOS 7 est actuellement disponible. Il est distribué compressé dans un tgz, disponible dans la bibliothèque de modules Pandora FMS sur https://pandorafms.com/library/pandora-nta/. Pour l'installer, vous devez le décompresser :

tar xvzf pandora_nta.tgz

Lancez ensuite le script d'installation dans le répertoire non compressé.

 cd pandora_nta_tarball
./install_pandora_nta.sh --install

Pour désinstaller Pandora NTA, vous devez lancer le même script de la manière suivante :

./install_pandora_nta.sh --uninstall

Si la version de Pandora FMS distribuée en ISO est installée, elle sera déjà installée dans le système, il suffit de l'activer (OUM 733).

Pour le démarrer, dans un CentOS7 il suffira d'exécuter

systemctl start pandora_nta

3.2.1 Pré-requis

La partie Perl de Pandora NTA a besoin de quelques dépendances, en plus d'avoir un interpréteur Perl dans la machine où il tourne.

Pandora NTA utilise des modules Perl externes. Certains d'entre eux font partie du Core et d'autres sont distribués dans les installations normales de l'interpréteur. Voici la liste des modules externes utilisés :

  • Getopt::Std
  • Config::Simple
  • LWP::Simple
  • Sys::Hostname
  • JSON
  • POSIX
  • MIME::Base64
  • XML::Simple
  • Digest::SHA

Pour savoir si une dépendance est manquante, exécutez simplement le script principal avec l'option -h, et si une erreur apparaît au lieu d'une fenêtre d'aide, cela signifie que les dépendances sont manquantes. Avec cette erreur, vous pouvez voir de quoi il s'agit et vous pouvez les installer avec CPAN ou télécharger directement les paquets Perl depuis les dépôts officiels de chaque distribution.

Depuis la partie binaire de Pandora NTA basée sur NTOP (Pandora-NTOP), vous pouvez obtenir le code pour sa compilation depuis le dépôt public de github (https://github.com/pandorafms), ou utiliser un des binaires précompilés qui sont distribués dans la bibliothèque du module https://pandorafms.com/library). Il est distribué par défaut dans les images ISO de l'installation de Pandora FMS à partir du NG 733.

3.3 Configuration Pandora NTA

Paramètres acceptés en ligne de commande

-h : Affiche l'aide.
-f : Chemin du fichier de configuration. Ce n'est pas nécessaire parce qu'il peut être utilisé
 le réglage par défaut. L'utilisateur doit avoir les permissions de lecture 
 à propos du dossier.

Paramètres du fichier de configuration pandora_nta.conf.

daemon

S'il est réglé sur 1, le programme est exécuté en arrière-plan (0 par défaut).

encoding

Encodage du XML envoyé par Tentacle. Il ira dans l'en-tête XML (UTF-8 par défaut).

interval

Intervalle en secondes entre deux cycles de travail Pandora NTA (300 secondes par défaut).

log_file

Fichier dans lequel les journaux d'application doivent être vidés. Il doit avoir les droits d'écriture sur le fichier et le dossier qui le contient. S'il n'existe pas, Pandora NTA le crée automatiquement (par défaut il le remplace par STDOUT).

retries

Le nombre d'échecs consécutifs que l'application peut donner avant qu'elle ne soit considérée comme une erreur grave et s'arrête. S'il est à 0, il ne s'arrêtera jamais, quel que soit le nombre de bogues (2 par défaut).

transfer_timeout

Temps maximum en secondes pour envoyer les fichiers par Tentacle. Si ce temps est dépassé, Pandora NTA redémarre tout son état et sa mémoire (15 secondes par défaut).

verbose

Niveau des informations rejetées par le journal. Plus elle est élevée, plus elle fournit d'informations. Avec 0, rien n'est affiché, avec 3 erreurs graves, avec 5 avertissements et avec 9, tout est affiché. Des valeurs très élevées ne sont pas recommandées afin de ne pas consommer trop de disque (3 par défaut).

quiet

Il n'affiche pas de messages d'erreur.

cache_file

Dossier où se trouve le fichier cache de l'application. Il est nécessaire d'écrire dans ce fichier. S'il n'est pas créé, Pandora NTA le crée. Vous devez être prudent lorsque vous le modifiez, car vous pouvez en créer un nouveau et dupliquer les agents qui envoient des informations à Pandora, car il ne trouvera pas leurs noms et en générera de nouveaux (* /tmp/pandorata_cache.json*).

ntop_host

Hôte auquel faire les requêtes du serveur web Pandora-NTOP (par défaut localhost).

ntop_port

Port par lequel les demandes de traitement Pandora-NTOP sont faites (par défaut 3000).

ntop_local_subnets

Sous-réseaux considérés comme locaux par NTOP. Si vous voulez spécifier plus d'un sous-réseau, vous pouvez les concaténer avec des virgules (par exemple ntop_local_subnets 192.168.50.0/24,114.15.0.0/16)

Template warning.png

Si aucun sous-réseau n'est configuré, il enverra des informations à Pandora FMS de tous les hôtes que NTOP découvre (option par défaut). Veuillez vous assurer de configurer au moins un réseau local.

 


ntop_logs_to_syslog

S'il est réglé sur 1 NTOP, il décharge ses logs dans syslog. Sinon, il ne les décharge nulle part (0 par défaut).

self_name

Alias de l'agent d'autosurveillance. Une fois le fichier cache créé, il ne peut plus être modifié car le serveur de données ne supporte pas le changement d'alias via XML (pandoraNTA par défaut).

tentacle_host

Hôte où se trouve le serveur Tentacle qui recevra le XML (par défaut localhost).

tentacle_port

Port où le serveur Tentacle est à l'écoute pour recevoir le XML (par défaut 41121).

temp_dir

Répertoire où XML est écrit pour que le client Tentacle puisse l'envoyer (par défaut /tmp). Vous devez avoir les permissions d'écriture.

3.3.1 Déploiement et démarrage

Le script pandora_db supprime les données de connexion NTA de l'historique. Le nombre de jours pendant lesquels ces informations restent dans le système peut être configuré dans la section " Performance " de la configuration de la console.

3.4 Visualisation

Par défaut (bien que ce comportement puisse être modifié dans la configuration de pandora_nta.conf) un agent appelé Pandora NTA sera créé qui contiendra les paramètres suivants :

  • L'état du système NTA
  • Le nombre d'IP découvertes par le système.
  • Somme des flux de trafic de l'ensemble du réseau (entrée et sortie).
  • Taux de transfert actuel du réseau (entrée et sortie).
  • Paquets dans le réseau (entrée et sortie).

Nta main agent.png
Vue du nœud central NTA résumant toutes les données

De plus, le système créera un agent pour chacune des IP qu'il trouvera dans le réseau local (comme défini dans pandora_nta.conf).

Pour chaque IP gérée, les mêmes paramètres seront surveillés :

  • Somme des flux de trafic de l'ensemble du réseau (entrée et sortie).
  • Taux de transfert réseau actuel (entrée et sortie).
  • Paquets dans le réseau (entrée et sortie).
  • Adresse MAC associée à l'IP.

Nta agent view.png
Vista de un agente NTA con sus modulos de datos

3.5 Rapports

Un état spécifique à l'ATN est disponible lors de la création d'états :

Pandora NTA report create.png

Ce rapport montre un N supérieur de la consommation du réseau au cours des X derniers jours de toutes les IP analysées par Pandora NTA :

Pandora NTA sample report 1.png

3.6 NTA explorer

Pandora dispose d'une vue dans laquelle vous pouvez visualiser les données réseau fournies par Pandora NTA en temps réel. C'est une vue beaucoup plus flexible que les rapports et utile pour détecter les problèmes réseau en quelques clics.

Nta explorer.png

Cette vue montre les adresses IP avec le trafic sortant ou entrant le plus important. Le sommet des adresses IP peut être défini par le nombre de paquets ou par le nombre d'octets. De plus, il y a la possibilité de filtrer par une IP spécifique, pour voir les IP vers lesquelles il y a du trafic provenant de cette source.

Par exemple, s'il y a une adresse IP qui envoie beaucoup de données et que vous voulez voir où elle les envoie, cliquez simplement sur l'icône de filtre à côté de l'adresse IP et vous verrez une liste et un graphique avec les adresses qui reçoivent les données de cette adresse IP. De cette façon, la détection des paires les plus surchargées à une date donnée est très simple.

3.7 NTA usage map

Cette vue vous permet d'afficher le trafic dans un certain intervalle de temps sous la forme d'une carte topologique. Sélectionnez simplement une date de début et une date de fin, en indiquant les adresses IP avec le trafic sortant ou entrant le plus important.

Usage map.png

Revenir à l’Index de Documentation Pandora FMS