Continuando con mi proyecto de SIEM Open Source (Wazuh) voy a detallar los pasos de instalación básicos del stack. De la nada a empezar a tener identificación de eventos. Empecemos por el Wazuh Indexer
Resumen práctico de la instalación del Wazuh
Disclaimer:
Esto describe la instalación que realice por mano propia con las
versiones descriptas y los recursos que me disponibilizaron, puede
existir mejoras o variaciones para otros casos.
Parto de que los servidores ya poseen el sistema operativo instalador y actualizado
Instalando Wazuh Indexer
Wazuh Indexer es el componente de Wazuh basado en OpenSearch, encargado de almacenar y gestionar grandes volúmenes de datos de seguridad generados por los agentes y sistemas monitorizados. Se encarga de indexar los logs, haciéndolos fácilmente consultables y permitiendo realizar búsquedas rápidas y efectivas en el entorno de seguridad. Es la pieza clave para el almacenamiento eficiente y la búsqueda avanzada de datos.
Configuración zona horaria (TimeZone)
timedatectl list-timezonesConfiguro la zona adecuada según la ubicación geográfica
sudo timedatectl set-timezone your_time_zone
timedatectl
Instalación
Descargar instalador y archivo de configuración
curl -sO https://packages.wazuh.com/4.8/wazuh-install.sh
curl -sO https://packages.wazuh.com/4.8/config.yml
Editar config.yml, colocando las IP (y los nombre si se quieren cambiar el default)
Tomare las siguiente para ejemplo:
- Indexer: 192.168.20.151
- Server: 192.168.20.149
- Dashboard: 192.168.20.148
Se genera el archivo de configuración
bash wazuh-install.sh --generate-config-files
El
archivo wazuh-install-files.tar se debe distribuir en el Indexer, Server y Dashboard (y sus respectivos nodos), ya que contienen los parámetros de
instalación
Instalación del Indexer
bash wazuh-install.sh --wazuh-indexer node-1
Se debe repetir si existe mas de un nodo
Inicialización de cluster (sea que se tenga 1 o mas nodos)
bash wazuh-install.sh --start-cluster
Generar las password de Admin
tar -axf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt -O | grep -P "\'admin\'" -A 1
Testeo
Confirmamos que este OK la instalación
curl -k -u admin:<ADMIN_PASSWORD> https://<WAZUH_INDEXER_IP>:9200
La salida debe ser:
{
"name" : "node-1",
"cluster_name" : "wazuh-cluster",
"cluster_uuid" : "095jEW-oRJSFKLz5wno5PA",
"version" : {
"number" : "7.10.2",
"build_type" : "rpm",
"build_hash" : "db90a415ff2fd428b4f7b3f800a51dc229287cb4",
"build_date" : "2023-06-03T06:24:25.112415503Z",
"build_snapshot" : false,
"lucene_version" : "9.6.0",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}
Comprobamos que el cluster corra correctamente
curl -k -u admin:<ADMIN_PASSWORD> https://<WAZUH_INDEXER_IP>:9200/_cat/nodes?v
Recordar borrar las líneas del history para evitar el leak de password con history -d N , donde N es el número de línea
Optimización
Cuando el sistema empieza usar el swap, es posible que el indexer de Wazuh no funcione como se esperaba. Es importante para la salud del nodo indexador de Wazuh que ninguna máquina virtual Java (JVM) empieze a hacer swap en disco. Para evitarlo se configura el Wazuh Indexer para bloquear el espacio de direcciones del proceso en RAM.
Edito el archivo de configuración del Opensearch:
sudo nano /etc/wazuh-indexer/opensearch.yml
Agrego al final del archivo
bootstrap.memory_lock: true
Creo el archivo que especifica los limites del sistema
sudo mkdir -p /etc/systemd/system/wazuh-indexer.service.d/
sudo cat > /etc/systemd/system/wazuh-indexer.service.d/wazuh-indexer.conf << EOF
[Service]
LimitMEMLOCK=infinity
EOF
Reinicio servicio para comprobar que todo este OK
sudo systemctl restart wazuh-indexer
Verifico el estado del servicio
systemctl status wazuh-indexer
Reglas de Firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow proto tcp from 192.168.20.27 to any port 9200 comment Graylog
sudo ufw allow proto tcp from 192.168.20.149 to any port 9200 comment Wazuh Server
sudo ufw allow proto tcp 9300:9400 comment Wazuh_Indexer_Cluster
sudo ufw enable
sudo ufw status verbose
Solo aplicar el comando en fucsia si se dispone mas de un nodo para el Wazuh Indexer
Recursos
- https://www.youtube.com/@taylorwalton_socfortress/playlists
- https://wazuh.com/community/join-us-on-slack/
- https://groups.google.com/g/wazuh
- https://documentation.wazuh.com/4.8/getting-started/index.html
- https://www.reddit.com/r/Wazuh/
- https://socfortress.medium.com/installing-the-new-wazuh-version-4-4-the-socfortress-way-ea3a8030d94b
- https://www.youtube.com/watch?v=frzsfkiEL6A
- https://zaferbalkan.com/2023/08/08/wazuh-pain-points.html#proper-log-archiving-does-not-exist
- https://documentation.wazuh.com/current/user-manual/manager/event-logging.html
- https://documentation.wazuh.com/current/user-manual/wazuh-indexer/wazuh-indexer-tuning.html
0 comments:
Publicar un comentario