Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code : Skills Commencer
Sections
Linux Sécurité

Vérification des ports ouverts et à l’écoute sous Linux à l’aide de Netstat et SS

La surveillance des ports ouverts et à l’écoute sur un système Linux est l’une des pratiques les plus fondamentales pour maintenir la sécurité des serveurs, diagnostiquer les problèmes réseau et gérer votre infrastructure efficacement. Que vous exécutiez un serveur web de production, un environnement VPS Hosting, ou un Dedicated Server, comprendre exactement quels ports sont ouverts — et quels services y sont liés — vous donne la visibilité nécessaire pour prévenir les accès non autorisés, détecter les erreurs de configuration et éliminer les surfaces d’attaque inutiles.

Dans ce guide complet, nous vous montrerons comment utiliser les commandes netstat et ss pour vérifier les ports ouverts et à l’écoute sur n’importe quel système Linux, comparer leurs forces, et présenter des outils supplémentaires tels que lsof et nmap pour une analyse réseau plus approfondie.

Pourquoi la surveillance des ports ouverts est importante

Chaque port ouvert sur votre serveur représente un point d’entrée potentiel. Les services mal configurés, obsolètes ou simplement oubliés peuvent exposer votre système à l’exploitation. L’audit régulier de vos ports d’écoute vous permet de :

  • Identifier les services non autorisés s’exécutant sur des ports inattendus
  • Détecter les tentatives d’intrusion ou les processus compromis
  • Vérifier que les règles de pare-feu fonctionnent comme prévu
  • Confirmer que les applications nouvellement déployées se lient aux bonnes interfaces
  • Fermer les ports inutilisés pour réduire votre surface d’attaque

C’est particulièrement critique pour les administrateurs gérant des environnements d’hébergement web partagé ou des serveurs multi-locataires où plusieurs services s’exécutent simultanément.

Comprendre les ports et leurs types

Avant de plonger dans les outils, il est important de comprendre la terminologie que vous rencontrerez dans la sortie des commandes.

TermeDescription
Port ouvertUn port sur lequel une application écoute activement les connexions entrantes
Port d’écouteUn port lié à un service qui attend le trafic réseau
TCP (Transmission Control Protocol)Orienté connexion, fiable, utilisé par HTTP, SSH, FTP, etc.
UDP (User Datagram Protocol)Sans connexion, plus rapide mais moins fiable, utilisé par DNS, NTP, etc.

Vérification des ports avec netstat

Qu’est-ce que netstat ?

netstat (statistiques réseau) est un utilitaire classique en ligne de commande qui fournit des informations détaillées sur les connexions réseau, les tables de routage, les statistiques d’interface et les ports d’écoute. Bien qu’il ait été officiellement déprécié en faveur de ss sur les distributions modernes, il reste largement utilisé et se trouve toujours sur de nombreux systèmes hérités.

Installation de netstat

La commande netstat fait partie du paquet net-tools, qui peut ne pas être installé par défaut sur les distributions Linux modernes.

Debian / Ubuntu :

sudo apt install net-tools

CentOS / RHEL / AlmaLinux / Rocky Linux :

sudo yum install net-tools

Utilisation de netstat pour vérifier les ports ouverts et d’écoute

Pour afficher tous les ports TCP et UDP d’écoute sur votre système, exécutez la commande suivante :

sudo netstat -tuln

Détail des drapeaux :

DrapeauDescription
-tAfficher les ports TCP
-uAfficher les ports UDP
-lAfficher uniquement les ports d’écoute
-nAfficher les adresses numériques au lieu de résoudre les noms d’hôtes

Exemple de sortie

Proto  Recv-Q  Send-Q  Local Address     Foreign Address   State
tcp         0       0  0.0.0.0:22        0.0.0.0:*         LISTEN
tcp         0       0  0.0.0.0:80        0.0.0.0:*         LISTEN
tcp6        0       0  :::443            :::*              LISTEN
udp         0       0  0.0.0.0:53        0.0.0.0:*

Comprendre les colonnes de sortie

  • Adresse locale — L’adresse IP et le numéro de port sur lesquels le service est à l’écoute. 0.0.0.0 signifie que le service est à l’écoute sur toutes les interfaces disponibles.
  • Adresse distante — L’IP distante et le port pour les connexions actives. Un astérisque (*) signifie qu’aucune connexion n’est encore établie.
  • État — L’état de la connexion. LISTEN indique que le port est ouvert et en attente de connexions entrantes.

Filtrage de ports spécifiques avec netstat

Vous pouvez rediriger la sortie via grep pour isoler un port ou un service spécifique. Par exemple, pour vérifier si quelque chose est à l’écoute sur le port 80 (HTTP) :

sudo netstat -tuln | grep ":80"

Pour vérifier le port 443 (HTTPS), qui est essentiel pour les serveurs avec des certificats SSL installés :

sudo netstat -tuln | grep ":443"

Pour afficher également le nom du processus et le PID responsables de chaque connexion, ajoutez le drapeau -p :

sudo netstat -tulnp

Vérification des ports avec ss

Qu’est-ce que ss?

ss (statistiques de socket) est le remplaçant moderne de netstat. Il est plus rapide, plus efficace et fournit une sortie plus riche — particulièrement sur les systèmes avec un grand nombre de connexions simultanées. La commande ss est incluse par défaut sur pratiquement toutes les distributions Linux modernes et ne nécessite aucune installation supplémentaire.

Utilisation de ss pour vérifier les ports ouverts et à l’écoute

La syntaxe de ss reflète étroitement celle de netstat, ce qui rend la transition simple:

ss -tuln

Détail des drapeaux:

DrapeauDescription
-tAfficher les sockets TCP
-uAfficher les sockets UDP
-lAfficher uniquement les sockets à l’écoute
-nAfficher les adresses numériques

Exemple de sortie

Netid  State   Recv-Q  Send-Q  Local Address:Port   Peer Address:Port
tcp    LISTEN  0       128     0.0.0.0:22            0.0.0.0:*
tcp    LISTEN  0       511     0.0.0.0:80            0.0.0.0:*
tcp    LISTEN  0       511        [::]:443             [::]:*
udp    UNCONN  0       0       0.0.0.0:53            0.0.0.0:*

Utilisation avancée de ss

La commande ss offre une gamme d’options de filtrage et d’affichage avancées qui vont bien au-delà de ce que netstat peut fournir.

Afficher uniquement les ports TCP en écoute

ss -tl

Afficher uniquement les ports UDP en écoute

ss -ul

Afficher les noms de processus et les PID

Pour identifier exactement quel processus utilise un port spécifique, utilisez le drapeau -p :

ss -tulnp

C’est l’une des commandes les plus utiles pour le dépannage — elle affiche le nom du processus et le PID à côté de chaque socket en écoute, ce qui rend immédiatement clair quelle application possède quel port.

Exemple de sortie avec le drapeau -p

Netid  State   Local Address:Port   Process
tcp    LISTEN  0.0.0.0:80           users:(("nginx",pid=1234,fd=6))
tcp    LISTEN  0.0.0.0:22           users:(("sshd",pid=987,fd=3))
tcp    LISTEN  0.0.0.0:3306         users:(("mysqld",pid=2345,fd=21))

Filtrer par un port spécifique

Pour vérifier quel processus écoute sur le port 8080 :

ss -tulnp | grep ":8080"

Afficher toutes les connexions TCP établies

ss -tn state established

Afficher les statistiques récapitulatives

ss -s

Cela fournit un résumé rapide des sockets totaux par type et état — utile pour détecter des volumes de connexion inhabituels.

netstat vs. ss : Comparaison directe

Fonctionnalité`netstat``ss`
PerformancePlus lent sur les systèmes chargésSignificativement plus rapide
Disponibilité par défautNécessite le paquet net-toolsPré-installé sur les distributions modernes
Options de filtrageBasique (grep requis)Filtres avancés intégrés
Informations sur les processusDisponible avec -pDisponible avec -p
Détail de la sortieStandardInformations de socket plus détaillées
Recommandé pourSystèmes hérités, familiaritéEnvironnements Linux modernes

Quand utiliser netstat

  • Sur les anciens systèmes Linux où ss n’est pas disponible
  • Lors du travail avec des scripts ou de la documentation écrite autour de la syntaxe netstat
  • Pour des vérifications rapides sur les systèmes où net-tools est déjà installé

Quand utiliser ss

  • Sur toute distribution Linux moderne (Ubuntu 20.04+, CentOS 8+, Debian 10+, etc.)
  • Quand vous avez besoin d’une sortie plus rapide sur les serveurs à fort trafic
  • Pour le filtrage avancé et l’analyse détaillée des sockets

Outils supplémentaires pour l’audit des ports

Au-delà de netstat et ss, plusieurs autres utilitaires sont précieux pour un audit de port approfondi.

Utilisation de lsof

lsof (list open files) traite les sockets réseau comme des fichiers, ce qui en fait un autre moyen puissant d’identifier quel processus utilise un port donné.

Pour vérifier quel processus est lié au port 80 :

sudo lsof -i :80

Pour vérifier tous les ports en écoute :

sudo lsof -i -P -n | grep LISTEN

Exemple de sortie :

COMMAND   PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
nginx    1234     root   6u  IPv4   23456      0t0  TCP *:80 (LISTEN)
sshd      987     root   3u  IPv4   12345      0t0  TCP *:22 (LISTEN)

Utilisation de nmap

nmap est un puissant outil de scan réseau qui peut détecter les ports ouverts localement et sur les hôtes distants. Il est particulièrement utile pour vérifier votre configuration de pare-feu d’une perspective externe.

Installez nmap s’il n’est pas déjà présent :

sudo apt install nmap       # Debian/Ubuntu
sudo yum install nmap       # CentOS/RHEL

Scannez tous les ports TCP sur la machine locale :

sudo nmap -sT localhost

Scannez les ports ouverts sur une adresse IP spécifique :

sudo nmap -sV 192.168.1.100

Le flag -sV tente également de détecter la version du service s’exécutant sur chaque port ouvert, ce qui est inestimable pour identifier les logiciels obsolètes ou vulnérables.

> Note de sécurité : Exécutez les scans nmap uniquement sur les systèmes que vous possédez ou pour lesquels vous avez une permission explicite.

Flux de travail de sécurité pratique : audit des ports de votre serveur

Voici un flux de travail étape par étape recommandé pour auditer les ports ouverts sur un serveur Linux :

  1. Lister tous les ports en écoute avec les informations de processus :
   ss -tulnp
  1. Vérifier chaque port par rapport aux services attendus. Si vous voyez un processus inconnu sur un port inattendu, enquêtez immédiatement.
  1. Vérifier les services en écoute sur toutes les interfaces (0.0.0.0) qui devraient être accessibles uniquement localement. Par exemple, un serveur de base de données (port 3306) devrait généralement se lier à 127.0.0.1, pas à 0.0.0.0.
  1. Vérifier vos règles de pare-feu avec iptables -L -n ou ufw status verbose pour vous assurer que seuls les ports prévus sont exposés en externe.
  1. Utiliser nmap depuis un hôte externe pour confirmer quels ports sont réellement accessibles depuis Internet, car les règles de pare-feu peuvent différer de ce que ss rapporte localement.
  1. Fermer ou restreindre les ports qui ne sont pas nécessaires en utilisant votre pare-feu ou en arrêtant le service associé.

Référence rapide : Commandes les plus utiles

# List all listening TCP and UDP ports (modern, recommended)
ss -tuln

# List listening ports with process names and PIDs
ss -tulnp

# List all listening ports using netstat (legacy)
sudo netstat -tulnp

# Check which process is using port 443
ss -tulnp | grep ":443"

# Check open ports with lsof
sudo lsof -i -P -n | grep LISTEN

# Scan local machine for open ports with nmap
sudo nmap -sT localhost

Conclusion

L’audit régulier des ports ouverts et à l’écoute est une partie non négociable de l’administration des serveurs Linux. Des outils comme netstat et ss vous donnent une visibilité immédiate et détaillée sur les services en cours d’exécution, les ports qu’ils occupent et si quelque chose d’inattendu est présent sur votre système.

Pour les environnements Linux modernes, ss est le choix évident — il est plus rapide, plus capable et disponible par défaut. Cependant, netstat reste un secours fiable pour les systèmes hérités ou les administrateurs déjà à l’aise avec sa syntaxe. Compléter ces outils avec lsof et nmap fournit une image complète de l’exposition réseau de votre serveur.

Que vous durcissiez un déploiement VPS Hosting, gériez une flotte de Dedicated Servers ou sécurisiez un environnement Email Hosting, maîtriser l’audit des ports est une compétence essentielle qui contribue directement à la sécurité et à la fiabilité de votre infrastructure.