Saltar al contenido

Establecimiento de Elasticsearch para el Elastic SIEM

Lo primero es lo primero, necesitas tener la base instalada de las versiones correctas de elasticsearch y kibana. Esto es mucho más fácil de lo que se puede imaginar inicialmente y simplemente significa configurar la base de datos y la interfaz gráfica del portal web que se superpone a la base de datos para que usted pueda importar datos y navegar por esos datos respectivamente. Cómo funciona esto exactamente y por qué está relacionado con el SIEM Elástico se aclara muy rápidamente. La idea general es que elasticsearch es la base de datos, kibana es la interfaz gráfica para la base de datos, y usted necesita enviar la información a la base de datos para su análisis. El SIEM se incluye como una pestaña en la interfaz de Kibana y es una forma pero no la única forma de ver la información que se ha almacenado en el backend de elasticsearch.

Instalación de Elasticsearch 7.3

Elegir las opciones para descargar el tarball e instalarlo fuera de un gestor de paquetes para que no sea específico de una versión individual de Linux. Muévase a su carpeta /opt; la estructura general de archivos de Linux designa esta carpeta para los paquetes opcionales de terceros.

Establecimiento de Elasticsearch para el Elastic SIEM
Establecimiento de Elasticsearch para el Elastic SIEM

Cambie el directorio a la carpeta /opt o a donde quiera que se ejecute el programa de búsqueda elástica.

Descargue el tarball comprimido, descargue el hash del sha512 y compare los dos para asegurar la integridad del archivo. No hay razón para instalar accidentalmente malware como parte de su plataforma de seguridad. Eso sería embarazoso.

1[usuario]$ sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.1-linux-x86_64.tar.gz

Esto descargará el paquete del repo de la búsqueda del elástico. Requiere una conexión a Internet que funcione y debería verse así cuando esté completo.

Descargue el archivo que contiene el hash SHA512 de la bola de alquitrán.

123[usuario]$ sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz.sha512[usuario]$ sha512sum -c elasticsearch-7.3.1-linux-x86_64.tar.gz.sha512

Si ves algo más que «ok» en los resultados de abajo, NO INSTALES ESTE PAQUETE. Verifique los pasos anteriores, especialmente la fuente de descarga, y potencialmente navegue desde otro dispositivo para descargar una copia que tenga una integridad de archivo confiable. Si tiene el mismo resultado en diferentes dispositivos y diferentes redes, por favor notifique a elastic!

Deshazte del archivo descargado y muévete al directorio desempaquetado de elasticsearch.

12345[usuario]$ sudo tar -xzf elasticsearch-7.3.1-linux-x86_64.tar.gz[usuario]$ cd elasticsearch-7.3.1/[usuario]$ ls -lsa

El contenido de la carpeta debería verse así:

Configuración de Elasticsearch

Hay una serie de comprobaciones que se hacen cuando se arranca la búsqueda elástica para asegurar que la configuración del sistema está optimizada para ejecutar el software correctamente. Las comprobaciones de arranque se hacen cuando elasticsearch se publica en una dirección de bucle no local, que será necesaria para utilizar esta instancia para aceptar datos de fuentes externas. La idea del SIEM es que recogerá el tráfico de la red, los registros y las alertas de varias fuentes. Es necesario configurar este nodo para su uso en la producción con los siguientes pasos.

Edita el archivo de configuración elasticsearch.yml.

1[usuario]$ nano /opt/elasticsearch-7.3.1/config/elasticsearch.yml

Descomente la configuración de networt.host y cámbiela del valor por defecto de «localhost» a 0.0.0.0.

Cambie esta línea:

Para que se parezca a esta línea:

Antes de cerrar este archivo de configuración, desplácese a la sección «Discovery» y descomente el ajuste «discovery.seed_hosts» y cambie el valor entre paréntesis a «0.0.0.0».

La línea debería verse ahora así:

Con el valor de la dirección de alojamiento se ha cambiado a un valor de loopback no local, las comprobaciones de arranque se harán cumplir estrictamente y harán que el servicio falle a menos que se cambien algunos ajustes más.

El primer ajuste que hay que hacer es vm.max_map_count. Simplemente cambie el máximo de conteo de mapas al valor mínimo deseado de 262144 con sysctl.

1[usuario]$ sudo sysctl vm.max_map_count=262144

O, si quieres que sea una configuración persistente, puedes añadir este valor al archivo /etc/sysctl.conf para que se configure al arrancar. Debería verse así:

Además, tendrás que cambiar el valor de los descriptores de archivos max . Este valor está fijado en 4096, por defecto. Añade dos líneas al archivo /etc/security/limits.conf para el usuario específico no-raíz que usarás para ejecutar el proceso de búsqueda elástica.

1[usuario]$ sudo nano /etc/security/limits.conf

Una vez completado, debes recargar los ajustes de la sesión para reflejar los cambios.

Para recargar la configuración de sysct.conf, realice el siguiente comando.

1[usuario]$ sysctl -p

Para asegurar que los cambios de limits.conf se recarguen, se requiere un cierre de sesión y un inicio de sesión.

Modifique su cortafuegos para permitir que las conexiones busquen elásticamente en el puerto correcto, 9200, y se recarguen.

12[usuario]$ sudo firewall-cmd --permanent --zone=public --add-port=9200/tcp[usuario]$ sudo firewall-cmd --reload

Por último, cambia el permiso en el directorio de la búsqueda del elástico. En la práctica, asignará derechos sólo al usuario para este proceso para ejecutar todos los binarios necesarios y leer/escribir los archivos restantes. Eso dependerá de las políticas de seguridad de su organización.

1[usuario]$ sudo chmod -R 777 /opt/elasticsearch-7.3.1

Running Elasticsearch

Ahora es el momento de hacer la búsqueda del elástico por primera vez! En este formato de instalación, puedes ejecutar y el fondo binario desde la terminal. A largo plazo, este servicio necesita ser añadido y configurado para iniciarse en el arranque del sistema. Te guiaré a través de la ejecución de cada binario con salida de consola como parte del proceso general de ingeniería, permitiéndote ver rápidamente si los servicios fallan y por qué, o si tienen éxito y estás listo para pasar al siguiente paso.

Como parte de este proceso, el uso de la pantalla permite el cambio rápido entre los terminales y los procesos de fondo que están ocupando stdout.

Si aún no tiene la pantalla instalada, hágalo ahora.

Una vez instalado, ejecute la pantalla para entrar en la primera sesión en la que se iniciará el servicio de búsqueda del elástico.

1[usuario]$ screen

Luego ejecute el binario de la búsqueda elástica como el usuario seleccionado. No utilice sudo

1[usuario]$ bin/elasticsearch

Fíjese en la salida que indica la dirección IP en la que se está ejecutando el servicio y el estado final de los clusters. Si el proceso sale, entonces hubo un error; lea el error y vuelva a los pasos anteriores para identificar el problema y volver a intentarlo.

Ponga la sesión terminal actual en segundo plano pulsando ctrl+a+d y luego utilice curl en la nueva sesión terminal para enviar una solicitud HTTP GET al nodo elástico.

1[usuario]$ curl http://0.0.0.0:9200

La salida debería ser así: