Placement de l’analyseur de paquets

1. Emplacement du trafic

On pose ici la question du placement idéal du “sniffer” dans le réseau.

Le trafic passe par des supports auxquels des interfaces sont attachées. Ces interfaces permettent à des ordinateurs de communiquer entre eux.

D’une origine à une destination, le trafic peut passer par différents types de matériel :

  • un commutateur
  • un routeur

On représentera ces emplacements dans un diagramme :

Emplacements de capture

Si on considère qu’il faille surveiller le trafic entre deux stations de travail, on pourrait placer le “sniffer” à chaque endroit marqué d’un point d’interrogation.

Mais avant d’envisager de désigner l’emplacement idéal, il est important de rappeler le rôle de ces différents composants.

1.1. Le support

  • Cuivre : paire torsadée, câble coaxial (électricité, ondes électro-magnétiques)
  • Fibre : fibre optique (ondes lumineuses)
  • Air : ondes radios, ondes lumineuses

1.2. L’interface de connexion

C’est l’interface de communication sous un certain format qui connecte le support de transmission.

Une interface de connexion est liée à une puce électronique qui place les données sur le support et qui les transmet au traitement de l’ordinateur. C’est le rôle de la carte réseau (NIC)

Dans la technologie Ethernet, on connaît des interfaces de type RJ-45 pour la paire torsadée. Pour la fibre, il y a un grand nombre de type de connecteurs.

1.3. Mode “promiscuous”

La carte réseau (NIC) de l’analyseur de paquets va décider des paquets à traiter. Dans un mode “normal”, la carte réseau de l’ordinateur qui exécute le logiciel de l’analyseur de paquet ne transmettra que les paquets destinés à l’ordinateur.

Placer la carte réseau en mode “promiscuous” (promiscuité), permet de transmettre à l’ordinateur et son logiciel de capture tous les paquets qui traversent le “fil” connecté, notamment ceux qui auraient été éliminés en mode “normal”.

Cette capacité de promiscuité dépend de la nature de la carte réseau utilisée pour la capture mais surtout des pilotes de périphériques utilisés par le système d’exploitation et le logiciel. A cet égard, on trouvera une contrainte commerciale pour les captures avec Windows (pilotes payant Airpcap-NG) alors que les autres systèmes d’exploitation (Linux et MacOS X) l’autorise gratuitement.

1.4. Adresses de livraison

1.5. Concentrateur ou Hub

Un concentrateur Ethernet ou Hub est un périphérique du réseau ancestral dont l’objectif est de concentrer les connexions physiques. Le trafic est partagé par le Hub : toutes les interfaces attachées au concentrateur reçoivent le trafic que chacune place.

En technologie Ethernet, on dit qu’un “Hub” étend le domaine de collision (dans lequel les collisions Ethernet interviennent).

Cet type de périphérique a disparu de nos réseaux commutés. Il est franchement déconseillé de placer ce type de périphérique sur le réseau.

Mais sur le plan purement technique, étant donnée que ce matériel étend le fil, il fut intéressant de placer le “sniffer” à cet endroit.

Concentrateur ou Hub

1.6. Commutateur

Avec un commutateur, la livraison des paquets n’est plus partagé mais dédiée d’une interface à l’autre.

  • Le commutateur prend ses décisions de transfert du trafic sur base des adresses MAC de destination (apprises dynamiquement). Ce sont des composants matériel comme des puces spécialisées comme des ASIC qui prennent en charge la décision de transfert.

  • Apprentissage dynamique : le commutateur apprend la ou les adresses MAC attachées à chacun de ses ports par écoute de trafic.

  • Table CAM (Content Addressable Memory) : Le commutateur entretient une table de correspondance entre les ports et leurs adresses attachées. On peut vérifier la table de commutation d’un commutateur Cisco avec la commande suivante :

# show mac-address-table
Commutateur
  • Si l’adresse MAC de destination du trafic est connue du commutateur, il le transfère sur le bon port de sortie aussi rapidement que si les deux partenaires de communication étaient directement connectés au même fil.
  • Si le trafic dispose d’une destination
  • inconnue (trafic unicast inconnu du commutateur),
  • broadcast (FF:FF:FF:FF:FF:FF)
  • multicast
  • il le transfère par tous les ports sauf le port d’origine

En dédiant le transfert du trafic d’une interface à l’autre du LAN, le commutateur empêche l’interception des communications et donc la possibilité aisée de réaliser des captures. On proposera plus bas les méthodes adéquates pour réaliser ce genre de tâche dans un environnement commuté.

1.7. Routeurs

Le routeur transfère le trafic en fonction des adresses IP (IPv4 ou IPv6) pour des destinations distantes. Ils arrêtent le trafic de broadcast alors que les commutateurs et les “Hubs” le propagent.

1.8. VLANs

Pour diminuer la taille des domaines de broadcast, il est possible de diviser logiquement une seule infrastructure commutée en plusieurs LAN logiques : des LANs virtuels (VLANs). Ces LANs virtuels sont identifiés par un numéro.

2. Méthodes d’écoute

La méthode d’écoute dépendra :

  • du type de dialogue à surveiller
  • de l’environnement de cette communication (technologie supportée)
  • de la maîtrise de cet environnement
  • du coût à consentir pour réaliser la capture

2.1. Port mirroring

Source

Le port mirroring, port monitoring, span port, est un fonction que l’on trouve sur un commutateur et qui consiste à transférer sur un port appelé par ce nom le trafic normalement dédié entre d’autres ports du commutateur.

Port mirroring
  • Cette méthode est habituellement préférée car elle n’ajoute aucune empreinte de trafic ou paquets supplémentaires.
  • Elle est la seule qui permettent de surveiller le trafic distant entre des commutateurs.
  • Elle ne nécessite pas de déconnecter le client à surveiller.
  • Elle est toutefois gourmande en ressources pour le commutateur.

Configuration Cisco :

! Monitor Session 1
monitor session 1 source interface Gi1/0/11 - 12 rx
monitor session 1 destination interface Gi1/0/21
!
! Monitor Session 2 – the default direction is both, so both does not appear in the
! command.
monitor session 2 source vlan 11
monitor session 2 destination interface Gi1/0/22
SW11# show monitor session all
Session 1
­­­­­­­­­
Type : Local Session
Source Ports :
RX Only : Gi1/0/11­12
Destination Ports : Gi1/0/21
Encapsulation : Native
Ingress : Disabled
Session 2
­­­­­­­­­
Type : Local Session
Source VLANs :
Both : 11
Destination Ports : Gi1/0/22
Encapsulation : Native
Ingress : Disabled
SW11# show monitor detail
Session 1
­­­­­­­­­
Type : Local Session
Description : ­
Source Ports :
RX Only : Gi1/0/11­12
TX Only : None
Both : None
Source VLANs :
RX Only : None
TX Only : None
Both : None
! Lines omitted for brevity

2.2. Hubbing out

Cette méthode est vue pour le principe. En effet, si l’on peut débrancher est des hôtes à surveiller et que l’on se connecte au même “Hub”, le sniffer verra tout son trafic.

  • L’interface du client à surveiller peut être déconnectée.
  • La méthode peut devenir inefficiente pour surveiller du trafic entre plusieurs hôtes (collisions)
  • La capacité d’un Hub étant à 10 Mbps, on pourrait connaître des pertes de paquets sur un réseau commuté à 100/1000 Mbps.

2.3. Aggregated Taps

Source

  • Aggregated Taps
  • Nonaggregated Taps

Ce périphérique matériel fournit un moyen d’accéder aux données circulant sur un réseau informatique. Le TAP réseau a (au moins) trois ports: un port A, un port B et un port de moniteur. Un tap réseau inséré entre A et B transmet tout le trafic sans obstacle, mais copie également ces mêmes données sur son port de moniteur, ce qui permet à un tiers d’écouter ledit trafic.

Il y a des TAPs pour chaque type de réseau : en cuivre (RJ45), en fibre optique. Mais le type de TAP peut varier, certains peuvent dupliquer le signal réseau sur plusieurs sorties (appelés regeneration TAPs) tandis que d’autres font de l’agrégation en rassemblant en un seul flux les données d’un réseau half duplex ou full duplex.

Aggregated Taps

Source de l’image

  • L’interface du client à surveiller peut être déconnectée.
  • Permet de capturer du trafic sur des interfaces fibres qui deviennent de plus en plus communes dans les installations LAN/WAN.
  • Supporte le transfert du trafic commuté à ses vitesse (10/1000 Mbps Full Duplex).
  • Matériel est assez coûteux.

2.4. Attaques de redirection

  • APR
  • Attaques 802.1
  • DHCP, DNS, Routing : SuddenSix

  • Méthode de capture la plus lente, elle nécessite la création de paquets supplémentaires pour rediriger le trafic vers l’analyseur de paquets.
  • Il s’agit plutôt d’une méthode offensive qui s’impose lorsque l’on ne peut pas prendre la main sur l’infrastructure.
  • Elle n’est donc transparente.
  • Elle peut susciter des problèmes de performance sur le réseau (lenteur constatable).

2.5. Installation directe sur l’hôte à surveiller

!!! attention Sauf pour des tests, des constitutions de “baseline”, cette méthode n’est pas recommandée car le trafic pourrait être perdu ou transformé.

3. Captures distantes

Il existe bon nombre de solutions de type “opérateur” qui proposent des fonctionnalités de visualisation, de capture et de diagnostic à travers une infrastructure complète. A cette heure, cela ne concerne plus seulement les infrastructures totalement et géographiquement maîtrisées, mais aussi les infrastructures hybrides et hétérogènes distribuées dans l’espace. Ces solutions sont par exemple totalement intégrées et/ou utilisent une infrastructure homogène, d’autres vont déployer du SDN ou encore des sortes d’agents légers eux aussi intégrés ou utilisant des modèles d’architecture autonome. Ces solutions se combinent à des fonctions de journalisation, d’alerte, de surveillance, etc. Autrement dit, celles-ci deviennent intéressantes et abordables à partir d’une certaine échelle.

D’un point de vue plus fondamental, comment visualiser et analyser localement dans Wireshark une capture qui se réalise en temps réel sur un hôte distant ? Comment partager une capture via Cloudshark ?

3.1. Captures distantes avec Wireshark

Le mécanisme consiste à transférer le trafic capturé à partir d’une hôte distant dans l’interface locale du logiciel d’analyse à travers un “pipe”, un tube.

Sous Linux comme sous Windows, on peut procéder à une redirection à partir d’une connexion SSH sur un hôte distant. Ici l’exemple utilise tcpdump mais d’autres logiciels de captures tels que rawcap ou tshark pourraient parfaitement convenir.

Sous Linux :

ssh -l username remote_host "tcpdump -s0 -w - 'icmp'" | wireshark -k -i -

Sous Windows :

plink -ssh username@remote_host "tcpdump -s 0 -w - 'icmp'" | wireshark -i -

3.2. Installation du plugin Cloudshark dans Wireshark

à compléter.