En ce moment même, votre ordinateur jongle avec des dizaines de connexions réseau. Votre navigateur charge cette page, votre client de messagerie vérifie les nouveaux messages, une application de chat attend les notifications entrantes, et des mises à jour logicielles se téléchargent en arrière-plan. Comment votre machine garde-t-elle tout ce trafic organisé sans tout mélanger? La réponse est les ports.
Un port est un point de terminaison numéroté qui dirige le trafic réseau vers la bonne application. Chaque fois que des données arrivent sur votre ordinateur, le numéro de port indique au système d'exploitation exactement où les livrer. Comprendre les ports est l'un de ces concepts fondamentaux qui fait que tout le reste en réseau et en cybersécurité prend sens. Ce guide explique ce que sont les ports, comment ils fonctionnent, et pourquoi ils sont importants pour la sécurité.
Qu'est-ce qu'un port réseau?
Imaginez un grand immeuble de bureaux avec une seule adresse postale. Le courrier arrive à cette adresse toute la journée, mais il doit atteindre différentes entreprises à différents étages. Le numéro de bureau sur chaque enveloppe indique au bureau de tri exactement où acheminer chaque livraison. Les ports réseau fonctionnent de la même manière.
L'adresse IP de votre ordinateur est comme l'adresse postale de l'immeuble. Elle achemine le trafic vers la bonne machine. Le numéro de port est comme le numéro de bureau. Il achemine le trafic vers la bonne application fonctionnant sur cette machine.
Techniquement, un port est un nombre de 16 bits, ce qui signifie qu'il peut aller de 0 à 65 535. Lorsque vous visitez un site web, votre navigateur se connecte au port 443 sur le serveur web. Lorsque vous envoyez un e-mail, votre client de messagerie se connecte au port 587 ou 465. Chaque application écoute sur son port attribué, prête à gérer les données entrantes.
La combinaison d'une adresse IP et d'un numéro de port s'appelle un socket. Vous pourriez voir cela écrit comme 192.168.1.100:443, où le nombre après les deux-points est le port. Cette notation identifie de manière unique un service spécifique sur une machine spécifique, permettant des milliards de connexions simultanées sur Internet sans aucune confusion sur la destination des données.
Comment les ports fonctionnent réellement
Les ports existent au niveau de la couche Transport de la pile réseau, où ils travaillent aux côtés des protocoles TCP et UDP pour gérer les connexions. Voici ce qui se passe lorsque vous chargez une page web:
- Vous entrez une URL et appuyez sur Entrée
- Votre navigateur doit se connecter au port 443 (le port HTTPS standard) sur le serveur de destination
- Votre système d'exploitation choisit un port de numéro élevé aléatoire sur votre machine, disons 52847, à utiliser comme port source pour cette connexion spécifique
- Une connexion se forme entre votre port 52847 et le port 443 du serveur
- Les données circulent dans les deux sens jusqu'à ce que vous fermiez l'onglet ou naviguiez ailleurs
Ce port source que votre système a choisi (52847 dans cet exemple) s'appelle un port éphémère. "Éphémère" signifie de courte durée. Votre système le choisit temporairement pour une connexion et le libère ensuite.
Chaque connexion active a quatre informations: IP source, port source, IP de destination et port de destination. Cette combinaison (parfois appelée 4-tuple) doit être unique. C'est ainsi que votre ordinateur peut avoir 50 onglets de navigateur ouverts sur le même site web sans mélanger les réponses.
TCP vs UDP
Vous entendrez souvent les ports décrits comme "ports TCP" ou "ports UDP". Ceux-ci font référence au protocole de transport utilisé.
TCP (Transmission Control Protocol) est fiable et ordonné. Avant tout transfert de données, TCP effectue une poignée de main en trois étapes: votre ordinateur envoie un paquet SYN, le serveur répond avec SYN-ACK, et votre ordinateur répond avec ACK. Cette configuration garantit que les deux côtés sont prêts. Si des paquets sont perdus, TCP les renvoie automatiquement. La navigation web, les e-mails et les transferts de fichiers utilisent généralement TCP car la précision compte plus que la vitesse.
UDP (User Datagram Protocol) saute la poignée de main et envoie simplement des données. Les paquets peuvent arriver dans le désordre ou pas du tout, mais ce compromis rend UDP plus rapide. Les appels vidéo, les jeux en ligne et les recherches DNS utilisent souvent UDP car un paquet légèrement perdu compte moins que le décalage.
TCP et UDP maintiennent des espaces de ports séparés. Un serveur peut écouter sur le port TCP 53 et le port UDP 53 simultanément, et ceux-ci sont traités comme des services distincts. Le DNS utilise en fait les deux: UDP pour les recherches rapides et TCP pour les transferts de zone plus importants.
Les trois plages de ports
L'Internet Assigned Numbers Authority (IANA) organise les 65 536 ports disponibles en trois catégories. Connaître ces plages vous aide à reconnaître ce que vous regardez lors de l'analyse réseau.
Ports bien connus: 0 à 1023
Ces ports sont réservés aux services communs et établis. Considérez-les comme des biens immobiliers de premier choix qui nécessitent une permission spéciale pour être utilisés. Sur Linux et macOS, se lier à un port inférieur à 1024 nécessite des privilèges root. Sur Windows, un accès administratif est également nécessaire.
Cette restriction existe pour la sécurité. Sans elle, n'importe quel programme pourrait prétendre être votre serveur web ou votre service de messagerie. En limitant l'accès, le système d'exploitation empêche les applications non autorisées d'usurper l'identité de services critiques.
Exemples: Port 22 (SSH), Port 25 (SMTP e-mail), Port 53 (DNS), Port 80 (HTTP), Port 443 (HTTPS).
Ports enregistrés: 1024 à 49151
Les éditeurs de logiciels peuvent enregistrer ces ports auprès de l'IANA pour leurs applications. L'enregistrement aide à éviter les conflits lorsque plusieurs programmes veulent le même port.
Exemples: Port 3306 (MySQL), Port 5432 (PostgreSQL), Port 3389 (Bureau à distance), Port 8080 (alternative courante pour les serveurs web).
Ports dynamiques/éphémères: 49152 à 65535
Ces ports sont pour une utilisation temporaire. Lorsque votre navigateur établit une connexion sortante, le système d'exploitation prend un port disponible dans cette plage. Une fois la connexion fermée, le port retourne dans le pool.
Différents systèmes gèrent les ports éphémères légèrement différemment. Linux utilise par défaut la plage 32768-60999 plutôt que 49152-65535 spécifiée par l'IANA. Vous pouvez vérifier la plage de votre système sur Linux avec: cat /proc/sys/net/ipv4/ip_local_port_range
Ports courants à mémoriser
Une fois que vous commencez à analyser le trafic réseau ou à tester des systèmes, vous reconnaîtrez les numéros de port instinctivement. En attendant, ce tableau couvre ceux que vous rencontrerez le plus souvent.
| Port | Protocole | Service | Notes |
|---|---|---|---|
| 20, 21 | TCP | FTP | Transfert de fichiers; 21 pour les commandes, 20 pour les données |
| 22 | TCP | SSH | Accès distant sécurisé; a remplacé Telnet |
| 23 | TCP | Telnet | Accès distant non crypté; évitez d'utiliser |
| 25 | TCP | SMTP | Envoi d'e-mails entre serveurs de messagerie |
| 53 | TCP/UDP | DNS | Traduit les noms de domaine en adresses IP |
| 80 | TCP | HTTP | Trafic web non crypté |
| 110 | TCP | POP3 | Récupération d'e-mails; télécharge vers le client |
| 143 | TCP | IMAP | Récupération d'e-mails; synchronise avec le serveur |
| 443 | TCP | HTTPS | Trafic web crypté; la plupart des sites l'utilisent |
| 445 | TCP | SMB | Partage de fichiers Windows; historiquement exploité |
| 3306 | TCP | MySQL | Serveur de base de données populaire |
| 3389 | TCP | RDP | Bureau à distance Windows |
| 5432 | TCP | PostgreSQL | Serveur de base de données populaire |
| 8080 | TCP | HTTP Alt | Serveurs de développement, proxies |
Quelques-uns de ces ports méritent une attention particulière. Le port 23 (Telnet) envoie tout en texte clair, y compris les mots de passe. Il ne devrait jamais être exposé à Internet. Le port 445 (SMB) était le vecteur d'attaque pour le ransomware WannaCry en 2017, qui a exploité une vulnérabilité appelée EternalBlue pour infecter plus de 200 000 ordinateurs dans 150 pays. Le port 3389 (RDP) fait face à des attaques par force brute constantes car il fournit un accès direct aux systèmes Windows.
Pour une pratique pratique du scan de ports, notre aide-mémoire Nmap présente les commandes les plus utiles.
Pourquoi les ports sont importants pour la sécurité
Chaque port ouvert est une porte dans votre système. Plus vous laissez de portes déverrouillées, plus les attaquants ont d'opportunités d'entrer.
Surface d'attaque
Lorsque les professionnels de la sécurité parlent de "surface d'attaque", ils désignent tous les points d'entrée potentiels qu'un attaquant pourrait cibler. Chaque port à l'écoute ajoute à cette surface. Un serveur web qui n'a besoin que de servir HTTPS ne devrait exposer que le port 443. Si la même machine a SSH sur le port 22, MySQL sur le port 3306 et FTP sur le port 21, tous accessibles depuis Internet, la surface d'attaque a considérablement augmenté.
Reconnaissance
Avant d'attaquer un système, les adversaires scannent généralement les ports ouverts pour comprendre quels services sont en cours d'exécution. Trouver le port 22 ouvert leur indique que SSH est disponible. Un port 3306 ouvert révèle une base de données MySQL. Chaque information guide leurs prochaines étapes. En tant que défenseur, savoir exactement quels ports vos systèmes exposent évite les surprises.
Pare-feu
Les pare-feu filtrent le trafic en fonction des numéros de port (entre autres critères). Un pare-feu bien configuré bloque tout par défaut et n'autorise le trafic que vers des ports spécifiques requis. Cette approche détecte automatiquement les erreurs de configuration car rien ne passe à moins que vous ne le permettiez intentionnellement.
Analyse de trafic
Lors de l'enquête sur une activité suspecte, les numéros de port aident à identifier quels protocoles sont utilisés. Vous voyez du trafic sur le port 443? Probablement HTTPS. Trafic inattendu sur le port 4444? C'est un défaut courant pour les reverse shells. Cette reconnaissance de motifs devient une seconde nature avec la pratique. Notre laboratoire Packet Pursuit offre une expérience pratique de l'analyse des captures réseau.
Pour une plongée plus profonde dans ces concepts, le cours de test de pénétration réseau couvre la reconnaissance à travers l'exploitation.
Fondamentaux du scan de ports
Le scan de ports est le processus de sondage d'un système pour découvrir quels ports sont ouverts. Les professionnels de la sécurité l'utilisent pour évaluer les vulnérabilités. Les attaquants utilisent les mêmes techniques pour trouver des points d'entrée. Comprendre les deux perspectives vous rend meilleur en défense.
Techniques de scan
Scan TCP Connect: L'approche simple. Le scanner tente une poignée de main TCP complète avec chaque port. Si la poignée de main réussit, le port est ouvert. Cette méthode fonctionne de manière fiable mais génère des entrées de journal évidentes car chaque sonde réussie crée une vraie connexion.
Scan SYN: Parfois appelé scan "à moitié ouvert" ou "furtif". Le scanner envoie un paquet SYN et attend une réponse. Si la cible répond avec SYN-ACK, le port est ouvert. Au lieu de terminer la poignée de main, le scanner envoie RST pour interrompre immédiatement la connexion. Cette approche est plus rapide et crée moins de journaux, bien que l'appeler "furtif" soit optimiste puisque les systèmes de détection d'intrusion modernes l'attrapent facilement.
Scan UDP: Plus difficile car UDP n'a pas de poignée de main à observer. Le scanner envoie un paquet UDP et surveille les réponses. Un message ICMP "port inaccessible" indique que le port est fermé. Le silence pourrait signifier ouvert, ou cela pourrait signifier qu'un pare-feu abandonne les paquets. Les scans UDP nécessitent de la patience et produisent des résultats moins certains.
Comprendre les états des ports
Les résultats de scan rapportent généralement l'un de ces états:
- Ouvert: Un service écoute activement et accepte les connexions
- Fermé: Le port est accessible mais rien n'écoute
- Filtré: Un pare-feu bloque les sondes, rendant impossible la détermination de l'état du port
Nmap est l'outil standard de scan de ports depuis plus de deux décennies. Notre cours Nmap Mastery couvre les techniques de la découverte de base au scripting avancé.
Vérifier les ports ouverts sur votre propre système
Avant de scanner les autres, apprenez à examiner votre propre machine. Ces commandes montrent quels ports écoutent localement.
Linux
La commande ss a remplacé l'ancien netstat sur les systèmes modernes:
ss -tuln
Cela montre les ports TCP (-t) et UDP (-u) à l'écoute (-l) avec des adresses numériques (-n). Pour voir quel processus possède chaque port, ajoutez -p et exécutez en tant que root:
sudo ss -tulnp
Windows
Ouvrez l'invite de commande ou PowerShell:
netstat -an | findstr LISTENING
Pour voir quel programme a ouvert chaque port, exécutez en tant qu'administrateur:
netstat -anb
macOS
La commande lsof montre les connexions réseau ouvertes:
sudo lsof -iTCP -sTCP:LISTEN -P -n
Ou utilisez le netstat traditionnel:
netstat -an | grep LISTEN
Scanner les systèmes distants
Pour vérifier les ports sur une autre machine (avec une autorisation appropriée), Nmap est l'outil standard:
nmap -sT -p 1-1000 192.168.1.1
Cela effectue un scan TCP connect sur les ports 1 à 1000. Scanner sans permission est illégal dans la plupart des juridictions et peut entraîner de graves conséquences. Scannez uniquement les systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester.
Meilleures pratiques de sécurité des ports
Ces directives vous aideront à maintenir une posture de sécurité réseau solide, que vous gériez un laboratoire à domicile ou une infrastructure de production.
Fermer les ports inutiles
Auditez régulièrement vos systèmes et désactivez les services dont vous n'avez pas besoin. Chaque port ouvert nécessite une attention continue pour les correctifs et la surveillance. Moins de ports signifie moins de maintenance et moins de risques.
Pare-feu par défaut refuser
Configurez votre pare-feu pour bloquer toutes les connexions entrantes par défaut. Ensuite, autorisez explicitement uniquement les ports requis pour vos services. Cette approche détecte automatiquement les erreurs de configuration car rien ne passe à moins que vous ne le permettiez intentionnellement.
Garder les services à jour
Les vulnérabilités dans les services réseau fournissent des points d'entrée même lorsque les ports sont intentionnellement ouverts. Abonnez-vous aux avis de sécurité pour les logiciels que vous exécutez et appliquez les mises à jour rapidement. L'exploit EternalBlue qui a permis WannaCry avait un correctif disponible deux mois avant l'attaque; de nombreuses victimes n'avaient simplement pas mis à jour.
Préférer les protocoles cryptés
Choisissez HTTPS plutôt que HTTP, SSH plutôt que Telnet, SFTP plutôt que FTP. Le chiffrement protège les données en transit et fournit souvent de meilleurs mécanismes d'authentification. Il y a rarement une bonne raison d'utiliser des protocoles non cryptés pour quelque chose de sensible.
Surveiller et enregistrer
Suivez les connexions à vos systèmes. Une activité inhabituelle sur les ports, comme un pic soudain de trafic vers un port inattendu, pourrait indiquer une reconnaissance ou une compromission. Même un enregistrement de base aide lors de l'enquête sur les incidents.
Limites légales et éthiques
Le scan de ports sans autorisation est illégal dans la plupart des pays. Même si vos intentions sont purement éducatives, scanner des systèmes que vous ne possédez pas peut entraîner des accusations criminelles, une responsabilité civile ou la résiliation de votre service Internet.
Options sûres pour pratiquer ces compétences:
- Vos propres ordinateurs et équipements de réseau domestique
- Machines virtuelles que vous contrôlez
- Environnements de pratique conçus à cet effet comme les laboratoires HackerDNA
- Programmes de bug bounty où vous avez lu et accepté la portée
- Tests de pénétration professionnels avec autorisation signée
Le cours de hacking éthique couvre en détail les procédures d'autorisation et les cadres juridiques.
Conclusion
Les ports sont le système d'adressage qui permet à plusieurs services réseau de partager une seule connexion. Chaque requête web, message électronique et transfert de fichier repose sur les ports pour atteindre la bonne application. Pour le travail de sécurité, comprendre les ports signifie comprendre à la fois comment les systèmes communiquent et où les attaquants cherchent des opportunités.
Les concepts abordés ici, les numéros de port, les plages, les techniques de scan et les pratiques de sécurité, reviendront constamment au fur et à mesure que vous progresserez. Commencez par examiner vos propres systèmes avec les commandes de ce guide. Remarquez quels ports sont ouverts et recherchez ceux que vous ne reconnaissez pas. De là, explorez la pratique structurée à travers des défis pratiques qui mettent ces concepts en action.
Les ports ne sont que le début, mais ils sont une fondation qui fait que tout le reste a du sens.