
Configure una pila de Elastic 100 % en contenedores en minutos, protegida con TLS, con Elasticsearch, Kibana, Fleet y motores de detección preconfigurados, habilitados y listos para usar.
Si está interesado en obtener más detalles sobre este proyecto y qué hacer después de ejecutarlo, consulte nuestra Artículo de blog En el sitio web del Laboratorio de Seguridad Elastic.
Este no es un proyecto creado, patrocinado ni mantenido por Elastic. Elastic no es responsable del diseño o implementación de este proyecto.
Git cloneeste almacén- Requisitos previos de instalación (ver más abajo)
- cambiar a
elastic-container/Carpeta - Cambiar contraseña predeterminada
changemeadentro.envarchivo (no cambiarelasticnombre de usuario que es Usuarios integrados necesarios) - Habilitación por lotes de reglas de detección prediseñadas en el sistema operativo
.envarchivo (no es necesario, consulte el uso a continuación) - hacer
elastic-container.shLos scripts de Shell se pueden ejecutar a través dechmod +x elastic-container.sh - implementar
elastic-container.shscript de shell con parámetro de inicio./elastic-container start - Esperar notificación tu navegas
(Es posible que reciba una advertencia del navegador debido al certificado autofirmado. Puede escribirthisisnotsafeo haga clic en Continuar, lo que le llevará a la pantalla de inicio de sesión de Elastic)
Sistema operativo:
requisitos previos:
Puede utilizar el enlace de arriba, el comando de instalación del paquete de Linux a continuación o salir adelante por sí mismo Si estás usando MacOS
Sistema Apple:
brew install jq git curl docker-compose
brew install --cask dockerDespués de instalar Docker, debemos proporcionarle acceso privilegiado para que funcione correctamente. Ejecute el siguiente comando para iniciar la aplicación Docker y siga los siguientes pasos.
open /Applications/Docker.app- Confirma que quieres abrir la aplicación
- Seleccione Aceptar cuando se le solicite proporcionar acceso privilegiado a Docker.
- Ingresa tu contraseña
- Cerrar o minimizar la aplicación Docker
Ubuntu:
por favor, siga Instrucciones de instalación de Docker.De particular interés es que usted debe Instalar docker-compose-pluginque es diferente de docker-compose.
apt-get install jq git curlCentOS/Fedora:
por favor, siga Instrucciones de instalación de Docker.De particular interés es que usted debe Instalar docker-compose-pluginque es diferente de docker-compose.
dnf install jq git curlOtras distribuciones de Linux:
por favor, siga Instrucciones de instalación de Docker.De particular interés es que usted debe Instalar docker-compose-pluginque es diferente de docker-compose.
Los usuarios de Arch Linux deben instalar inetutils y cambiar el script de shell de hostname -I llegar hostname -i.
Windows 10/11 (Ubuntu 20.04) con WSL 2:
Asegúrese de estar utilizando WSL versión 2.Puede verificar la versión usando el siguiente comando wsl -l -v En PowerShell.Si la versión es incorrecta, puedes cambiarla de las siguientes maneras wsl --set-version Ubuntu-20.04 2
apt-get update
apt-get install jq git curlpor favor, siga Instrucciones de instalación de Docker.De particular interés es que usted debe Instalar docker-compose-pluginque es diferente de docker-compose.
Después de instalar el paquete Docker, ejecute sudo service docker start Iniciarlo.
Esto utiliza créditos predeterminados. elastic:changeme Puramente para investigación de seguridad en pilas de Elastic locales. Cambiar contraseña en .env documento.no cambies elastic nombre de usuario que es Usuarios integrados necesarios
Esto no debe exponerse en Internet ni utilizarse en entornos de producción.
Habilitar reglas de detección prediseñadas
Si desea habilitar las reglas de detección prediseñadas de Elastic en lotes por sistema operativo, puede cambiar el valor para los sistemas operativos seleccionados en el lanzamiento. .env Los archivos van de 0 a 1.
# Bulk Enable Detection Rules by OS
LinuxDR=0
WindowsDR=1
MacOSDR=0comenzar
si no lo has hecho Contraseña predeterminada cambiada adentro .env archivo, el script se cerrará.
Comienza por:
- Crea un archivo llamado
elastic - Descargue las imágenes de Elasticsearch, Kibana y Elastic-Agent Docker definidas en el script
- Inicie Elasticsearch, Kibana y Elastic-Agent configurados como servidor de cola, que contiene todas las configuraciones necesarias para la cola y el motor de detección.
$ ./elastic-container.sh start
...
⠿ Container elasticsearch-security-setup Healthy 7.3s
⠿ Container elasticsearch Healthy 39.3s
⠿ Container kibana Healthy 59.3s
⠿ Container elastic-agent Started 59.7s
Attempting to enable the Detection Engine and Prebuilt-Detection Rules
Kibana is up. Proceeding
Detection engine enabled. Installing prepackaged rules.
Prepackaged rules installed!
Waiting 40 seconds for Fleet Server setup
Populating Fleet Settings
READY SET GO!
Browse to
Username: elastic
Passphrase: not-the-default!Después de unos minutos, cuando se le solicite, Navegar e inicie sesión con sus credenciales configuradas.
destruir
Para destruir la voluntad:
- Detener los contenedores Elasticsearch y Kibana
- Eliminar contenedores Elasticsearch y Kibana
- borrar
elasticred de contenedores - Eliminar un volumen existente
$ ./elastic-container.sh destroy
fleet-server
kibana
elasticsearch
elasticdetener
Detenerse:
- Detenga los contenedores de Elasticsearch y Kibana sin eliminarlos
- (4/4/2023) Estamos rastreando una pregunta Si no corres
stopcomando y luego reinicia el host, el servidor de la flota no puede mantener su estado y falla.Por favor, correstopAntes de reiniciar el host ejecutando la pila
$ ./elastic-container.sh stop
fleet-server
kibana
elasticsearch
elasticReiniciando
El reinicio:
- Reiniciar todos los contenedores
$ ./elastic-container.sh restart
elasticsearch
kibana
fleet-serverestado
El estado de la solicitud será:
- Devuelve el estado actual del contenedor en ejecución.
$ ./elastic-container.sh status
NAMES: STATUS
fleet-server: Up 6 minutes
kibana: Up 6 minutes
elasticsearch: Up 6 minutesliquidación
La liquidación será:
- Borrar todos los documentos en el índice de registros y métricas
$ ./elastic-container.sh clear
Successfully cleared logs data stream
Successfully cleared metrics data streamentrega
La imagen del contenedor provisional:
- Descarga todas las imágenes del contenedor al sistema nativo pero no las inicia.
$ ./elastic-container.sh stage
8.6.0: Pulling from elasticsearch/elasticsearch
e7bd69ff4774: Pull complete
d0a0f12aaf30: Pull complete
...existir .envlas variables han sido definidas, las siguientes son las variables que se pueden cambiar. Debe cambiar la contraseña predeterminada.
ELASTIC_PASSWORD="changeme"
KIBANA_PASSWORD="changeme"
STACK_VERSION="8.10.2"STACK_VERSION="8.10.2"
Si desea cambiar el valor predeterminado, simplemente reemplace el contenido apropiado en la declaración de la variable.
También puede cambiar estas versiones si desea utilizar una versión diferente del Elastic Stack. Los valores opcionales están disponibles en Docker Hub de Elastic:







