5 façons simples de vérifier les ports ouverts sous Linux
Les ports réseau ouverts sont les points d’entrée les plus faciles dans votre réseau. Il peut arriver que des services indésirables s’exécutent sur des ports visibles de l’extérieur depuis l’internet. Si ces services sont vulnérables, votre réseau sera constamment menacé par une attaque, car chaque jour, l’ensemble de l’internet fait l’objet d’un balayage de masse à la recherche de services vulnérables sur les ports ouverts.
Découvrez comment vous pouvez scanner et afficher les ports ouverts sur vos systèmes Linux, afin de défendre votre réseau contre les menaces.
Qu’est-ce qu’un port réseau ?
Les ports réseau sont des points d’accès logiques de votre système qui peuvent être utilisés comme canal pour héberger plusieurs services. Un port est représenté par un nombre entier de 16 bits, de sorte que le numéro de port le plus élevé est 65535.
Les ports sont comparables aux fenêtres et aux portes d’une maison, c’est-à-dire à tous les points d’entrée d’une maison ou d’un ordinateur. Les ports sont de trois types : les ports système (1-1023), les ports enregistrés (1024-49151) et les ports éphémères ou dynamiques (49152-65535).
Lorsque vous démarrez une application qui nécessite une connexion à l’internet, elle utilise des ports dynamiques pour transmettre et recevoir des données sur le réseau. Cependant, lorsque vous démarrez un serveur web ou un serveur SSH, il se lie généralement aux ports système ou aux ports enregistrés.
Pour les serveurs web HTTP, le port système par défaut est le 80 et pour SSH, le 22. Ces règles, telles que les plages de ports, sont élaborées par l’IANA (Internet Assigned Numbers Authority). Vous pouvez consulter la liste des ports RFC concernant les ports pour obtenir une liste complète de tous les ports et de leurs fonctions.
Il est important de connaître les ports les plus vulnérables afin de s’assurer qu’ils sont fermés ou protégés.
1. Vérifier les ports ouverts avec netstat
netstat est un utilitaire populaire que vous pouvez utiliser pour afficher les statistiques réseau de votre système Linux. Il fait partie du paquetage net-tools.
Le paquetage net-tools est maintenant déprécié en raison d’un manque de maintenance adéquate de la part du développeur. C’est également la raison pour laquelle vous pouvez rencontrer une erreur « ifconfig : command not found » lorsque vous exécutez la commande populaire ifconfig sous Linux.
Ainsi, sur les systèmes modernes, vous devrez peut-être d’abord installer le paquetage net-tools, puis vous pourrez exécuter la commande netstat. Voici comment vérifier les ports ouverts avec netstat :
Explication de la commande :
- -t affiche les ports TCP.
- -u affiche les ports UDP.
- -l affiche les ports d’écoute. Remplacez ceci par a si vous voulez voir tous les ports, quel que soit leur état.
- -n affiche la valeur numérique des ports au lieu de résoudre les noms de service. Par exemple, afficher le port 22 au lieu de SSH, c’est-à-dire le service fonctionnant sur le port.
2. Vérifier les ports ouverts avec ss
ss est l’équivalent moderne de l’outil netstat. Vous le trouverez préinstallé dans toutes les distributions Linux modernes. La syntaxe pour vérifier les ports ouverts avec ss est identique à celle de netstat.
Voici comment vérifier les ports ouverts avec ss :
Explication de la commande :
- -t affiche les ports TCP.
- -u affiche les ports UDP.
- -l affiche les ports d’écoute. Remplacez ceci par a si vous voulez voir tous les ports, quel que soit leur état.
- -n affiche la valeur numérique des ports au lieu de résoudre les noms de service. Par exemple, afficher le port 21 au lieu de FTP, c’est-à-dire le service fonctionnant sur le port.
3. Vérifier les ports ouverts avec Nmap
Nmap est l’un des outils les plus populaires dans le domaine de la cybersécurité et des réseaux. C’est un nom incontournable lorsqu’il s’agit de tests de pénétration de la sécurité des réseaux. Son utilisation principale est le balayage des ports, ce qui vous permet non seulement d’obtenir des informations sur les ports ouverts dans votre système, mais aussi de savoir s’ils sont vulnérables et exploitables.
De plus, si vous souhaitez vérifier les ports ouverts dans un système distant avec IDS/IPS et pare-feu en place, ne vous inquiétez pas car Nmap peut également contourner les pare-feu et IDS/IPS avec les bons commutateurs.
Consultez ce guide complet sur Nmap pour les débutants afin d’explorer les diverses fonctionnalités de Nmap et de savoir comment les utiliser. Bien que vous puissiez le faire, il n’est pas recommandé d’essayer de contourner les pare-feux car ce n’est pas entièrement fiable, il est donc préférable que vous vous connectiez en SSH au serveur distant et que vous exécutiez ensuite Nmap sur celui-ci localement.
Voici la commande pour vérifier les ports ouverts avec Nmap :
Explication de la commande :
- -sTU définit le type de balayage sur TCP Connect et UDP scan.
- -T 5 définit le modèle de synchronisation sur agressif pour des balayages très rapides (non recommandé sur un système non protégé, car cela peut entraîner une attaque DoS).
- -sV active l’analyse de service.
- –min-rate 9000 demande à Nmap d’envoyer 9000 paquets par seconde.
- –initial-rtt-timeout 50ms indique à Nmap d’attendre initialement 50ms pour une réponse à chaque paquet SYN qu’il envoie.
- –max-rtt-timeout 3000ms indique à Nmap d’attendre au maximum 3000ms pour une réponse.
- –min-parallelism 9000 fixe le nombre minimum d’exécutions simultanées de scripts à 9000.
- –max-retries 50 indique à Nmap de réessayer 50 fois de se connecter à un port.
- -Pn désactive le sondage ping.
- –disable-arp-ping désactive l’interrogation ARP.
- -n désactive la résolution DNS.
- –script vuln,exploit,auth exécute trois scripts pour tester différents types de vulnérabilités dans les ports découverts.
- -v renvoie une sortie verbeuse.
- -oX enregistre les résultats dans un fichier XML.
- -6 Paramètre facultatif pour analyser les adresses IPv6.
4. Vérifier les ports ouverts avec lsof
La commande lsof de Linux est utilisée pour lister les fichiers ouverts. Cependant, si vous y ajoutez quelques commutateurs, vous pourrez voir les connexions Internet et les ports ouverts sur votre machine locale. Voici comment vérifier les ports ouverts avec lsof :
Explication de la commande :
- -i liste tous les fichiers réseau et internet.
- -n ne résout pas les noms d’hôtes.
5. Vérifier les ports ouverts avec netcat
netcat est un utilitaire de ligne de commande qui vous permet de lire et d’écrire sur des connexions TCP/UDP. Notez qu’il ne s’agit là que d’une des fonctionnalités de netcat. Vous pouvez consulter sa page de manuel à l’aide de la commande man netcat pour découvrir toutes ses fonctionnalités et comment les utiliser.
Voici comment vous pouvez utiliser netcat pour scanner les ports ouverts :
Explication de la commande :
- -z met netcat en mode scanner.
- -v renvoie une sortie verbeuse.
- grep -v « refused » renvoie les lignes de sortie sans le mot « refused ». Cela permet d’éviter que le terminal ne soit encombré de messages « connexion refusée » lorsque netcat ne reçoit aucune sortie d’un port.
- 2>&1: Il s’agit d’un commutateur optionnel que vous devrez peut-être activer pour que grep fonctionne lorsque netcat est exécuté en mode verbeux. netcat renvoie la sortie sur stderr (indiqué par 2). Ainsi, pour faire du grep, vous devez rediriger stderr vers stdout (indiqué par 1) et l’acheminer vers grep.
Mieux vous connaissez votre réseau, mieux vous pouvez le défendre
Connaître les ports ouverts et les services en cours d’exécution sur votre système est une étape importante pour le défendre contre d’éventuelles attaques extérieures. Cela vous permet de rechercher et d’arrêter les services inutiles, de trouver les services obsolètes et également de détecter si des fichiers malveillants tels que des portes dérobées bind ou reverse shell s’exécutent sur votre système.
Si vous prenez au sérieux la sécurité de votre réseau, vous devriez envisager d’installer et de configurer une solution IDS pour surveiller toute l’activité sur votre réseau et appliquer des ensembles de règles pour empêcher les connexions non sollicitées.
Comment vérifier les ports ouverts sous Linux ?
Vérifier les ports ouverts sous Linux
- Ouvrez une application de terminal Linux.
- Utilisez la commande ss pour afficher tous les ports TCP et UDP ouverts sous Linux.
- Une autre option consiste à utiliser la commande netstat pour dresser la liste de tous les ports sous Linux.
- Outre la commande ss / netstat, il est possible d’utiliser la commande lsof pour dresser la liste des fichiers et des ports ouverts sur un système basé sur Linux.
Comment vérifier si le port 443 est ouvert sous Linux ?
Vous pouvez utiliser plusieurs commandes telles que « netstat », « ss » ou « nmap » pour vérifier si le port 443 est ouvert sous Linux. Voici comment procéder avec la commande « netstat » : Ouvrez le terminal sur votre machine Linux. Tapez : sudo netstat -tulpn | grep :443 et appuyez sur Entrée .
Comment vérifier quels ports sont ouverts ?
Si vous souhaitez tester les ports sur votre ordinateur, utilisez l’invite de commande Windows et la commande CMD netstat -ano. Windows vous montrera toutes les connexions réseau actuellement existantes via des ports ouverts ou des ports ouverts et à l’écoute qui n’établissent actuellement aucune connexion.
Comment voir les ports ouverts dans Ubuntu ?
Vérifier les ports ouverts à l’aide de lsof La commande lsof (list open files), comme son nom l’indique, est utilisée pour répertorier tous les fichiers ouverts sous linux. Ces fichiers peuvent être des sockets réseau, des fichiers disque ou des périphériques ouverts par différents processus. Utilisez la commande lsof avec l’option -nP pour lister toutes les sockets ouvertes.