Ports et protocoles courants
À quoi sert un port, les trois familles de ports, et le tableau des services à connaître sans hésiter.
Elouan
Série Les fondations du réseau · article 3 sur 7
L’adresse IP amène un paquet jusqu’à la bonne machine. Mais sur cette machine tournent des dizaines de programmes : un serveur web, un serveur SSH, une base de données. Le port dit à qui le paquet est destiné.
L’analogie de l’immeuble
Pense à une adresse IP comme à l’adresse d’un immeuble, et au port comme au numéro d’appartement. La lettre arrive au bon immeuble grâce à l’adresse, puis dans la bonne boîte grâce au numéro.
Techniquement, un port est un nombre sur 16 bits, donc de 0 à 65535, porté par l’en-tête TCP ou UDP (couche 4). Il y a donc des ports TCP et des ports UDP, indépendants les uns des autres : TCP/53 et UDP/53 sont deux portes différentes.
Port client, port serveur
Une connexion relie deux couples adresse IP : port.
Poste 192.168.1.20 : 51234 ──────► Serveur 93.184.216.34 : 443
(port éphémère) (port du service HTTPS)
- Le serveur écoute sur un port fixe, connu à l’avance : c’est lui qui indique le service.
- Le client utilise un port éphémère, choisi au hasard par le système pour cette connexion.
Ces quatre valeurs (IP source, port source, IP destination, port destination) plus le protocole forment ce qu’on appelle le 5-tuple : l’identifiant unique d’une connexion. C’est la base de tous les journaux de pare-feu et des données NetFlow.
Les trois familles de ports
- 0 à 1023, ports bien connus : services standards (22, 53, 80, 443…). Sous Linux, il faut des droits root pour y écouter.
- 1024 à 49151, ports enregistrés : attribués par l’IANA à des logiciels (3306 MySQL, 3389 RDP…).
- 49152 à 65535, ports dynamiques : utilisés comme ports éphémères. Windows utilise cette plage par défaut, Linux utilise souvent 32768 à 60999.
Les ports à connaître
Pas besoin de connaître 65 536 ports. Ceux-là, en revanche, doivent sortir sans réfléchir.
Les services de base
| Port | Protocole | Service | À savoir |
|---|---|---|---|
| 20 / 21 | TCP | FTP | Identifiants en clair |
| 22 | TCP | SSH, SFTP | Administration Linux, cible de force brute |
| 23 | TCP | Telnet | Tout en clair, ne devrait plus exister |
| 25 | TCP | SMTP | Échange de mails entre serveurs |
| 53 | UDP + TCP | DNS | TCP pour les grosses réponses et les transferts de zone |
| 67 / 68 | UDP | DHCP | 67 serveur, 68 client |
| 80 | TCP | HTTP | Web en clair |
| 110 / 995 | TCP | POP3 / POP3S | Relève de mails |
| 123 | UDP | NTP | L’heure : vitale pour corréler les journaux |
| 143 / 993 | TCP | IMAP / IMAPS | Relève de mails |
| 161 / 162 | UDP | SNMP | Supervision ; communauté « public » par défaut = fuite d’infos |
| 443 | TCP (+ UDP pour HTTP/3) | HTTPS | Le port le plus utilisé… et le plus détourné |
| 514 | UDP | Syslog | Envoi de journaux vers un SIEM |
| 587 / 465 | TCP | SMTP soumission / SMTPS | Envoi de mails par les clients |
Le monde Windows et Active Directory
| Port | Protocole | Service | À savoir |
|---|---|---|---|
| 88 | TCP + UDP | Kerberos | Authentification du domaine |
| 135 | TCP | RPC Endpoint Mapper | Point d’entrée des appels RPC, WMI, DCOM |
| 137-139 | UDP / TCP | NetBIOS | Historique, souvent abusé pour l’empoisonnement (LLMNR, NBT-NS) |
| 389 / 636 | TCP | LDAP / LDAPS | Annuaire AD |
| 445 | TCP | SMB | Partages de fichiers, mouvements latéraux, PsExec |
| 3268 / 3269 | TCP | Catalogue global | Recherches sur toute la forêt |
| 3389 | TCP (+ UDP) | RDP | Bureau à distance, porte d’entrée des rançongiciels |
| 5985 / 5986 | TCP | WinRM | PowerShell à distance |
Les bases de données et services exposés
| Port | Service |
|---|---|
| 1433 | Microsoft SQL Server |
| 3306 | MySQL / MariaDB |
| 5432 | PostgreSQL |
| 6379 | Redis (souvent exposé sans mot de passe) |
| 9200 | Elasticsearch (même remarque) |
| 27017 | MongoDB |
Le port ne prouve rien
Un port est une convention. Rien n’empêche un serveur SSH d’écouter sur 443 ou un malware de parler HTTP sur 8443. Quand tu analyses un flux, ne conclus jamais « c’est du HTTPS donc c’est normal ». Regarde le protocole réellement utilisé, la destination, et la régularité des échanges.
Les ports en investigation
Quelques réflexes quand on lit des journaux réseau :
- Un poste qui contacte beaucoup d’IP différentes sur le même port (445, 3389, 22) : scan ou propagation, typique d’un mouvement latéral ou d’un ver.
- Un poste qui contacte une seule IP externe à intervalle régulier sur 443 ou 80 : possible beaconing vers un serveur de commande (C2).
- Des connexions sortantes sur un port inhabituel (4444, 1337, 8080 vers Internet) : à creuser.
- Un service interne qui écoute sur
0.0.0.0et qui ne devrait pas être exposé : risque de fuite.
Pour voir les ports d’une machine :
# Windows : connexions et ports en écoute, avec le PID du processus
netstat -ano
# Linux : ports en écoute, avec le processus
ss -tulpn
L’article suivant explique la différence entre les deux protocoles qui transportent ces ports : TCP et UDP.
L'essentiel
- Un port est un numéro sur 16 bits (0 à 65535) qui désigne le programme destinataire sur une machine. IP trouve la machine, le port trouve le service.
- Ports bien connus : 0-1023. Ports enregistrés : 1024-49151. Ports dynamiques ou éphémères : 49152-65535 (plage de l'IANA, Windows l'utilise par défaut).
- Un port est TCP ou UDP : TCP/53 et UDP/53 sont deux ports différents.
- Le port côté client est éphémère et aléatoire ; c'est le port côté serveur qui indique le service.
- Un port standard ne garantit rien : n'importe quel service peut écouter sur n'importe quel port (C2 en HTTPS sur 443, SSH sur 2222…).
Idées reçues
Le DNS utilise-t-il UDP ou TCP ?
L'erreur courante. Répondre « UDP » tout court.
En réalité. Les deux, sur le port 53. UDP pour la plupart des requêtes, TCP quand la réponse est trop grosse (réponse tronquée) et pour les transferts de zone (AXFR). DNS over TLS utilise TCP/853 et DNS over HTTPS passe par 443.
Du trafic sur le port 443, c'est forcément du HTTPS légitime ?
L'erreur courante. Dire oui parce que 443 est le port HTTPS.
En réalité. Non. Un port est une convention, pas une garantie. Beaucoup de malwares et de frameworks de C2 utilisent 443 justement pour se fondre dans la masse. Il faut regarder le SNI, le certificat, la réputation de la destination, la régularité des connexions (beaconing) et le volume.
Quelle est la différence entre le port 445 et le port 139 ?
L'erreur courante. Dire que ce sont deux versions de SMB.
En réalité. Le port 445 sert SMB directement sur TCP. Le port 139 sert SMB au-dessus de NetBIOS (NetBIOS Session Service), un mode historique. Un SMB exposé sur Internet, sur l'un ou l'autre, est un risque majeur (WannaCry exploitait SMBv1).
Dans une connexion entre un poste et un serveur web, quel port verras-tu côté poste ?
L'erreur courante. Répondre 443 des deux côtés.
En réalité. Côté serveur, 443. Côté poste, un port éphémère tiré au hasard (par exemple 51234). Le couple adresse IP + port des deux côtés, avec le protocole, identifie la connexion.
RDP tourne sur quel port, et pourquoi c'est surveillé ?
L'erreur courante. Donner le port sans le contexte de risque.
En réalité. TCP/3389 (UDP/3389 aussi depuis les versions récentes). C'est l'une des premières portes d'entrée des rançongiciels : RDP exposé sur Internet, puis force brute ou identifiants volés. Côté journaux Windows, un logon RDP apparaît en 4624 avec un type de logon 10.
Tester ses connaissances
Références
- TCP/IP Illustrated, Volume 1 : The Protocols (2e éd.)Kevin R. Fall, W. Richard Stevens · Addison-Wesley
- Practical Packet Analysis (3e éd.)Chris Sanders · No Starch Press