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.
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
ss -tulpn | grep :4369
nmap -p 4369 <target>netstat -ano | findstr :4369
Test-NetConnection <host> -Port 4369lsof -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 :
- Ouvrez la page d'administration de votre box (souvent http://192.168.1.1 ou http://192.168.0.1) et connectez-vous.
- Trouvez la section « Redirection de ports » — parfois appelée NAT, Serveur virtuel ou NAT/PAT.
- Ajoutez une règle redirigeant le port externe 4369 vers l'IP locale de votre appareil, port interne 4369, protocole TCP.
- 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
sudo ufw allow 4369/tcpsudo firewall-cmd --permanent --add-port=4369/tcp
sudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 4369 -j ACCEPTNew-NetFirewallRule -DisplayName "Allow 4369" -Direction Inbound -Protocol TCP -LocalPort 4369 -Action AllowSé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
sudo ufw deny 4369/tcpsudo firewall-cmd --permanent --remove-port=4369/tcp
sudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 4369 -j DROPNew-NetFirewallRule -DisplayName "Block 4369" -Direction Inbound -Protocol TCP -LocalPort 4369 -Action BlockCommande 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.