Cas d’usage télémetrie IP
Afin de maitriser et comprendre les flux de donnée de son réseau IP, ce client souhaitait avoir un système de télémétrie IP ouvert, flexible et facile à intégrer dans leur logique produit et métier. Le système PASS (Pragma Analytics Software Suite) a été utilisé pour collecter les tickets Netflow, IPFIX et sFlow mais aussi pour collecter les statistiques et informations systèmes des routeurs.
Les principaux cas d’usages sont :
- Tableaux de bord pour les équipes engineering et planning réseau,
- Tableaux pour les équipes en charge du peering BGP,
- Tableaux de bord pour les équipes sécurité,
- Identification d’attaques DoS DDoS,
- Identification d’intrusion,
- Analyse post mortem, Investigation en mode forensic sur tous les flux stockés sur le système PASS.
La couche d’ingestion des IP flows, assure aussi l’enrichissement des données de la télémétrie IP
- Un premier enrichissement consiste à faire un lookup dans la table de routage BGP du routeur (le routeur est configuré pour propager sa table BGP sur la stack BGP du module PMACCT (stack Quagga)). Les adresses IP source et destination des flow sont associés à leur préfixe BGP et tout leurs attributs.
- Un deuxième enrichissement consiste à faire un lookup des adresses IP source et destination dans une base de géolocalisation des adresses (https://www.maxmind.com). Une version gratuite de cette base est utilisable avec une granularité par pays.
- Enfin, un troisième enrichissement est réalisé afin de corréler les indexes des interfaces des routeurs avec les informations SNMP relatives à ces interfaces (description de l’interface, nom de l’interface, alias).
Maitriser son peering et l’engineering du réseau
Sur la base de ces informations, il est possible de faire des analyses par ORIGIN ASN, AS_PATH, BGP community, BGP Next-Hop, … Toutes ces statistiques sont de précieux outils pour optimiser les coûts de raccordement à Internet et pour optimiser son architecture réseau. Ces informations peuvent aussi aider au diagnostique lors de changement de routage de l’Internet et comprendre de potentiel bascule de trafic.
Construire sa requête, un jeu d’enfant !
Il n’est pas nécessaire d’être un expert du SQL ou des requêtes JSON/RPC pour pouvoir consulter et agréger les données comme on souhaite les voir. Les méta données de la base big data sont chargées dans le frontend et proposées simplement à l’utilisateur via une interface graphique intuitive. Voici un exemple illustrant comment les colonnes du modèle de donnée sont introduites à l’utilisateur.
On constate qu’il est aussi très simple de modifier la durée sur laquelle on souhaite observer les données. Le système étant en quasi temps réel (le temps d’ingestion peut varier en fonction du volume mais restera de l’ordre de la minute), il est possible de voir les données qui viennent d’être ingéré juste au moment de la requête (until now).
Enfin, il est aussi possible de filtrer le trafic que l’on souhaite observer en ajoutant des valeurs pour certaines colonnes. Un OU logique sera appliqué sur les valeurs dans le cas présent. Nous aurons le trafic venant de Russie et des USA uniquement. Le système dispose aussi de condition numérique type >= et <= mis aussi d’un moteur Regexp pour les utilisateurs avertis !
Investigation et sécurité
Dans cet exemple, on peut analyser un attaque de type DDoS. Il s’agit d’un TCP SYN flood venant des USA vers un serveur du client. Il est ainsi possible de placer ce type de requête dans un tableau de bord de sécurité et pourvoir investiguer en temps réel lorsqu’un problème de performance ou de disponibilité survient sans explication.
On constate, sur ce graphique, les paquets ayant un TCP flag, allant tous vers une même destination et ayant la source du trafic regroupé par pays. On peut voir une attaque de presque 8 millions de paquets par seconde.