Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Debian GNU/Linux
  3. Outils d'audit et d'analyse
Extrait - Debian GNU/Linux Maîtrisez la sécurité des infrastructures
Extraits du livre
Debian GNU/Linux Maîtrisez la sécurité des infrastructures
1 avis
Revenir à la page d'achat du livre

Outils d'audit et d'analyse

Gestion de ressource

Nous avons étudié jusque-là comment protéger le système, et notamment les moyens de sauvegarder les données. Mais il est une tâche essentielle dont il faut s’acquitter avant toute autre : vérifier l’état des ressources de l’écosystème sous-jacent. Ce genre d’analyse s’effectue généralement via le compte root, qui possède tous les droits pour le faire, et ce, de façon régulière, afin de toujours s’assurer d’avoir la capacité de rendre les services demandés par les utilisateurs.

1. Équipements et matériels

Lorsque nous utilisons un équipement informatique quel qu’il soit, il n’y a rien de plus instructif que de connaître le matériel sur lequel on travaille. Cela permet d’en connaître les moindres ressources, les éventuelles failles et de l’améliorer le cas échéant. Généralement, en entreprise, il n’est pas rare que les serveurs de production soient qualifiés. Cela signifie que l’on doit fournir l’ensemble des matériels, mémoires, disques, cartes et périphériques utilisés, afin d’en évaluer la moindre capacité.

Un serveur se compose généralement :

  • d’une carte mère,

  • d’une carte graphique (optionnelle),

  • de disques (SAS, SCSI, SATA ou USB),

  • de ports USB,

  • d’un moniteur (consoles),

  • d’un clavier,

  • de barrettes de mémoire.

Nous pouvons schématiser cela de la façon suivante :

images/I08EP01.png

La première étape consiste à lister tous les matériels branchés au bus PCI (Peripheral Component Interconnect). Il existe une commande particulière permettant de connaître l’état de ces ressources :


# lspci|more
 

Cette commande supporte plusieurs options permettant de connaître plus particulièrement le détail des éléments du système. Cette dernière est basée sur la bibliothèque libpci.

Pour compléter les informations précédemment obtenues, utilisons la commande dmidecode permettant d’afficher l’ensemble des fonctions DMI (Desktop Management Interface), de l’interface d’interaction...

Analyse du réseau

Un analyseur réseau, aussi appelé analyseur de trames, ou en anglais sniffer (comprenez "renifleur"), est un dispositif permettant d’écouter le trafic circulant sur un réseau d’entreprise. En termes plus clairs, cela signifie que l’utilitaire va capturer les informations qui y circulent.

RAPPEL : dans un réseau non commuté, les données envoyées le sont à destination de l’ensemble des machines présentes sur ce réseau. Toutefois, lors d’une utilisation normale, les machines ignorent les paquets qui ne leur sont pas adressés. Ainsi, en utilisant l’interface réseau selon un mode très spécifique (appelé promiscuous), il est possible d’écouter l’ensemble du trafic passant par un adaptateur : c’est-à-dire circulant au travers d’une carte réseau Ethernet ou d’une carte réseau sans fil.

1. Renifleur réseau

Un renifleur est un merveilleux outil permettant d’étudier le trafic d’un réseau. Il sert, la plupart du temps, aux administrateurs, pour diagnostiquer les problèmes, ou pour connaître le trafic en cours de négociation. Les détecteurs d’intrusion (aussi abrégé en IDS : Intrusion Detection System) sont généralement basés sur un sniffer capturant les trames et utilisant une base de données de règles permettant de détecter les trames suspectes. Malheureusement, comme beaucoup d’outils d’administration, le renifleur peut aussi servir à des personnes malveillantes, ayant un accès physique au réseau, afin de collecter des informations sensibles. De ce fait, nous considérons ce phénomène comme faisant partie de l’éventail des tentatives d’intrusions potentielles. Ce risque est encore plus prégnant sur les réseaux sans fil, car il est très difficile de confiner les ondes hertziennes dans un périmètre délimité. Ainsi, des personnes malveillantes peuvent écouter le trafic, à notre insu, en étant simplement à proximité ou dans le voisinage. Rappelons aussi que la majorité des protocoles Internet font transiter les informations en clair (non...

Analyse des paquets

1. Généralités et définitions

Dans le contexte d’un réseau informatique, le paquet est l’entité de transmission de la couche réseau (c’est-à-dire de la couche 3 du modèle OSI). En effet, afin de transmettre un message d’une machine à une autre au travers du réseau, celui-ci sera découpé en plusieurs paquets émis séparément. Chaque paquet inclut un en-tête (ou header en anglais), comprenant l’ensemble des informations nécessaires pour acheminer et reconstituer le message initial, tout en encapsulant une partie des données.

Exemple

En-tête du paquet IPv6 :

images/rp116.png

Le paquet ne doit pas être confondu avec la trame, qui correspond, lui, au message de la couche liaison de données (soit la couche 2 du modèle OSI). Lorsqu’un ordinateur communique avec un autre ordinateur, sur le réseau d’entreprise, ils s’envoient chacun des paquets de données permettant entre autres :

  • de négocier la connexion

  • de diffuser des cookies ou des authentifications par mot de passe

  • de transférer des fichiers, pages HTML...

Ce qui nous intéresse ici, en plus de l’analyse du trafic réseau abordée précédemment, c’est collecter et historiser les informations concernant les paquets échangés, afin de pouvoir en tirer un audit clair concernant les différents messages transmis ou reçus depuis un point quelconque du réseau. Ainsi, pour pouvoir traiter ce besoin, nous utiliserons des utilitaires équivalents à nmap, capables d’interpréter chaque paquet. Ces logiciels s’appellent respectivement wireshark et tcpdump. Ils font partie de la classe des sniffer (ou renifleurs) evoqués précédemment et vont permettre de récupérer l’ensemble des données transitant à travers le réseau, des couches 2 à 7 du modèle OSI :

images/rp117.png

2. L’outil tcpdump

Il s’agit d’un outil de capture et d’analyse réseau, qui permet d’analyser en direct le trafic réseau, ou d’enregistrer la capture dans un fichier afin de l’analyser plus tard. Il permet de filtrer les paquets à capturer et/ou analyser. Ce logiciel...

Détection d’intrusion

1. Utilisation d’un IDS

On appelle Intrusion Detection System (ou IDS), tout mécanisme écoutant le trafic du réseau de manière furtive, afin de repérer des activités anormales ou suspectes. Cela permet ainsi de préciser une action de prévention spécifique lors de la détection d’intrusion.

Il existe ainsi deux grandes familles d’IDS :

  • les Network based Intrusion Detection System ou NIDS pour la sécurité au niveau réseau

  • les Host based Intrusion Detection System ou HIDS pour la sécurité au niveau des hôtes

Les systèmes NIDS nécessitent un matériel dédié, constituant alors un mécanisme apte à contrôler les paquets circulant sur un ou plusieurs brins réseau, dans le but de découvrir un acte malveillant ou du moins, anormal. Ce système place une ou plusieurs cartes d’interface réseau, du système en observation, en mode promiscuité (appelé aussi mode promiscuous). Ces cartes sont alors déclarées être en mode "furtif", permettant alors de n’être associées à aucune adresse IP. Ces interfaces n’ont d’ailleurs aucune pile de protocole attaché. Il n’est d’ailleurs pas inédit de trouver plusieurs systèmes IDS, sur les différentes sections du réseau.

Nous pouvons placer ce genre de sondes à l’extérieur du réseau pour étudier les tentatives d’attaques et à l’intérieur afin d’analyser les requêtes traversant le pare-feu ou dirigées depuis l’intérieur :

images/rp132.png

Le système HIDS réside sur un hôte en particulier et la gamme des logiciels doit couvrir ainsi une grande partie des systèmes d’exploitation : Microsoft Windows, Solaris, GNU/Linux... Cet outil se comporte comme un daemon ou un service standard, sur le système hôte. Traditionnellement, le HIDS analyse les informations particulières, au sein des journaux de traces (syslog, messages, lastlog, wtmp...), ainsi que les captures des paquets réseau entrant et sortant de la machine, afin d’y déceler des signaux d’intrusion (déni de service, porte dérobée...

Test de pénétration

1. Présentation

L’outil nessus est un mécanisme de sécurité informatique signalant les faiblesses potentielles ou avérées des machines testées. Ceci inclut entre autres :

  • les services vulnérables à des attaques, permettant la prise de contrôle du système, l’accès à des informations sensibles (fichiers confidentiels), les dénis de service...

  • les fautes de configuration (relais de messagerie ouvert)

  • les patchs de sécurité non appliqués, que les failles corrigées soient exploitables ou non, dans la configuration testée

  • les mots de passe laissés par défaut et/ou l’absence de mot de passe sur certains comptes système

  • les services jugés faibles (remplacement de Telnet par SSH)

  • les dénis de service contre la pile TCP/IP

Le programme nessus peut, en cas de besoin, faire appel à la commande externe hydra afin d’attaquer les mots de passe à l’aide d’un dictionnaire choisi. Il ne s’agit plus ici de détecter les intrusions, mais aussi de les simuler pour voir comment le système réagit. 

Nessus peut être apparenté à un scanner de vulnérabilités. Nous ne sommes donc plus dans le domaine de la simple détection, mais dans celui de la prévention des incidents en testant les différents scénarios possibles. L’outil détecte les machines vivantes sur un réseau, balaie les ports ouverts, identifie les services actifs (en validant, au passage, leur version) et tente diverses attaques. L’outil se divise en deux parties :

  • le daemon nessusd : exécutant les requêtes et favorisant la communication avec la cible.

  • l’application cliente nessus : récupérant les données et affichant les résultats.

Ce découpage est bien évidemment un grand classique. Le daemon tourne avec des privilèges élevés (super-utilisateur root), alors que l’interface graphique, plus complexe (et surtout plus vulnérable), fonctionne sous l’identité d’un utilisateur non privilégié. Les tests sont joués par des modules (ou plug-ins), dont certains sont compilés en C, mais dont la majorité...

Utilitaire de test et de détection d’intrusion

1. Les audits pentesting

Afin d’illustrer ces propos et de démontrer l’utilité d’outils de tests et de détection d’intrusion, nous allons maintenant développer une plateforme permettant d’effectuer les analyses et audits de détection d’intrusion. Il s’agit de l’outil BackBox Linux développé, une fois n’est pas coutume, sur une distribution Ubuntu et proposant un environnement de travail clair et bien conçu, tout en offrant un éventail d’outils de sécurité très complet. Cela fait de l’outil, la plateforme idéale pour les "pentesteur".

Un pentesteur (ou pentester, en langue de Shakespeare), est composé de deux termes ”Pen” et ”Test”, représentant l’abréviation de penetration testing et qui se traduit par test de pénétration. En informatique, on parle plutôt de tests d’intrusion. Ainsi, on appelle pentesteur toute personne éprouvant la sécurité d’un système informatique, réseau ou d’applications web afin de trouver des vulnérabilités qu’un pirate pourrait exploiter.

Ce genre de stratégie est de plus en plus développée en entreprise, du fait des nombreuses attaques ayant eu lieu jusqu’à tout récemment. Le test d’intrusion est d’autant plus souhaitable qu’il est automatisé à l’aide d’applications logicielles, mais certains administrateurs ne rechignent pas à effectuer eux-mêmes ces audits, manuellement. Le processus standard comprend généralement les étapes suivantes :

  • collecte d’informations concernant la cible avant le test (sous forme de reconnaissance)

  • identification des points d’entrées possibles

  • tentative de pénétration

  • report des résultats

En ce qui concerne le pentesteur, on peut aussi rencontrer les termes de "Ethical hacker" ou "White hat hacker", ceux-ci faisant référence au fait que la personne pratiquant ce genre de technique doit obtenir l’accord de sa hiérarchie ainsi que de l’administrateur de la machine ciblée pour effectuer ces tests d’intrusion....