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
sudo ss -tlnp | grep ':9200 '
nc -zv 203.0.113.10 9200
sudo nmap -p 9200 203.0.113.10Comprobar si responde sin credenciales
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.crtTambié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.