Skip to content

Référence des ports

Port 9300 (TCP) – Transport Elasticsearch

Port par défaut du protocole de transport binaire d'Elasticsearch utilisé pour la communication nœud-à-nœud et de cluster.

tcpRegistered

En bref

Transport
tcp
Catégorie
Registered
Niveau de risque
Critique

Activement exploité et à fort impact — gardez-le hors d'Internet.

État par défaut

Les anciennes versions d'Elasticsearch exposaient le protocole de transport sur 9300 sans authentification ni TLS ; un hôte atteignant 9300 pouvait donc rejoindre ou interroger le cluster. Les versions modernes activent la sécurité et se lient de façon privée.

À quoi sert le port 9300 ?

Le port 9300 est le port par défaut du protocole de transport d'Elasticsearch, le canal binaire interne que les nœuds utilisent pour communiquer entre eux afin de former le cluster, répliquer les shards et exécuter des requêtes internes. Contrairement à l'API HTTP/REST orientée client sur 9200, le port 9300 n'est destiné qu'au trafic entre les nœuds Elasticsearch eux-mêmes. OpenSearch utilise le même port pour la communication entre ses nœuds. Les clients applicatifs ne touchent normalement jamais directement au 9300.

Quand faut-il l'ouvrir ?

Ouvrez le 9300 uniquement entre les nœuds Elasticsearch qui forment un cluster, afin qu'ils puissent se découvrir et répliquer les données entre différents hôtes. Vous le restreignez aux membres du cluster sur un réseau privé. Dans une configuration mono-nœud, il n'a pas besoin d'être joignable de l'extérieur.

Est-ce risqué de l'ouvrir ?

Exposer le 9300 est dangereux, car un port de transport joignable peut permettre à un tiers de rejoindre le cluster ou de lire ses données. Gardez-le lié de façon privée, activez le TLS et l'authentification nœud-à-nœud, et limitez-le par pare-feu aux seuls membres du cluster. Voir les notes de sécurité ci-dessous.

Comment vérifier si ce port est ouvert

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

Sécurité et risques

Attaques courantes

  • Accès transport non authentifié pour interroger ou exfiltrer les données du cluster
  • Nœuds malveillants rejoignant le cluster pour lire ou manipuler les index
  • RCE de scripting propre à certaines versions, comme l'ère Groovy de CVE-2015-1427
  • Divulgation de l'état du cluster et des documents indexés

CVE-2015-1427

Durcissement

  • Lier le transport à une interface privée (transport.host) ; ne jamais exposer 9300 à Internet
  • Activer les fonctions de sécurité (authentification et TLS nœud-à-nœud)
  • Limiter 9300 par pare-feu aux seuls membres du cluster
  • Désactiver le scripting dynamique sur les anciennes versions et corriger les failles RCE
  • Maintenir Elasticsearch à jour et auditer l'appartenance au cluster

Comment bloquer ce port

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

Commande nmap

nmap -p9300 --script banner <target>

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

Ports liés

Questions fréquentes

Quelle est la différence entre les ports Elasticsearch 9200 et 9300 ?
Le 9200 est l'API HTTP/REST utilisée par les clients, tandis que le 9300 est le protocole de transport binaire utilisé pour la communication nœud-à-nœud et de cluster. Les deux doivent être liés de façon privée, sécurisés par TLS et authentification, et limités par pare-feu.
Est-il sûr d'exposer le transport Elasticsearch sur le port 9300 ?
Non. Sans sécurité, un hôte atteignant 9300 peut rejoindre le cluster ou interroger les données, et les anciennes versions permettaient le RCE de scripting (CVE-2015-1427). Liez le transport de façon privée, activez le TLS nœud-à-nœud et limitez le port par pare-feu.

Parcourir par catégorie

Guides associés