Skip to content

Référence des ports

Port 2181 (TCP) – Apache ZooKeeper

Port client par défaut d'Apache ZooKeeper, service distribué de coordination et de configuration.

tcpRegistered

En bref

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

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

État par défaut

Historiquement, ZooKeeper se lie à toutes les interfaces sans authentification et avec les commandes d'administration « four-letter words » activées ; tout client atteignant 2181 peut donc lire ou modifier l'arbre de znodes.

À quoi sert le port 2181 ?

Le port 2181 est le port client par défaut d'Apache ZooKeeper, un service de coordination distribué qui stocke des données de configuration, de nommage et de synchronisation dans un arbre de « znodes ». Des systèmes big-data et de messagerie comme Apache Kafka, HBase, Hadoop et Solr s'y connectent pour élire des leaders et suivre l'état du cluster. Les clients et applications utilisent 2181 pour lire et écrire ces métadonnées partagées.

Quand faut-il l'ouvrir ?

Vous ouvrez 2181 quand vous exploitez un ensemble ZooKeeper et que ses applications clientes (par exemple des brokers Kafka ou vos propres services) doivent l'atteindre. En général vous ne l'autorisez qu'au sein de votre réseau de cluster privé pour que les nœuds qui dépendent de ZooKeeper puissent se connecter.

Est-ce risqué de l'ouvrir ?

ZooKeeper est livré sans authentification par défaut, donc un port exposé permet à quiconque de lire ou modifier les données du cluster. Gardez-le sur un réseau privé, activez l'authentification SASL/Kerberos et les ACL sur les znodes, et restreignez l'accès par pare-feu. Voir les notes de sécurité ci-dessous.

Comment vérifier si ce port est ouvert

Linux
ss -tulpn | grep :2181
nmap -p 2181 <target>
Windows
netstat -ano | findstr :2181
Test-NetConnection <host> -Port 2181
macOS
lsof -i :2181
nmap -p 2181 <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 2181 vers l'IP locale de votre appareil, port interne 2181, 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 2181/tcp
Linux (firewalld)
sudo firewall-cmd --permanent --add-port=2181/tcp
sudo firewall-cmd --reload
Linux (iptables)
sudo iptables -A INPUT -p tcp --dport 2181 -j ACCEPT
Windows
New-NetFirewallRule -DisplayName "Allow 2181" -Direction Inbound -Protocol TCP -LocalPort 2181 -Action Allow

Sécurité et risques

Attaques courantes

  • « Four-letter words » non authentifiés (mntr, stat, conf, envi) divulguant la configuration et la topologie
  • Lecture et altération des znodes pour perturber ou détourner les clusters dépendants
  • Divulgation d'informations sur les brokers, le cluster et les métadonnées de service
  • Déni de service par suppression ou corruption des données de coordination

Durcissement

  • Lier à une interface privée et limiter 2181 par pare-feu aux hôtes de confiance
  • Activer l'authentification (SASL/Kerberos) et des ACL sur les znodes
  • Restreindre ou désactiver les commandes « four-letter words » via 4lw.commands.whitelist
  • Exiger TLS pour le trafic client et quorum
  • Exécuter sous un utilisateur non privilégié et appliquer les correctifs régulièrement

Comment bloquer ce port

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

Commande nmap

nmap -p2181 --script zookeeper-info <target>

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

Ports liés

Questions fréquentes

Les commandes « four-letter words » de ZooKeeper sont-elles un risque de sécurité ?
Oui. Des commandes comme mntr, stat, conf et envi renvoient la configuration et la topologie du cluster à tout client non authentifié. Restreignez-les avec 4lw.commands.whitelist et limitez le port 2181 par pare-feu.
ZooKeeper exige-t-il une authentification par défaut ?
Non. Par défaut, tout client atteignant 2181 peut lire et modifier les znodes. Activez l'authentification SASL/Kerberos et définissez des ACL sur les znodes pour protéger l'arbre de données.

Parcourir par catégorie

Guides associés