Introducción
En la era digital, proteger los datos en tránsito y en reposo es fundamental para cualquier organización. Elasticsearch, un popular motor de búsqueda y análisis de código abierto, no es una excepción. Se utiliza ampliamente para analizar datos de registros o eventos, búsquedas de texto completo y consultas complejas. Sin embargo, sin medidas de seguridad adecuadas, los datos confidenciales pueden ser vulnerables a la interceptación y al acceso no autorizado. Habilitar SSL/TLS ( Seguridad de la capa de transporte ) en Elasticsearch es un paso crucial para proteger sus datos.
Esta guía completa describe los pasos para configurar SSL/TLS, garantizando una mayor seguridad para su clúster de Elasticsearch.
Requisitos previos
Antes de comenzar, asegúrese de tener lo siguiente:
- Un clúster de Elasticsearch configurado y en funcionamiento.
- Acceso administrativo a los archivos de configuración de Elasticsearch.
- Un certificado SSL/TLS válido. Puede obtener un certificado de una autoridad certificadora (CA) o generar un certificado autofirmado con fines de prueba.
Paso 1: generar certificados SSL/TLS
El primer paso es generar certificados SSL/TLS para sus nodos de Elasticsearch. Si utiliza certificados autofirmados para las pruebas, la herramienta elasticsearch-certutil de Elasticsearch puede simplificar este proceso. Para entornos de producción, recomendamos utilizar certificados emitidos por una CA confiable.
Cree una autoridad de certificación (CA): este paso es fundamental ya que le permite firmar sus certificados de Elasticsearch. Elasticsearch proporciona una herramienta llamada elasticsearch-certutil para este propósito.
./bin/elasticsearch-certutil ca
Cuando se le solicite el nombre del archivo CA, presione Entrar para usar el nombre predeterminado o establecer un nombre nuevo.
Genere un certificado SSL para Elasticsearch: utilizando la CA que creó, ahora genere un certificado específico para sus nodos de Elasticsearch.
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
Reemplace elastic-stack-ca.p12 con la ruta real donde se almacena el certificado de CA. Este comando genera un archivo.p12 (PKCS#12), que encapsula el certificado de nodo, la clave privada y el certificado de CA. Es posible que necesite generar certificados específicos para cada nodo del clúster, según su configuración.
Paso 2: configurar Elasticsearch para usar el certificado SSL
Una vez que tenga sus certificados SSL/TLS, deberá configurar Elasticsearch para usarlos. Esto implica editar el archivo de configuración elasticsearch.yml en cada nodo del clúster.
Agregue las siguientes configuraciones a elasticsearch.yml en cada nodo:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12
Reemplace "elastic-certificates.p12" con el nombre de archivo del certificado que creó en el paso anterior.
Paso 3: reinicie Elasticsearch
Después de configurar todos los nodos, reinicie el clúster de Elasticsearch para aplicar los cambios. Asegúrese de que el clúster se inicie sin errores y que todos los nodos puedan comunicarse entre sí a través de SSL/TLS.
Paso 4: Verifique su configuración SSL/TLS
Para verificar que SSL/TLS esté habilitado y funcione correctamente, utilice una herramienta como curl para realizar una solicitud a la API HTTP de Elasticsearch:
curl -k https://localhost:9200
La opción -k
permite que curl se conecte sin verificación de certificado, lo cual es útil para pruebas iniciales con certificados autofirmados. Si todo está configurado correctamente, debería recibir una respuesta JSON de Elasticsearch.
Conclusión
Proteger su clúster de Elasticsearch con SSL/TLS es un paso fundamental para proteger sus datos. Si sigue los pasos descritos en esta guía, puede asegurarse de que sus datos permanezcan seguros durante el transporte, mitigando los riesgos potenciales de interceptación o manipulación de datos. Recuerde siempre utilizar certificados de CA confiables para entornos de producción para garantizar el más alto nivel de seguridad y confiabilidad.