Pourquoi utiliser Nmap ?
Sommaire
I. Présentation
Dans ce chapitre, nous allons passer en revue les principaux usages qui peuvent être faits de l’outil de scan réseau Nmap. Nous verrons qu’il s’agit d’un outil très utilisé dans de nombreux contextes et métiers, et que l’avoir dans sa boîte à outils en sachant le maîtriser est à coup sûr une compétence utile.
II. Utiliser Nmap pour le diagnostic et la supervision
Nmap peut être utilisé dans le cadre du diagnostic réseau et plus largement de la supervision. Au même titre qu’un ping permet de statuer sur la communication entre deux hôtes, Nmap permet très rapidement de savoir si un hôte est actif ou si un service précis est opérationnel. Nous pouvons grâce à Nmap obtenir des données précises concernant le temps de réponse d’un hôte, la route empruntée par les paquets, la réponse faite par un service spécifique, etc.
La commande et le résultat suivant me permettent, par exemple, de savoir rapidement si mon serveur web sur l’hôte “192.168.1.18” est actif et répond correctement :
nmap --open -p 80 192.168.1.18
Ainsi, l’utilisation de Nmap permet d’aller plus loin que le fameux “ping test” lors des phases de debug ou de diagnostic d’un problème. Nous verrons par la suite qu’il y a plusieurs méthodes utilisées par Nmap pour identifier quel service est en écoute sur un port donné, et notamment sa version.
III. Utiliser Nmap pour la cartographie du réseau
En tant que Network Mapper (Nmap), la cartographie du réseau est l’objectif principal de cet outil. Ainsi, il peut être utilisé au sein d’un réseau local ou de multiples réseaux, sous-réseaux et VLAN afin de dresser une liste des hôtes et des services joignables. Nmap permet de réaliser cette tâche de manière bien plus rapide et efficace que n’importe quelle méthode manuelle.
La commande et le résultat suivant me permettent par exemple d’identifier rapidement les hôtes actifs sur le réseau “192.168.1.0/24” :
nmap -sP 192.168.1.0/24
Nous verrons par la suite qu’il y a plusieurs méthodes utilisées par Nmap pour savoir si un hôte peut être considéré comme “actif”, même s’il n’expose a priori aucun service.
IV. Utiliser Nmap pour évaluer une politique de filtrage
Nmap présente l’avantage d’être factuel, ses résultats permettent de dresser des faits avérés et non négociables, contrairement à n’importe quel document d’architecture, politique de filtrage ou configuration. En cela, il s’agit d’un outil clé dans la mise en place d’un cloisonnement efficace du système d’information, puisqu’il permet d’évaluer très concrètement l’efficacité d’une politique de filtrage.
Au sein d’un réseau d’entreprise, les bonnes pratiques de sécurité exigent que les différents systèmes soient segmentés en fonction de leur criticité, de leur localisation physique, et/ou de leur rôle métier (comme les murs dessinant les pièces d’une maison). Entre différentes zones, un cloisonnement doit être mis en place afin de ne laisser passer que les paquets qui nous semblent légitimes d’un point de vue métier et sécurité. Ce cloisonnement est mis en place grâce à une politique de filtrage, qui définit la configuration de filtrage des pare-feu présents entre chaque zone.
Une politique de filtrage peut être complexe à mettre en place, tant il y a, d’un côté des exigences de sécurité fortes et de l’autre, des besoins métiers et fonctionnels nombreux et parfois mal définis.
Ainsi, la seule façon d’être sûr que la politique de filtrage est bien mise en place telle que définie est d’utiliser un scanner réseau pour vérifier qu’effectivement, les services d’administration SSH, WinRM, MSSQL et MySQL de nos serveurs ne sont pas joignables depuis ma zone “Utilisateur” (c’est un exemple).
L’utilisation de Nmap pour valider la mise en place de la politique de filtrage devrait être la dernière étape obligatoire de la mise en place d’une telle politique, et ce n’est le cas que quand quelqu’un sait utiliser cet outil dans une équipe.
D’après mon expérience, les ratés en matière de mise en place d’une politique de filtrage sont nombreux quand cette phase d’évaluation n’est pas effectuée régulièrement. Une simple erreur de case à cocher ou de plage IP peut rendre toute une partie du système d’information vulnérable aux attaques alors que l’on pensait justement qu’elle était isolée du réseau.
V. Utiliser Nmap pour l’audit de sécurité et tests d'intrusion
Nmap possède de nombreuses fonctionnalités qui sont utiles à l’évaluation de la sécurité du système d’information, aux tests d’intrusion (exercice de simulation d’une cyberattaque au sein d’un système d’information) et hélas, aux attaquants eux-mêmes.
Évidemment, les fonctions de cartographie sont utiles à un attaquant puisqu’il doit savoir, à la suite de la compromission d’un système ou d’une intrusion physique, où il est sur le réseau et quelles sont les cibles qu’il est susceptible d’atteindre et de viser par la suite. En plus de cette cartographie, Nmap comporte de nombreux modules, appelés “scripts”, dont une bonne partie est orientée autour de la détection de vulnérabilités sur les systèmes et services scannés.
La commande et le résultat suivant me permettent par exemple de savoir si le service FTP sur l’hôte “192.168.1.8” est protégé par une authentification ou accessible en mode anonyme, le tout en 0,06 secondes, bien plus rapidement qu’en se connectant sur le serveur pour parcourir et interpréter sa configuration :
nmap --script ftp-anon -p 21 192.168.1.18
Ainsi, la réalisation d’une cartographie et d’un scan de vulnérabilités fait partie des premières actions menées dans la plupart des audits de sécurité et tests d’intrusion. Cela permet de gagner du temps en vérifiant un grand nombre de points de contrôle, d’identifier certaines vulnérabilités très rapidement et de repérer les éventuels points faibles du système d’information.
Concernant ce dernier cas d’usage, il faut être conscient des limites d’un outil de scan de vulnérabilités, quel qu’il soit. Nmap peut certes automatiser et faciliter une partie de la découverte de vulnérabilités ou défauts de configuration sur un grand nombre de services, mais il ne s’agit pas d’une solution miracle lorsque utilisé seul. Entre autres, avoir un script d’analyse Nmap qui ne vous retourne aucune alerte ne veut pas forcément dire que le service ou le système scanné est invulnérable et totalement sécurisé. C’est pour cela qu’il faut bien comprendre ce que fait Nmap et les scripts (modules) que vous utiliserez pour savoir exactement ce qui est vérifié et ce qui ne l’est pas, au risque d’avoir un faux sentiment de sécurité.
VI. Conclusion
Nous avons vu dans ce chapitre que savoir manier Nmap vous permettra de réaliser bien des choses, notamment en termes de diagnostic, de supervision, de cartographie et d’analyse de vulnérabilité sur un système d’information. Dans le prochain chapitre, nous allons enfin passer à l’action et installer Nmap !
Bonjour,
Je pense qu’il manque des mots dans la première phrase du chapitre 4.
Merci pour le cours!
Bonjour, c’est corrigé. Merci pour ton retour et ta contribution 🙂