Vérification des ports ouverts et à l’écoute sous Linux en utilisant Netstat et SS
Vérification des ports ouverts et à l’écoute sous Linux en utilisant netstat et ss
Surveiller les ports ouverts et à l’écoute sur un système Linux est une pratique essentielle pour maintenir la sécurité du système, effectuer un dépannage réseau, et gérer efficacement votre infrastructure serveur. En vérifiant régulièrement quels ports sont ouverts et quels services les utilisent, vous pouvez identifier des risques de sécurité potentiels, détecter des tentatives d’accès non autorisées, et vous assurer que votre système n’est pas exposé à des vulnérabilités inutiles.
Comprendre quels services sont liés à des ports spécifiques aide également à détecter des mauvais configurations ou un comportement inattendu, comme des processus inconnus à l’écoute sur des ports sensibles. Cette connaissance réduit considérablement le risque d’une violation de sécurité en vous permettant de fermer les ports inutilisés ou de sécuriser correctement ceux qui sont actifs.
Dans cet article, nous allons expliquer comment utiliser les commandes netstat et ss pour vérifier les ports ouverts et à l’écoute sur un système Linux.
Comprendre les ports et leurs types
Avant d’utiliser les outils, il est important de comprendre les types de ports de base que vous pourriez rencontrer :
- Ports ouverts : Ports sur lesquels des applications écoutent activement les connexions entrantes.
- Ports à l’écoute : Ports liés à un service ou une application qui attend un trafic réseau.
- Protocoles courants :
- TCP : Protocole de contrôle de transmission, orienté connexion et fiable.
- UDP : Protocole de datagramme utilisateur, sans connexion, plus rapide mais moins fiable.
Vérification des ports avec netstat
Qu’est-ce que netstat ?
netstat est un outil classique en ligne de commande qui fournit des statistiques réseau et des informations sur les connexions réseau, y compris les ports ouverts et à l’écoute. Bien qu’il ait été déprécié au profit d’outils plus récents comme ss, il est encore largement utilisé sur de nombreux systèmes.
Installation de netstat
La commande netstat fait partie du paquet net-tools. Sur les distributions Linux modernes, elle peut devoir être installée manuellement.
Debian / Ubuntu
sudo apt install net-toolsCentOS / RHEL
sudo yum install net-toolsUtilisation de netstat pour vérifier les ports ouverts et à l’écoute
Pour afficher tous les ports TCP et UDP à l’écoute sur votre système, exécutez :
sudo netstat -tuln- -t : Afficher les ports TCP
- -u : Afficher les ports UDP
- -l : Afficher uniquement les ports à l’écoute
- -n : Afficher les adresses numériques au lieu de résoudre les noms d’hôtes
Comprendre la sortie
- Adresse locale : L’adresse IP et le port où le service est à l’écoute.
- Adresse étrangère : L’adresse IP distante et le port pour les connexions actives.
- État : L’état de la connexion, tel quepour les ports ouverts.
LISTEN
Filtrer des ports ou services spécifiques avec netstat
Vous pouvez filtrer la sortie pour vous concentrer sur un port ou un service spécifique. Par exemple, pour vérifier les services à l’écoute sur le port 80 (HTTP) :
sudo netstat -tuln | grep ":80"Cette commande affiche tous les services à l’écoute sur le port 80.
Vérification des ports avec ss
Qu’est-ce que ss ?
ss est un utilitaire moderne qui a remplacé netstat sur de nombreuses distributions Linux. Il est plus rapide et plus efficace, surtout sur les systèmes avec un grand nombre de connexions réseau. La commande ss peut afficher les ports ouverts, les statistiques des sockets et des informations détaillées sur le réseau.
Utilisation de ss pour vérifier les ports ouverts et à l’écoute
La syntaxe de ss est similaire à celle de netstat. Pour lister tous les ports TCP et UDP à l’écoute, exécutez :
ss -tuln- -t : Afficher les sockets TCP
- -u : Afficher les sockets UDP
- -l : Afficher les sockets à l’écoute
- -n : Afficher les adresses numériques
La sortie fournit un aperçu clair de tous les ports à l’écoute et de leurs états.
Utilisation avancée de ss
La commande ss offre des options de filtrage avancées pour une analyse plus détaillée.
Afficher uniquement les ports TCP à l’écoute
ss -tlAfficher uniquement les ports UDP à l’écoute
ss -ulAfficher les ports à l’écoute avec les ID de processus associés
Pour identifier quel processus utilise un port spécifique, exécutez :
ss -tulnpL’option -p affiche le nom du processus et le PID associés à chaque port à l’écoute, ce qui est utile pour le dépannage.
Comparer netstat et ss
Les deux outils servent des objectifs similaires, mais il existe des différences importantes :
- Performance : ss est plus rapide et plus efficace que netstat, surtout sur les systèmes chargés.
- Disponibilité : ss est inclus par défaut dans la plupart des distributions Linux modernes, tandis que netstat peut nécessiter une installation manuelle.
- Options de filtrage : ss offre des capacités de filtrage et d’affichage plus avancées.
Quand utiliser netstat
- Sur les anciens systèmes Linux.
- Si vous êtes déjà familiarisé avec la syntaxe de netstat.
Quand utiliser ss
- Lorsque de meilleures performances sont requises.
- Pour une analyse et un filtrage réseau avancés.
Autres outils pour vérifier les ports ouverts
En plus de netstat et ss, d’autres outils peuvent être utilisés pour vérifier les ports ouverts et à l’écoute.
Utilisation de lsof
lsof liste les fichiers ouverts, y compris les sockets réseau. Pour vérifier quel processus utilise le port 80 :
sudo lsof -i :80Cette commande affiche les processus liés au port 80.
Utilisation de nmap
nmap est un outil de scan réseau qui peut être utilisé pour détecter les ports ouverts sur un système :
sudo nmap -sT localhostCela scanne les ports TCP sur la machine locale.
Conclusion
Surveiller les ports ouverts et à l’écoute est une tâche critique pour les administrateurs système Linux. Des outils tels que netstat et ss facilitent l’identification des services actifs, le dépannage des problèmes réseau et l’amélioration de la sécurité des serveurs.
Bien que netstat soit encore utile sur les anciens systèmes, ss est le choix préféré pour les environnements Linux modernes en raison de sa rapidité et de son efficacité. Que vous sécurisiez un serveur Linux ou diagnostiquiez un comportement réseau, ces outils fournissent la visibilité nécessaire pour gérer efficacement les ports ouverts.
