Skip to content

Référence des ports

Port 4369 (TCP) – Erlang Port Mapper Daemon (epmd)

Serveur de noms qui mappe les noms de nœuds Erlang aux ports TCP de leurs listeners de distribution.

tcpRegistered

En bref

Transport
tcp
Catégorie
Registered
Niveau de risque
Élevé

Souvent ciblé — limitez l'exposition et durcissez-le.

État par défaut

Souvent à l'écoute sur toutes les interfaces là où tourne une application Erlang/Elixir (RabbitMQ, CouchDB, ejabberd). epmd lui-même n'exige aucune authentification ; la vraie barrière est le cookie de distribution Erlang.

À quoi sert le port 4369 ?

Le port 4369 exécute epmd, le Erlang Port Mapper Daemon. C'est un petit service d'annuaire : quand un programme Erlang ou Elixir se met en cluster avec d'autres, chaque nœud enregistre son nom auprès d'epmd, qui indique aux autres nœuds quel port utiliser pour le joindre. On le trouve en exécution automatique partout où un logiciel basé sur Erlang tourne en cluster — notamment RabbitMQ, CouchDB et ejabberd.

Quand faut-il l'ouvrir ?

N'ouvrez le port 4369 qu'entre les serveurs de confiance d'un cluster Erlang/Elixir (par exemple des nœuds RabbitMQ qui doivent communiquer entre eux), et uniquement sur un réseau privé. Il ne doit jamais être ouvert vers Internet.

Est-ce risqué de l'ouvrir ?

epmd n'a aucune authentification et, combiné à un cookie Erlang faible, peut mener à une exécution de code à distance sur l'hôte. Gardez-le sur une interface privée, filtrez-le aux membres du cluster et utilisez un cookie long et aléatoire. Voir les notes de sécurité ci-dessous.

Comment vérifier si ce port est ouvert

Linux
ss -tulpn | grep :4369
nmap -p 4369 <target>
Windows
netstat -ano | findstr :4369
Test-NetConnection <host> -Port 4369
macOS
lsof -i :4369
nmap -p 4369 <target>

Comment ouvrir ce port sur votre box/routeur

Pour joindre ce service depuis l'extérieur de votre réseau, redirigez le port sur votre box :

  1. Ouvrez la page d'administration de votre box (souvent http://192.168.1.1 ou http://192.168.0.1) et connectez-vous.
  2. Trouvez la section « Redirection de ports » — parfois appelée NAT, Serveur virtuel ou NAT/PAT.
  3. Ajoutez une règle redirigeant le port externe 4369 vers l'IP locale de votre appareil, port interne 4369, protocole TCP.
  4. Enregistrez, redémarrez la box si demandé, puis testez le port depuis l'extérieur de votre réseau.

Ne redirigez que des ports que vous maîtrisez — cela expose l'appareil à Internet. Pour un accès distant d'administration, un VPN est plus sûr que la redirection de port.

Autoriser ce port dans le pare-feu

Linux (ufw)
sudo ufw allow 4369/tcp
Linux (firewalld)
sudo firewall-cmd --permanent --add-port=4369/tcp
sudo firewall-cmd --reload
Linux (iptables)
sudo iptables -A INPUT -p tcp --dport 4369 -j ACCEPT
Windows
New-NetFirewallRule -DisplayName "Allow 4369" -Direction Inbound -Protocol TCP -LocalPort 4369 -Action Allow

Sécurité et risques

Attaques courantes

  • Énumération des noms de nœuds Erlang et des ports de distribution via epmd
  • RCE Erlang distribué via un cookie faible, par défaut ou devinable
  • Pivot vers les back-ends RabbitMQ, CouchDB ou ejabberd
  • Divulgation d'informations sur les nœuds en cluster et la topologie

Durcissement

  • Ne jamais exposer le 4369 ni la plage de ports de distribution à Internet
  • Lier epmd à localhost ou à une interface privée (ERL_EPMD_ADDRESS)
  • Utiliser un cookie Erlang long et aléatoire et protéger les permissions de ~/.erlang.cookie
  • Filtrer epmd et les ports de distribution dynamiques vers les hôtes de cluster de confiance
  • Activer le TLS pour la distribution Erlang et garder le runtime BEAM à jour

Comment bloquer ce port

Linux (ufw)
sudo ufw deny 4369/tcp
Linux (firewalld)
sudo firewall-cmd --permanent --remove-port=4369/tcp
sudo firewall-cmd --reload
Linux (iptables)
sudo iptables -A INPUT -p tcp --dport 4369 -j DROP
Windows
New-NetFirewallRule -DisplayName "Block 4369" -Direction Inbound -Protocol TCP -LocalPort 4369 -Action Block

Commande nmap

nmap -p4369 --script epmd-info <target>

Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.

Ports liés

Questions fréquentes

epmd est-il lui-même authentifié ?
Non. epmd n'est qu'un annuaire nom-vers-port et répond à quiconque se connecte. La sécurité dépend entièrement du cookie de distribution Erlang et du filtrage à la fois du 4369 et des ports de distribution dynamiques.
Comment le port 4369 mène-t-il à l'exécution de code à distance ?
Une fois qu'un attaquant connaît un nom de nœud via epmd et connaît ou devine le cookie partagé, il peut rejoindre le cluster Erlang en tant que nœud et évaluer du code arbitraire sur la cible — une RCE complète sur les hôtes RabbitMQ, CouchDB ou ejabberd.

Guides associés