Elasticsearch 8.x: servidor Fleet + salida de Logstash

Publicado el 31/12/2023

« Ver todas las conferencias Contáctenos
Elasticsearch 8.x: Fleet Server + Logstash Output

Introducción

Configuraremos el servidor de la flota para utilizar #logstash como salida.

Esta documentación asume que ya ha configurado Elasticsearch y Kibana. Si no es así, puede...Vaya aquí para Certificados firmados públicamente configuración. Si desea utilizar Certificados autofirmados, Vaya aquí Por determinar.

Esta documentación asume que ha visto videos anteriores sobre agentes elásticos, políticas de agentes y Fleet Server.

Requisitos

Servidor de salida Logstash [05:40]

Acceda a la terminal del servidor Elasticsearch. Cree un archivo con el comando:

cd /usr/share/elasticsearch/bin vi make-certs.sh

y agregue el siguiente comando, reemplace el DNS variable con el nombre de dominio del servidor:

./elasticsearch-certutil cert \ --name logstash \ --ca-cert /etc/elasticsearch/certs/ca/ca.crt \ --ca-key /etc/elasticsearch/certs/ca/ca.key \ --dns <your.host.name.here> \ --pem

Guarde el archivo y ejecute el siguiente comando:

chmod 755 make-certs.sh ./make-certs.sh

alt text

Generar certificado SSL para Logstash

Y presione Enter si se le solicita para ingresar el resultado deseado. Ahora, vaya al directorio donde se comprimió el certificado y descomprímalo:

cd .. unzip certificate-bundle.zip

alt text

Descomprimir certificado para Logstash

Vaya a la terminal del servidor Logstash y ejecute los siguientes comandos:

mkdir -p /etc/certs/logstash cd /etc/certs/logstash/

Luego copie el contenido del servidor elasticsearch con el siguiente comando:

scp root@<IP ADDRESS OR SERVER DNS>:/usr/share/elasticsearch/logstash/* ./

A continuación se muestra un comando de ejemplo:

scp root@es.evermight.net:/usr/share/elasticsearch/logstash/* ./

Luego también copie la autoridad del certificado al servidor logstash:

scp root@es.evermight.net:/etc/elasticsearch/certs/ca/ca.crt ./

Luego ejecute el siguiente comando para convertir la clave logstash a pkcs8:

openssl pkcs8 -inform PEM -in logstash.key -topk8 -nocrypt -outform PEM -out logstash.pkcs8.key

Ahora instalemos logstash en el servidor logstash:

apt-get update && apt dist-upgrade -y && apt-get install vim curl gnupg gpg; wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic-keyring.gpg; sudo apt-get install apt-transport-https; echo "deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list; sudo apt-get update && sudo apt-get install logstash

abrir un archivo para configuración

vi fleet-output.conf

y pegue el siguiente contenido en el archivo:

input { elastic_agent { port => 5044 ssl_enabled => true ssl_certificate_authorities => ["/etc/certs/ca/ca.crt"] ssl_certificate => "/etc/certs/logstash/logstash.crt" ssl_key => "/etc/certs/logstash/logstash.pkcs8.key" ssl_client_authentication => "required" } } output { file { path => "fleet-output.txt" } }

y guardar. Ahora ejecute el siguiente comando:

/usr/share/logstash/bin/logstash -f /root/fleet-output.conf

Ahora vamos a crear una configuración de canalización para logstash:

mkdir config; cd config/; vi pipelines.yml

Y pegue el siguiente contenido:

- pipeline.id: elastic-agent-pipeline path.config: "/root/fleet-output.conf"

y guárdalo. Ahora ejecútalo de nuevo.

cd ~; /usr/share/logstash/bin/logstash

Habilitar licencia de prueba [19:40]

Inicie sesión en Kibana desde su navegador. Vaya a Gestión de pilas > Gestión de licencias, y haga clic en Comience una prueba de 30 días.

alt text Comience una prueba gratuita de 30 días

y debería mostrar un éxito como este:

alt text Prueba gratuita de 30 días Habilitada exitosamente

Servidor de flota: Notas importantes [21:00]

Configuraremos dos salidas para Fleet Server, las cuales son;

Servidor de flotas: Salida de Elasticsearch [25:00]

Ir a Fleet > settings, y haga clic en el icono de edición del lápiz. Consulte la imagen a continuación.

alt text Editar la salida del servidor de flota

Ahora vaya al servidor Elasticsearch y ejecute lo siguiente para obtener la huella digital del certificado.

cd /etc/elasticsearch/certs/ca openssl x509 -fingerprint -sha256 -noout -in ca.crt | awk -F"=" {' print $2 '} | sed s/://g

crear un script.

ca.sh

y agregue el siguiente contenido

echo 'ssl:'; echo ' certificate_authorities:'; echo ' - |'; cat ca.crt | sed 's/^/ /'

y guárdalo. Ahora ejecuta el archivo.

chmod 755 ca.sh ./ca.sh

Debería verse similar a la captura de pantalla a continuación;

alt text Certificate in YML style

Copie las salidas y péguelas en su kibana en el Espacio de configuración yml avanzado

Debería verse similar a la captura de pantalla a continuación:

alt text Configuración del servidor de flotas

Luego haga clic en Guardar y aplicar la configuración, y luego proceda a hacer clic en Guardar e implementar.

Servidor de flota: salida de Logstash [27:43]

Haga clic en Add Output en el Flota > Agente, Para agregar salida a Logstash. Asígnele un nombre como logstash, y para el tipo seleccione logstash, ingrese la dirección IP o DNS del servidor Logstash, por ejemplo lg.evermight.net:5044, para el Autoridades de certificación SSL del servidor pegar en el ca.crt el contenido del archivo cuando se imprime y puede usar un comando como

cat ca.crt

En la terminal del servidor elastcsearch, cree un archivo y siga los pasos a continuación para obtener el certificado SSL del cliente:

cd /usr/share/elasticsearch/bin vi client-cert.sh

y pegue el siguiente contenido:

./elasticsearch-certutil cert \ --name client \ --ca-cert /etc/elasticsearch/ca/ca.crt \ --ca-key /etc/elasticsearch/ca/ca.key \ --pem

y ejecute el siguiente comando

chmod 755 client-cert.sh

Cuando se le solicite, asígnele un nombre.client.zipAhora ve al directorio donde está comprimido el certificado y descomprímelo:

cd .. unzip client.zip

Ahora vaya al directorio que fue descomprimido y copie el contenido del client.crt archivo:

cd client cat client.crt

y pégalo en el Certificado SSL de cliente Sección. Para el Clave del certificado SSL del cliente, copiar el contenido del client.key y pégalo.

cat client.key

Then click on Guardar y aplicar la configuraciónLas dos salidas guardadas se verán similares a las que se muestran en la siguiente captura de pantalla:

alt text Salidas del servidor de flota

Servidor de flotas: Instalación [32:01]

Vaya a la terminal del servidor de la flota y ejecute el siguiente comando:

apt-get update && apt dist-upgrade -y && apt-get install -y vim curl gnupg gpg;

y crear algunos directorios:

cd /etc/; mkdir certs; cd certs/; mkdir ca; mkdir fl.evermight.net; cd ca

Ahora ejecute este comando en la terminal del servidor de flota para copiar los certificados del servidor elástico al servidor de flota

scp root@es.evermight.net:/etc/elasticsearch/certs/ca/ca.crt ./

Ahora regrese al servidor elástico y ejecute los siguientes comandos:

cd ~ vi fleet-cert.sh

Pegue el siguiente contenido en el archivo

mkdir /root.ft.evermight.net/ /usr/share/elasticsearch/bin/elasicsearch-certutil cert \ --out /root/ft.evermight.net/fleet.zip \ --name fleet \ --ca-cert /etc/elasticsearch/certs/ca/ca.crt \ --ca-key /etc/elasticsearch/certs/ca/ca.key \ --dns ft.evermight.net \ --pem

y guarde el archivo, ahora ejecute los siguientes comandos:

chmod +x fleet-cert.sh; ./fleet-cert.sh

Ahora vaya al directorio donde se comprimió el certificado y descomprímalo:

cd ft.evermight.net/; unzip fleet.zip;

Ahora regrese a la terminal del servidor de la flota y ejecute el siguiente comando:

mv fl.evermight.net ft.evermight.net; cd ft.evermight.net

Ahora ejecute este comando en la terminal del servidor de flota para copiar los certificados del servidor elástico al servidor de flota

scp root@es.evermight.net:/root/ft.evermight.net/fleet/* ./

Ahora regresa a tu Kibana y crea la política del servidor de flota. Haz clic en Agregar servidor de flota como se muestra en la siguiente captura de pantalla:

alt text Agregar un servidor de flota

Ir a Avanzado, y haga clic en Crear política como se muestra en la imagen a continuación:

alt text Crear una política de servidor de flota

Para el Elija un modo de implementación para la seguridad, haga clic en production.

Para el Agregue su host de Fleet Server, en la sección de nombre, escriba fleet, y en la sección de URL,https://ft.evermight.net:8220.

Then click on Agregar host. Luego haga clic en Generar un token de servicio. Copia los comandos en el Instalar Fleet Server en un host centralizado sección:

alt text Instalar Fleet Server en un comando de host centralizado

y en la terminal del servidor de la flota, cree un archivo:

cd ~ vi install.sh

y pegue el contenido que fue copiado y realice las modificaciones apropiadas como se muestra en la siguiente captura de pantalla:

alt text Se editó el comando Instalar Fleet Server en un host centralizado

Luego cambia el permiso del archivo y ejecútalo.

chmod +x install.sh ./install.sh

Haga clic en Sí cuando se le solicite.

Ahora en Kibana, ve a Flota > Agente, Actualice la página. Debería ver un resultado similar al de la siguiente captura de pantalla:

alt text Elastic Agent se instaló correctamente

Agente elástico: Sitio web en Linux [40:33]

Acceda a la terminal del servidor web. Instale Apache:

apt-get install -y apache-2

Accede a la dirección IP de tu ordenador en tu navegador. Si no la recuerdas, puedes usar el siguiente comando para obtenerla:

ip a

En Kibana, vaya a Integraciones > Explorar integraciones, y buscar apache, y haga clic en el resultado como se muestra en la siguiente captura de pantalla:

alt text Búsqueda Apache

Haga clic en Agregar servidor HTTP Apache por la esquina superior derecha.

alt text Agregar Apache

En el Dónde agregar esta integración sección, bajo Nuevos anfitriones, haga clic en Opciones avanzadas.Desplácese hacia abajo hasta Salida para integraciones y cambiar de por defecto a logstash.Desplácese hacia abajo hasta Salida para la monitorización del agente y cambiar de por defecto a logstash.

Then click on save and continue, luego seleccione Agregue Elastic Agent a sus hosts.

Luego copie el comando para que lo administre el servidor de flota, como se muestra en la siguiente captura de pantalla:

alt text Comando para ser administrado por flota

Vaya a la terminal del servidor del sitio web y ejecute este comando para copiar los certificados del servidor elástico al servidor del sitio web.

mkdir -p /etc/certs/ca; cd /etc/certs/ca/; scp root@es.evermight.net:/etc/elasticsearch/certs/ca/ca.crt ./

Crea un archivo para ejecutar la instalación

cd ~ vi install-agent.sh

y pegue el contenido que fue copiado y realice las modificaciones apropiadas como se muestra en la siguiente captura de pantalla:

alt text Comando editado

Luego cambia el permiso del archivo y ejecútalo.

chmod 755 install-agent.sh ./install-agent.sh

Y escribe sí cuando se te solicite.

Agente elástico: Registros de eventos en Windows [47:50]

Abra una terminal tipo bash en la máquina/servidor Windows y copie el archivo del certificado

mkdir certs cd certs scp root@es.evermight.net:/etc/elasticsearch/certs/ca/ca.crt ./

Vaya a la barra de búsqueda de Windows y busque Visor de eventos y ejecutar como administrador como se muestra en la siguiente captura de pantalla:

alt text Ejecutar el Visor de eventos como administrador

Cuando se abra, ve a Registros de aplicaciones y servicios > Microsoft > Actividad de WMI > Operacional.

En Kibana, vaya a Integraciones > Explorar integraciones, y buscar windows, y haga clic en el resultado como se muestra en la siguiente captura de pantalla:

alt text Búsqueda personalizada en el registro de eventos de Windows

Haga clic en Agregar registro de eventos de Windows personalizado por la esquina superior derecha.

alt text Agregar registro de eventos de Windows personalizado

Regrese a la aplicación Visor de eventos en su máquina Windows y copie el Nombre del registro como se muestra en la captura de pantalla a continuación y péguelo en el Registros de eventos de Windows personalizados Sección en su página de Kibana.

alt text

Copiar nombre del registro del visor de eventos

En el Dónde agregar esta integración sección, bajo Nuevos anfitriones, haga clic en Opciones avanzadas.

Desplácese hacia abajo para Salida para integraciones y cambiar de por defecto a logstash.Desplácese hacia abajo hasta Salida para la monitorización del agente y cambiar de por defecto a logstash.

Then click on save and continue, luego seleccione Agregue Elastic Agent a sus hosts.

Luego copie el comando para que lo administre el servidor de flota, como se muestra en la siguiente captura de pantalla:

alt text Comando para que el registro de eventos de Windows sea administrado por flota

Vaya a un editor de texto en su máquina Windows y edite el comando copiado como se muestra en la siguiente captura de pantalla:

alt text Comando editado

Abrir y ejecutar Powershell Como administrador, pegue el comando y ejecútelo. Ingrese "Sí" cuando se le solicite.