Utiliser Nmap pour scanner les ports réseau courants

NmapNmapBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à utiliser Nmap pour scanner les ports réseau courants. Le scan de ports est une technique cruciale en sécurité des réseaux, qui permet d'identifier les ports ouverts sur un système cible. Ces ports ouverts peuvent être des points d'entrée potentiels pour les attaquants, c'est donc une compétence essentielle pour les administrateurs de réseau et les professionnels de la sécurité.

En maîtrisant Nmap, un puissant outil de scan de réseau open - source, vous pouvez découvrir les services actifs sur un réseau, évaluer les vulnérabilités de sécurité et maintenir l'intégrité de vos systèmes.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/common_ports("Common Ports Scanning") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-415920{{"Utiliser Nmap pour scanner les ports réseau courants"}} nmap/common_ports -.-> lab-415920{{"Utiliser Nmap pour scanner les ports réseau courants"}} nmap/save_output -.-> lab-415920{{"Utiliser Nmap pour scanner les ports réseau courants"}} nmap/port_scanning -.-> lab-415920{{"Utiliser Nmap pour scanner les ports réseau courants"}} nmap/scan_types -.-> lab-415920{{"Utiliser Nmap pour scanner les ports réseau courants"}} nmap/target_specification -.-> lab-415920{{"Utiliser Nmap pour scanner les ports réseau courants"}} nmap/service_detection -.-> lab-415920{{"Utiliser Nmap pour scanner les ports réseau courants"}} end

Comprendre les ports réseau et installer un serveur web

Avant de commencer à scanner les ports, il est crucial de comprendre ce que sont les ports réseau et pourquoi ils sont importants dans le domaine de la cybersécurité. Les ports réseau jouent un rôle essentiel dans la communication entre différentes applications et services au sein d'un réseau informatique. Ils agissent comme des passerelles permettant aux données d'entrer et de sortir d'un système, ce qui en fait un concept essentiel à maîtriser pour quiconque s'intéresse à la sécurité des réseaux.

Qu'est - ce que les ports réseau ?

Les ports réseau sont des points de terminaison virtuels pour la communication dans un réseau informatique. Imaginez - les comme des portes par lesquelles différentes applications et services peuvent envoyer et recevoir des données. Ils permettent à plusieurs applications et services de partager les ressources réseau sur le même système sans s'interférer les uns avec les autres. Les ports sont identifiés par des numéros allant de 0 à 65535, et différentes plages de ces numéros sont désignées pour des fins spécifiques :

  • Ports 0 - 1023 : Ce sont des ports bien connus réservés pour les services standard. Par exemple, HTTP (utilisé pour la navigation web) utilise généralement le port 80, FTP (pour le transfert de fichiers) utilise le port 21, et SSH (pour l'accès distant sécurisé) utilise le port 22.
  • Ports 1024 - 49151 : Ce sont des ports enregistrés pour des applications spécifiques. Les développeurs de logiciels peuvent enregistrer un numéro de port particulier pour leur application.
  • Ports 49152 - 65535 : Ce sont des ports dynamiques ou privés. Ils sont utilisés par les applications lorsqu'elles ont besoin d'établir une connexion temporaire.

Configuration d'un serveur web pour le scan

Pour pratiquer le scan de ports, nous allons d'abord configurer un serveur web sur notre machine locale. Un serveur web est un programme qui utilise le protocole HTTP (Hypertext Transfer Protocol) pour servir les fichiers qui constituent les pages web aux utilisateurs. Lorsqu'un utilisateur tape une adresse de site web dans son navigateur, le navigateur envoie une requête au serveur web, et le serveur répond en envoyant les pages web appropriées. Par défaut, les serveurs web fonctionnent sur le port 80.

  1. Ouvrez une fenêtre de terminal dans l'environnement de la machine virtuelle (VM) LabEx. Le terminal est une interface basée sur le texte qui vous permet d'interagir avec le système d'exploitation en tapant des commandes. Vous devriez être dans le répertoire par défaut /home/labex/project. Pour confirmer votre répertoire actuel, vous pouvez utiliser la commande suivante :

    pwd

    La commande pwd signifie "print working directory" (afficher le répertoire de travail). Lorsque vous exécutez cette commande, elle vous montrera le chemin du répertoire actuel dans lequel vous vous trouvez. Vous devriez voir une sortie comme celle - ci :

    /home/labex/project
  2. Installez le serveur web Apache2 en utilisant la commande suivante :

    sudo apt update && sudo apt install apache2 -y

    La commande sudo est utilisée pour exécuter des commandes avec des privilèges administratifs. apt update met à jour les informations sur les paquets de votre système, vous assurant d'avoir les dernières informations sur les paquets logiciels disponibles. apt install apache2 -y installe le serveur web Apache2. L'option -y répond automatiquement "oui" à toutes les invitations pendant le processus d'installation. Vous verrez beaucoup de sorties au fur et à mesure de l'installation, qui montrent les étapes que le système effectue pour installer le logiciel.

  3. Démarrez le service Apache2 :

    sudo service apache2 start

    Après avoir installé le serveur web Apache2, vous devez démarrer son service. La commande service est utilisée pour gérer les services système. Dans ce cas, nous démarrons le service Apache2 afin qu'il puisse commencer à accepter les requêtes entrantes.

  4. Vérifiez que Apache2 fonctionne correctement :

    sudo service apache2 status

    Pour vous assurer que le service Apache2 fonctionne comme prévu, vous pouvez utiliser l'option status avec la commande service. Cela vous montrera l'état actuel du service Apache2. Vous devriez voir une sortie indiquant que Apache2 est actif (en cours d'exécution), similaire à :

    * apache2 is running
  5. Vous pouvez également vérifier que le serveur web est accessible en créant un nouvel onglet "Web Service". Cliquez sur le symbole + dans l'onglet supérieur de l'environnement virtuel, sélectionnez l'option "Web Service" et entrez le port 80. Cela tentera de se connecter au serveur web en cours d'exécution sur le port 80. Si tout est configuré correctement, il devrait afficher la page d'accueil par défaut d'Apache2.

Maintenant que nous avons un serveur web en cours d'exécution sur notre système, il a ouvert le port 80 pour la communication. Dans l'étape suivante, nous utiliserons Nmap pour découvrir ce port ouvert.

Introduction à Nmap et exécution d'un scan de ports courants

Maintenant que nous avons réussi à configurer un serveur web, il est temps d'apprendre à utiliser Nmap pour découvrir quels ports sont ouverts sur notre système. Comprendre les ports ouverts est crucial en matière de sécurité des réseaux car les ports ouverts peuvent être des points d'entrée potentiels pour les attaquants. En utilisant Nmap, nous pouvons identifier ces ports et prendre les mesures de sécurité appropriées.

Qu'est - ce que Nmap ?

Nmap, acronyme de Network Mapper, est un outil libre et open - source bien connu utilisé pour la découverte de réseaux et l'audit de sécurité. Il a une grande variété d'applications dans le domaine de la sécurité des réseaux :

  • Découverte d'hôtes et de services sur un réseau : Nmap peut vous aider à découvrir quels appareils sont connectés à un réseau et quels services ils proposent. Par exemple, il peut détecter s'il y a un serveur de fichiers, un serveur web ou un serveur de messagerie sur le réseau.
  • Création d'un inventaire des systèmes fonctionnant sur un réseau : Vous pouvez utiliser Nmap pour créer une liste de tous les systèmes sur un réseau, y compris leurs adresses IP et les services qu'ils exécutent. Cet inventaire est utile pour les administrateurs de réseau pour gérer et maintenir le réseau.
  • Vérification des ports ouverts sur les hôtes cibles : Les ports sont comme des portes d'un ordinateur. Un port ouvert signifie qu'un service est en écoute et prêt à accepter des connexions. Nmap peut scanner un hôte cible pour découvrir quels ports sont ouverts.
  • Identification du système d'exploitation et des versions de services des hôtes réseau : Connaître le système d'exploitation et les versions de services exécutés sur un hôte peut aider les professionnels de la sécurité à déterminer s'il existe des vulnérabilités connues que les attaquants pourraient exploiter.

Scan de ports courants avec Nmap

Nmap propose une variété d'options de scan. Pour les débutants, l'option de scan rapide (-F) est très utile. Par défaut, Nmap scanne 1000 ports, ce qui peut prendre beaucoup de temps. L'option -F réduit le nombre de ports à scanner aux 100 ports les plus courants, rendant le scan beaucoup plus rapide.

Effectuons un scan rapide sur notre machine locale pour trouver le serveur web que nous venons de configurer :

  1. Ouvrez votre terminal. Dans le terminal, vous allez entrer une commande pour interagir avec le système d'exploitation. Tapez la commande suivante et appuyez sur Entrée :

    nmap -F localhost

    Décortiquons cette commande :

    • nmap : C'est l'outil de scan que nous utilisons. C'est la commande principale qui indique au système de démarrer un scan réseau.
    • -F : Cette option active le mode de scan rapide. Elle limite le scan aux 100 ports les plus courants, vous faisant gagner du temps.
    • localhost : C'est la cible que nous scannons. localhost fait référence à votre machine locale, qui a l'adresse IP 127.0.0.1.
  2. Après avoir exécuté la commande, vous verrez une sortie similaire à celle - ci :

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000097s latency).
    Not shown: 96 closed ports
    PORT   STATE SERVICE
    80/tcp open  http
    
    Nmap done: 1 IP address (1 host up) scanned in X.XX seconds

    Cette sortie fournit des informations importantes :

    • Le scan a été effectué sur votre machine locale, qui a l'adresse IP 127.0.0.1.
    • Le port 80 est ouvert et exécute le service HTTP. C'est le serveur web Apache que nous avons installé précédemment, car par défaut, Apache écoute sur le port 80.
    • Les 96 autres ports courants sont fermés. Ils ne sont pas affichés en détail dans la sortie.
  3. Si vous voulez des informations plus détaillées, telles que la version du service exécuté sur les ports ouverts, vous pouvez effectuer un scan plus détaillé. Utilisez la commande suivante :

    nmap -sV -F localhost

    L'option -sV dans cette commande tente de déterminer la version des services exécutés sur les ports ouverts. La sortie sera plus détaillée :

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000097s latency).
    Not shown: 96 closed ports
    PORT   STATE SERVICE VERSION
    80/tcp open  http    Apache httpd 2.4.X
    
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in X.XX seconds

    Cette sortie confirme que notre serveur web Apache fonctionne sur le port 80, et elle nous indique également la version du serveur HTTP Apache.

Compréhension des résultats

Les résultats du scan montrent que le port 80 est ouvert et exécute le service HTTP. C'est ce que nous attendions car nous avons installé et démarré le serveur web Apache, qui écoute par défaut sur le port 80. Dans une situation réelle, savoir quels ports sont ouverts est très important pour les professionnels de la sécurité :

  1. Identification de vulnérabilités de sécurité potentielles : Différents services exécutés sur des ports ouverts peuvent avoir des vulnérabilités connues. En sachant quels ports sont ouverts et quels services y sont exécutés, les professionnels de la sécurité peuvent vérifier s'il existe des risques de sécurité.
  2. Vérification que seuls les services nécessaires sont exécutés : L'exécution de services inutiles sur des ports ouverts peut augmenter la surface d'attaque. En identifiant les ports ouverts, les professionnels de la sécurité peuvent s'assurer que seuls les services réellement nécessaires sont exécutés.
  3. Vérification que les configurations de pare - feu fonctionnent comme prévu : Les pare - feux sont utilisés pour contrôler le trafic réseau entrant et sortant. En scannant les ports ouverts, les professionnels de la sécurité peuvent vérifier si le pare - feu bloque les ports qui doivent être bloqués et autorise ceux qui doivent être ouverts.

Génération de rapports de scans Nmap et compréhension des implications en matière de sécurité

Dans le domaine de la sécurité des réseaux, la documentation de vos découvertes est une étape cruciale. Nmap offre des fonctionnalités de génération de rapports intégrées qui peuvent nous aider à enregistrer les résultats des scans plus efficacement. Dans cette étape, nous allons apprendre à générer des rapports Nmap, à analyser les résultats et à discuter des implications en matière de sécurité des ports ouverts. Enfin, nous allons arrêter correctement les services que nous avons démarrés pour ce laboratoire afin d'assurer la sécurité du système.

Utilisation de Nmap pour générer des rapports

Nmap peut directement exporter les résultats des scans dans différents formats de rapports, y compris le texte brut, XML, JSON, etc. Cela est plus efficace et précis que de créer des rapports manuellement. Utilisons les options de sortie de Nmap pour générer un rapport :

  1. Exécutez un scan Nmap avec des options de sortie :
nmap -F -sV localhost -oN /home/labex/project/nmap_report.txt

Dans cette commande :

  • L'option -F effectue un scan rapide (en ne scannant que les 100 ports les plus courants)
  • -sV tente de déterminer la version des services exécutés sur les ports ouverts
  • -oN /home/labex/project/nmap_report.txt enregistre la sortie au format texte brut dans le fichier spécifié
  1. Affichez le rapport généré :
cat /home/labex/project/nmap_report.txt

Vous verrez un rapport contenant des informations complètes sur le scan, notamment :

  • Date et heure du scan
  • Informations sur la cible
  • Liste des ports ouverts
  • Services et versions exécutés sur chaque port ouvert

Plus d'options de format de rapport

Nmap prend en charge plusieurs formats de sortie adaptés à différents objectifs :

  • -oX filename - Sortie au format XML, adapté pour le traitement automatisé
  • -oG filename - Sortie au format Grepable, pratique pour la recherche avec grep
  • -oJ filename - Sortie au format JSON, approprié pour les applications modernes
  • -oA filename - Sortie dans tous les formats (Normal, XML et Grepable) simultanément

Par exemple, pour générer un rapport au format XML :

nmap -F -sV localhost -oX /home/labex/project/nmap_report.xml

Compréhension des implications en matière de sécurité des résultats de scan

D'après notre rapport de scan, nous pouvons voir que le port 80/tcp est ouvert et exécute un service HTTP (serveur web Apache). Cela a plusieurs implications importantes en matière de sécurité :

  1. Point d'entrée potentiel d'attaque : Les ports ouverts sont comme des portes dans un bâtiment. Chaque port ouvert peut potentiellement servir de voie d'entrée pour les attaquants dans votre système.

  2. Risques de vulnérabilité des services : Les services exécutés sur les ports ouverts peuvent avoir des failles de sécurité que les attaquants pourraient exploiter.

  3. Canal de communication à surveiller : Les ports ouverts sont utilisés pour la communication, et vous devez surveiller l'activité sur ces ports pour détecter tout comportement anormal.

Pour assurer la sécurité des ports, vous devriez suivre les meilleures pratiques suivantes :

  • Ne gardez ouvert que les ports nécessaires : Les ports inutilement ouverts augmentent la surface d'attaque de votre système.
  • Mettez régulièrement à jour les services utilisant ces ports : Les mises à jour incluent souvent des correctifs de sécurité qui corrigent les vulnérabilités.
  • Mettez en œuvre des règles de pare-feu pour restreindre l'accès : Les pare-feu peuvent vous aider à contrôler qui peut accéder à votre système via des ports spécifiques.
  • Surveillez l'activité des ports pour détecter des modèles anormaux : En surveillant l'activité, vous pouvez détecter et répondre aux menaces potentielles en temps opportun.

Nettoyage du laboratoire

Maintenant que nous avons terminé notre exercice de scan, il est temps d'arrêter le serveur web Apache. Laisser les services en cours d'exécution lorsqu'ils ne sont pas nécessaires peut poser des risques de sécurité, donc un nettoyage approprié est important.

  1. Arrêtez le service Apache :
sudo service apache2 stop
  1. Vérifiez que le service a été arrêté :
sudo service apache2 status

Vous devriez voir une sortie indiquant qu'Apache2 n'est pas en cours d'exécution, par exemple :

* apache2 is not running
  1. Confirmez que le port 80 est fermé :
nmap -F localhost

La sortie devrait indiquer que le port 80 est fermé ou qu'il n'est pas répertorié parmi les ports ouverts. Ce processus de nettoyage est crucial dans les scénarios réels pour garantir que les services ne continuent pas à fonctionner lorsqu'ils ne sont pas nécessaires, ce qui peut poser des risques de sécurité.

Résumé

Dans ce laboratoire, vous avez appris les bases du scan de ports réseau en utilisant Nmap, un outil open - source puissant en matière de sécurité des réseaux. Vous avez acquis une expérience pratique dans la compréhension des ports réseau, la configuration d'un serveur web avec un port ouvert, l'utilisation de Nmap pour effectuer des scans de ports courants, l'interprétation des résultats de scan, la documentation des découvertes dans un rapport de sécurité et l'arrêt correct des services.

Ces compétences sont la pierre angulaire de l'évaluation de la sécurité des réseaux. Elles sont cruciales pour les professionnels de la sécurité informatique, de l'administration réseau et de la gestion des systèmes. Maîtriser le scan de ports permet d'identifier les vulnérabilités du réseau et de protéger les systèmes contre l'accès non autorisé.