En Swimlane, nos apasiona automatizar, pero también desarrollar y compartir software de código abierto (OSS) para ayudar a los equipos de seguridad. Nos enorgullece anunciar el lanzamiento de un nuevo proyecto de código abierto llamado elk-tls-docker para facilitar la prueba e implementación de Elastic Stack mediante la automatización de la creación de varias soluciones de software de código abierto de Elastic.
Elk-tls-docker ayuda a configurar y crear un Elastic Stack mediante certificados autofirmados o certificados Let's Encrypt (mediante SWAG). Este proyecto se creó para que puedas probar y usar las funciones integradas de Elastic Security, como detecciones, señales, casos, Elastic Endpoint y otras funciones.
Este proyecto de Docker Compose creará los siguientes contenedores Elastic basados en la versión 7.9.2:
- Búsqueda elástica
- Logstash
- Kibana
- Packetbeat
- Filebeat
Hay dos modos diferentes en los que se puede ejecutar elk-tls-docker. El primero, y el más común, es el modo de desarrollo estándar. El segundo es un entorno de pseudoproducción. La principal diferencia entre estos dos modos es que el modo de desarrollo genera certificados autofirmados, mientras que el modo de producción genera certificados mediante Let's Encrypt.
Entorno de desarrollo
De forma predeterminada, elk-tls-docker ayudará a configurar un entorno de desarrollo para probar algunas de las increíbles características de Seguridad elástica. Lo primero que debes hacer es clonar o copiar el repositorio a tu sistema local:
clon git https://github.com/swimlane/elk-tls-docker.git elk-tls-docker cd elk-tls-docker
Necesitará todo el repositorio para usar elk-tls-docker, ya que se requieren todos los archivos.
Además del repositorio, deberá asegurarse de tener instalados Docker y Docker Compose. Puede instalarlos usando apt-get y siguiendo estos pasos. estas direcciones.
También necesitarás copiar el documento proporcionado. .env-ejemplo archivo y crear uno nuevo .env archivo.
Una vez que haya configurado esto (o los valores predeterminados), ejecute el siguiente comando para generar certificados autofirmados:
docker-compose -f docker-compose.setup.yml ejecutar --rm certificados
A continuación, ejecute lo siguiente para configurar su entorno de desarrollo:
docker-compose arriba -d
Después de que docker-compose descargue todas las imágenes necesarias y construya los contenedores, puedes visitar Kibana yendo a:
Tenga en cuenta que puede tardar unos minutos, pero una vez que se inicie Kibana, se le dirigirá a la página de inicio de sesión, donde deberá ingresar el nombre de usuario y la contraseña proporcionados en su cuenta. .env archivo
¡Eso es todo, ahora tienes un entorno de desarrollo para Elastic Security!
Lets Encrypt y entorno de pseudoproducción
También puedes utilizar Vamos a encriptar certificados para un entorno de producción y acceso a Kibana, Elasticsearch u otros servicios externos, pero hay algunos requisitos más:
- Un nombre de dominio registrado
- Registros DNS configurados correctamente y apuntando a su IP de host
- Servidores de nombres que apuntan a su entorno de alojamiento
- Un registro que apunta a la IP de su sistema
- Registro CNAME creado para la configuración del subdominio
- Un sistema host Ubuntu u otro que pueda ejecutar Docker y Docker Compose
Los aspectos básicos son los mismos, pero hay pasos adicionales que deben tomarse. Afortunadamente, he documentado estos procesos en un alto nivel aquí y proporcionó un ejemplo Tutorial aquí. Los pasos básicos son:
- Configurar registros DNS para que apunten a la IP de su host
- Servidores de nombres que apuntan a su entorno de alojamiento
- Un registro que apunta a la IP de sus sistemas
- Registro CNAME creado para la configuración del subdominio
- Modificar su .env por:
- Especificando su nombre de DOMINIO
- Especificación del valor de SUBDOMINIO o SUBCARPETA
- Establecer STAGING como falso
- Ejecute los siguientes comandos en orden:
docker-compose -f docker-compose.setup.yml run --rm certs docker-compose -f docker-compose.production.yml up docker-compose down o presione ctrl + x/c docker-compose -f docker-compose.setup.yml run --rm certs # sí otra vez docker-compose -f docker-compose.production.yml up -d # sí otra vez
¡Listo! Ahora deberías poder acceder a tu instancia de Kibana externamente en https://{subdominio}.{dominio.com}
Configuración adicional
Una vez que tenga un entorno configurado y en funcionamiento, es posible que desee realizar algunas configuraciones adicionales y opcionales para aprovechar al máximo algunas de las excelentes funciones de Elastic Security:
-
Creando un nuevo superusuario: De forma predeterminada, elk-tls-docker utiliza el usuario integrado elástico y la contraseña proporcionada que configuró en su archivo .env. Si desea crear una cuenta de superusuario adicional o diferente, puede utilizar el secuencia de comandos de Python proporcionada Para ello, debe asegurarse de que _ANFITRIÓN y _CONTRASEÑA están configurados correctamente y se proporciona información adicional en el _CUERPO se establece según sus requisitos.
-
Modificar la asignación de índice: Al utilizar Elastic Security en Kibana, los informes integrados se asignan a los campos de datos de Elastic Common Schema, pero es posible que deba modificar las asignaciones de claves del índice de detecciones integrado. Con base en pruebas e investigaciones, puede modificar los campos asignados al índice mediante guión proporcionado.
-
Enviar datos de prueba a Elasticsearch: Si desea comenzar a probar inmediatamente elk-tls-docker, puede usar el guión proporcionado para enviar datos a Elasticsearch utilizando otro proyecto nuestro de código abierto llamado farsante de calcetines. Puedes transmitir tantos como quieras falso Documentos de Elastic Common Schema que desees, solo modifica el script con la cantidad de documentos a enviar así como tus credenciales para Elasticsearch.
-
Enviar datos de prueba a Filebeat: Por último, también puedes comprobar que Elastic Filebeat esté configurado correctamente enviando datos de texto (o un archivo) a través de sockets directamente a Filebeat, que serán procesados por Logstash y, finalmente, por Elasticsearch. Consulta el Se proporciona el script aquí.
¡Gracias por probar elk-tls-docker! Esperamos que te ayude a configurar y empezar a probar Elastic Stack rápidamente.
Vea la turbina Swimlane en acción
¡Programe una demostración en vivo de Swimlane Turbine con nuestros expertos! Descubra cómo nuestra plataforma de automatización de seguridad con IA puede ayudarle a resolver los problemas más complejos de toda su organización de seguridad.

