Saltar al contenido
TCPRiesgo alto si se expone

Puerto 9200 (Elasticsearch): para qué sirve y cómo protegerlo

El puerto 9200 TCP es el de la API REST de Elasticsearch (y OpenSearch); el 9300 se usa para la comunicación entre nodos. Antes de la versión 8 no tenía autenticación activada por defecto, y los Elasticsearch expuestos son la causa de algunas de las mayores filtraciones de datos de la historia.

Qué es el puerto 9200

Miles de bases de datos con datos personales, logs y registros médicos han aparecido indexadas en buscadores como Shodan por tener el 9200 abierto. Desde la versión 8, Elasticsearch activa TLS y autenticación al instalarse.

¿Es peligroso tener abierto el puerto 9200?

Riesgo alto: No debe estar abierto a Internet.

  • Filtración masiva de datos.
  • Borrado de índices y extorsión.

Cómo proteger el puerto 9200

  • Activa xpack.security (por defecto en la 8.x).
  • network.host en la IP interna, no 0.0.0.0.
  • Kibana (5601) detrás de un proxy con autenticación.

Comandos y configuración

Comprobar si el puerto 9200 está abierto

bash
sudo ss -tlnp | grep ':9200 '
nc -zv 203.0.113.10 9200
sudo nmap -p 9200 203.0.113.10

Comprobar si responde sin credenciales

bash
curl -s http://127.0.0.1:9200
curl -s -u elastic:'clave' https://127.0.0.1:9200/_cat/indices?v --cacert http_ca.crt

También puedes comprobarlo desde fuera de tu red con nuestro escáner de puertos online.

Herramientas para comprobarlo

Preguntas frecuentes

¿Por qué se filtran tantos datos de Elasticsearch?

Porque durante años se instalaba sin autenticación y escuchando en todas las interfaces. Cualquiera que encontrara el puerto podía leer o borrar los índices.

Puertos relacionados

Ver la lista de puertos