Está en la página 1de 10

1.

- WAZUH – SIEM (Security Information and


Event Management)

De qué se trata este ejercicio

Este ejercicio brinda la oportunidad de implementar el servicio para Gestión de Eventos


e Información de Seguridad mediante el uso de Wazuh y ELK.

Qué seremos capaces de hacer

Al finalizar este ejercicio, Ud. debería ser capaz de:

 Instalar Wazuh

 Instalar ELK.

 Instalar el agente de Wazuh

 Interpretar logs enviados a wazuh

Introducción

En este ejercicio, Ud. configurará Wazuh y ELK para la Gestión de Eventos e


Información de Seguridad e integrar a los servicios de la institución.

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
Instrucciones del Ejercicio

Configuración de Wazuh
Actualizar el sistema operative

#apt-get update && apt-get ugrade


#apt-get dist-upgrade
#reboot

Instalar wazuh server


Instalación de prerrequisitos
#apt install net-tools curl apt-transport-https unzip wget libcap2-bin
software-properties-common lsb-release gnupg2

Instalación de Java
#apt install default-jre

Agregar clave PGP del repositorio de wazuh


#curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo apt-key
add -

Agregar el repositorio de Wazuh


#echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee
/etc/apt/sources.list.d/wazuh.list

Actualizar el repositorio
#apt update

Instalar Wazuh manager


#apt install wazuh-manager

Habilitar el servicio de wazuh


#systemctl daemon-reload
#systemctl enable --now wazuh-manager

Verificar el estado de wazuh


#systemctl status wazuh-manager

INSTALACIÓN DE ELK (Elasticsearch Logstash Kibana)


Instalación de elasticsearch versión open source
#apt install elasticsearch-oss opendistroforelasticsearch

Descargar el archivo de configuración de elasticsearch


#curl -so /etc/elasticsearch/elasticsearch.yml
https://raw.githubusercontent.com/wazuh/wazuh-
documentation/4.1/resources/open-
distro/elasticsearch/7.x/elasticsearch_all_in_one.yml

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
Configurar roles y usuarios de kibana con las siguientes plantillas:
#curl -so
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/ro
les.yml https://raw.githubusercontent.com/wazuh/wazuh-
documentation/4.1/resources/open-distro/elasticsearch/roles/roles.yml

#curl -so
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/ro
les_mapping.yml https://raw.githubusercontent.com/wazuh/wazuh-
documentation/4.1/resources/open-
distro/elasticsearch/roles/roles_mapping.yml

#curl -so
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/in
ternal_users.yml https://raw.githubusercontent.com/wazuh/wazuh-
documentation/4.1/resources/open-
distro/elasticsearch/roles/internal_users.yml

Los comandos anteriores crean los siguientes usuarios

1. Wazuh_user – Usado por usuarios con privilegios de lectura dentro del plugin
Wazuh Kibana.
2. Wazuh_admin – Para usuarios con privilegios administrativos

Instalación de certificados SSL para comunicaciones TLS


Eliminar los certificados Demo:
#rm -f /etc/elasticsearch/{esnode-key.pem,esnode.pem,kirk-
key.pem,kirk.pem,root-ca.pem}

Generar nuevos certificadoscd


#mkdir /etc/elasticsearch/certs && cd /etc/elasticsearch/certs
#curl -so ~/search-guard-tlstool-1.8.zip https://maven.search-
guard.com/search-guard-tlstool/1.8/search-guard-tlstool-1.8.zip

Descomprimir el archive descargado


#unzip ~/search-guard-tlstool-1.8.zip -d ~/searchguard

Descargar el archive preconfigurado search-guard-aio.yml


#curl -so ~/searchguard/search-guard.yml
https://raw.githubusercontent.com/wazuh/wazuh-
documentation/4.0/resources/open-distro/searchguard/search-guard-
aio.yml

Correr el script para crear los certificados


# ~/searchguard/tools/sgtlstool.sh -c ~/searchguard/search-guard.yml
-ca -crt -t /etc/elasticsearch/certs/

Borrar archivo innecesario


#rm /etc/elasticsearch/certs/client-certificates.readme

Habilitar e iniciar el servicio de elasticsearch


#systemctl enable --now elasticsearch

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
Renombrar el nombre del certificado de elasticsearch
#mv elasticsearch.key elasticsearch-key.pem

Actualizar los certificados de elasticsearch


#/usr/share/elasticsearch/plugins/opendistro_security/tools/securityad
min.sh -cd
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/
-nhnv -cacert /etc/elasticsearch/certs/root-ca.pem -cert
/etc/elasticsearch/certs/admin.pem -key
/etc/elasticsearch/certs/admin.key

Verificar que la instalación está correcta


#curl -XGET https://localhost:9200 -u admin:admin –k

La salida debe ser parecido a:

Se puede optar por eliminar el complemento de analizador de rendimiento Open Distro


for Elasticsearch, que se instala de forma predeterminada y en ocasiones puede necesitar
muchos recursos. Utilice el siguiente comando para eliminarlo:

#/usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro-


performance-analyzer

INSTALACIÓN DE FILEBEAT
Filebeat se utiliza para enviar alertas y eventos desde el servidor de Wazuh a
Elasticsearch
#apt install filebeat

Descargar el archivo de configuración de filebeat que se utilizará para reenviar las


alertas de wazuh a Elasticsearch
#curl -so /etc/filebeat/filebeat.yml
https://raw.githubusercontent.com/wazuh/wazuh-
documentation/4.1/resources/open-
distro/filebeat/7.x/filebeat_all_in_one.yml

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
Descargar la plantilla de alertas para Elasticsearch con el siguiente comando:
#curl -so /etc/filebeat/wazuh-template.json
https://raw.githubusercontent.com/wazuh/wazuh/4.1/extensions/elasticse
arch/7.x/wazuh-template.json

#chmod go+r /etc/filebeat/wazuh-template.json

Descargar el modulo de Wazuh para filebeat


#curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-
0.1.tar.gz | tar -xvz -C /usr/share/filebeat/module

Copiar los certificados ssl de Elasticsearch a Filebeat


#mkdir /etc/filebeat/certs && cp /etc/elasticsearch/certs/root-
ca.pem /etc/filebeat/certs/

#mv /etc/elasticsearch/certs/filebeat* /etc/filebeat/certs/

Iniciar y habilitar el servicio de filebeat


#systemctl enable --now filebeat

Renombrar certificados de filebeat


#mv filebeat.key filebeat-key.pem

Testear el servicio de filebeat


#filebeat test output

INSTALACIÓN DE KIBANA
Kibana es la interfaz web que ayuda a visualizar y analizar los eventos almacenados en
Elasticsearch.
#apt-get install opendistroforelasticsearch-kibana

Descargar el archivo de configuración de Kibana


#curl -so /etc/kibana/kibana.yml
https://raw.githubusercontent.com/wazuh/wazuh-
documentation/4.1/resources/open-
distro/kibana/7.x/kibana_all_in_one.yml

Establecer permisos en los directorios de kibana


#mkdir /usr/share/kibana/optimize
#chown -R kibana:kibana /usr/share/kibana/optimize

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
#chown -R kibana:kibana /usr/share/kibana/plugins

Instalar el complemento de Kibana para Wazuh. Esto debe hacerse desde el directorio
de inicio de Kibana.
#cd /usr/share/kibana
#sudo -u kibana bin/kibana-plugin install
https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.1.5_7.10.2-
1.zip

Copiar los certificados de Elasticsearch al directorio de Kibana


#mkdir /etc/kibana/certs
#cp /etc/elasticsearch/certs/root-ca.pem /etc/kibana/certs/
#mv /etc/elasticsearch/certs/kibana_http.key
/etc/kibana/certs/kibana.key
#mv /etc/elasticsearch/certs/kibana_http.pem
/etc/kibana/certs/kibana.pem

Renombrar los certificados de kibana


#mv kibana.key kibana-key.pem

Crear directorio de datos de kibana


#mkdir /usr/share/kibana/data
#chown -R kibana:kibana /usr/share/kibana/data

Habilitar Puerto 443 de kibana


#setcap 'cap_net_bind_service=+ep' /usr/share/kibana/node/bin/node

Iniciar y habilitar el servicio de kibana


#systemctl enable --now kibana

Si no se habilita el puerto 443 de kibana revisar el contenido del archivo kibana.yml


#nano /etc/kibana/kibana.yml
server.host: 0.0.0.0
server.port: 443
elasticsearch.hosts: https://localhost:9200
elasticsearch.ssl.verificationMode: certificate
elasticsearch.username: kibanaserver
elasticsearch.password: kibanaserver
elasticsearch.requestHeadersWhitelist: ["securitytenant","Authorization"]
opendistro_security.multitenancy.enabled: true
opendistro_security.readonly_mode.roles: ["kibana_read_only"]
server.ssl.enabled: true
server.ssl.key: "/etc/kibana/certs/kibana-key.pem"
server.ssl.certificate: "/etc/kibana/certs/kibana.pem"
elasticsearch.ssl.certificateAuthorities: ["/etc/kibana/certs/root-ca.pem"]
server.defaultRoute: /app/wazuh?security_tenant=global

Iniciar el servicio de kibana


#systemctl start kibana

Desactivar monitoreo de variables


#echo false | sudo tee
/usr/share/elasticsearch/data/batch_metrics_enabled.conf

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
Eliminar logs de multipath
#nano /etc/multipath.conf
defaults {
user_friendly_names yes
}

blacklist {
device {
vendor "VMware"
product "Virtual disk"
}
}

Reiniciar el servicio
#/etc/init.d/multipath-tools restart

Error de API
#/var/ossec/bin/wazuh-control info | grep WAZUH_VERSION
#cd /usr/share/kibana/
#sudo -u kibana bin/kibana-plugin remove wazuh
#sudo -u kibana /usr/share/kibana/bin/kibana-plugin install
https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.2.0_7.10.2-
1.zip
#systemctl restart kibana

Acceder a Kibana mediante el explorador


URL https://IP_server

Integración con Virus Total


En el servidor de wazuh agregar la directiva de integración
#nano /var/ossec/etc/ossec.conf
<integration>
<name>virustotal</name>
<api_key>API_KEY</api_key>
<group>syscheck</group>
<alert_format>json</alert_format>
</integration>

Reiniciar el servicio
#systemctl restart wazuh-manager

Instalación del Agente


En sistema basado en APT
#apt install curl
#curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -
#echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | tee
-a /etc/apt/sources.list.d/wazuh.list
#apt update

#WAZUH_MANAGER="192.168.1.80" apt install wazuh-agent


#systemctl enable --now wazuh-agent.service

Activar el directorio de escaneo de virus en el agente


#nano /var/ossec/etc/ossec.conf
<syscheck>

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
<directories check_all="yes" realtime="yes">/root</directories>
</syscheck>

Reiniciar el servicio en el agente


#systemctl restart wazuh-agent.service

Reiniciar el servidor wazuh


#systemctl restart wazuh-manager

Respuesta Activa
En el servidor de wazuh agregar la directiva para restricción
#nano /var/ossec/etc/ossec.conf
<active-response>
<command>firewall-drop</command>
<location>local</location>
<rules_id>5710</rules_id>
<timeout>180</timeout>
</active-response>
Reiniciar el servicio del servidor wazuh
#systemctl restart wazuh-manager

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
INSTALACIÓN DE SURICATA
Instalar Dependencias
#apt -y install libpcre3 libpcre3-dev build-essential autoconf
automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev
zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config
libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-
transport-https

Agregar los repositorios


#add-apt-repository ppa:oisf/suricata-stable
#apt-get update

Instalar Suricata
#apt-get install suricata

Reemplazar la interfaz de censado del IDS, reemplazar eth0 por el id de la interfaz


#nano /etc/suricata/suricata.yml

#nano /etc/default/suricata

Instalación de suricata update para la instalación automática de reglas


#apt install python-pip
#pip install pyyaml
#pip install https://github.com/OISF/suricata-
update/archive/master.zip

Actualizar suricata-update
#pip install --pre --upgrade suricata-update

Actualizar las reglas de defecto


#suricata-update

Descubrimiento de reglas de otras fuentes


#suricata-update update-sources

Actualizar la lista de fuentes de reglas disponibles


#suricata-update list-sources

Habilitar las reglas de las fuentes listadas


#suricata-update enable-source ptresearch/attackdetection
#suricata-update enable-source oisf/trafficid
#suricata-update enable-source sslbl/ssl-fp-blacklist

Actualizar nuevamente las reglas de suricata


#suricata-update

Para revisar la lista de fuentes de las reglas habilitadas:


#suricata-update list-enabled-sources

En caso de necesitar desactivar alguna fuente de reglas:


#suricata-update disable-source et/pro

Eliminar una fuente de reglas


#suricata-update remove-source et/pro

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
Reiniciar el servicio de suricata
#systemctl restart suricata

Activar la recolección de logs de suricata e enviar a wazuh server


#nano /var/ossec/etc/ossec.conf
<localfile>
<log_format>snort-fast</log_format>
<location>/var/log/suricata/fast.log</location>
</localfile>

Reiniciar el servicio
#systemctl restart wazuh-agent

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador

También podría gustarte