Instalación y configuración del servidor Wazuh en CentOS 7
Wazuh es una solución de monitoreo de seguridad gratuita, de código abierto y lista para la empresa para la detección de amenazas, monitoreo de integridad, respuesta a incidentes y cumplimiento.
En este tutorial, mostraremos la instalación de arquitectura distribuida. Las arquitecturas distribuidas controlan el administrador de Wazuh y los clústeres de pila elástica a través de diferentes hosts. Wazuh Manager y Elastic Stack se administran en la misma plataforma mediante implementaciones de un solo host.
Servidor de Wazuh: Ejecuta la API y Wazuh Manager. Los datos de los agentes desplegados se recopilan y analizan.
Pila elástica: Ejecuta Elasticsearch, Filebeat y Kibana (incluido Wazuh). Lee, analiza, indexa y almacena datos de alerta del administrador de Wazuh.
Agente de Wazuh: Se ejecuta en el host supervisado, recopila datos de registro y configuración y detecta intrusiones y anomalías.
1. Instalación del servidor Wazuh
Preconfiguración
Primero establezcamos el nombre de host. Inicie Terminal e ingrese el siguiente comando:
hostnamectl set-hostname wazuh-server
Actualice CentOS y paquetes:
yum update -y
A continuación, instale NTP y verifique su estado de servicio.
yum install ntp
systemctl status ntpd
Si el servicio no se inicia, inícielo usando el siguiente comando:
systemctl start ntpd
Habilite NTP en el arranque del sistema:
systemctl enable ntpd
Modifique las reglas del firewall para permitir el servicio NTP. Ejecute los siguientes comandos para habilitar el servicio.
firewall-cmd --add-service=ntp --zone=public --permanent
firewall-cmd --reload
Instalación de Wazuh Manager
Agreguemos clave:
rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
Edite el repositorio de Wazuh:
vim /etc/yum.repos.d/wazuh.repo
Agregue el siguiente contenido al archivo.
[wazuh_repo] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=Wazuh repository baseurl=https://packages.wazuh.com/3.x/yum/ protect=1
Guardar y salir del archivo.
Enumere los repositorios usando el repolista mando.
yum repolist
Instale el administrador de Wazuh usando el siguiente comando:
yum install wazuh-manager -y
Luego, instale Wazuh Manager y verifique su estado.
systemctl status wazuh-manager
Instalación de la API de Wazuh
Se requiere NodeJS> = 4.6.1 para ejecutar la API de Wazuh.
Agregue el repositorio oficial de NodeJS:
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
instalar NodeJS:
yum install nodejs -y
Instale la API de Wazuh. Actualizará NodeJS si es necesario:
yum install wazuh-api
Compruebe el estado de wazuh-api.
systemctl status wazuh-api
Cambie las credenciales predeterminadas manualmente con los siguientes comandos:
cd /var/ossec/api/configuration/auth
Establezca una contraseña para el usuario.
node htpasswd -Bc -C 10 user darshana
Reinicie la API.
systemctl restart wazuh-api
Si lo necesita, puede cambiar el puerto manualmente. El archivo /var/ossec/api/configuration/config.js contiene el parámetro:
// TCP Port used by the API. config.port = "55000";
No cambiaremos el puerto predeterminado.
Instalación de Filebeat
Filebeat es la herramienta en el servidor de Wazuh que reenvía de forma segura alertas y eventos archivados a Elasticsearch. Para instalarlo, ejecute el siguiente comando:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Repositorio de configuración:
vim /etc/yum.repos.d/elastic.repo
Agregue los siguientes contenidos al servidor:
[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Instalar Filebeat:
yum install filebeat-7.5.1
Descargue el archivo de configuración de Filebeat del repositorio de Wazuh. Está preconfigurado para reenviar alertas de Wazuh a Elasticsearch:
curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/v3.11.0/extensions/filebeat/7.x/filebeat.yml
Cambiar permisos de archivo:
chmod go+r /etc/filebeat/filebeat.yml
Descargue la plantilla de alertas para Elasticsearch:
curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v3.11.0/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json
Descarga el módulo Wazuh para Filebeat:
curl -s https://packages.wazuh.com/3.x/filebeat/wazuh-filebeat-0.1.tar.gz | sudo tar -xvz -C /usr/share/filebeat/module
Agregue la IP del servidor Elasticsearch. Edite "filebeat.yml".
vim /etc/filebeat/filebeat.yml
Modifique la siguiente línea.
output.elasticsearch.hosts: ['http://ELASTIC_SERVER_IP:9200']
Habilite e inicie el servicio Filebeat:
systemctl daemon-reload systemctl enable filebeat.service systemctl start filebeat.service
2. Instalación de Elastic Stack
Ahora vamos a configurar el segundo servidor Centos con ELK.
Realice las configuraciones en su servidor de pila elástica.
Preconfiguraciones
Como de costumbre, primero establezcamos el nombre de host.
hostnamectl set-hostname elk
Actualice el sistema:
yum update -y
Instalación de ELK
Instale Elastic Stack con paquetes RPM y luego agregue el repositorio Elastic y su clave GPG:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Cree un archivo de repositorio:
vim /etc/yum.repos.d/elastic.repo
Agregue el siguiente contenido al archivo:
[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Instalación de Elasticsearch
Instale el paquete Elasticsearch:
yum install elasticsearch-7.5.1
Elasticsearch escucha de forma predeterminada en la interfaz de bucle invertido (localhost). Configure Elasticsearch para escuchar una dirección que no sea de bucle invertido editando / etc / elasticsearch / elasticsearch.yml y descomentando la configuración de network.host. Ajuste el valor de IP al que desea conectarse:
network.host: 0.0.0.0
Cambie las reglas del cortafuegos.
firewall-cmd --permanent --zone=public --add-rich-rule=" rule family="ipv4" source address="34.232.210.23/32" port protocol="tcp" port="9200" accept"
Vuelva a cargar las reglas del cortafuegos:
firewall-cmd --reload
La configuración adicional será necesaria para el archivo de configuración de búsqueda elástica.
Edite el archivo "elasticsearch.yml".
vim /etc/elasticsearch/elasticsearch.yml
Cambie o edite "node.name" y "cluster.initial_master_nodes".
node.name: <node_name>
cluster.initial_master_nodes: ["<node_name>"]
Habilite e inicie el servicio Elasticsearch:
systemctl daemon-reload
Habilitar al arrancar el sistema.
systemctl enable elasticsearch.service
Inicie el servicio de búsqueda elástica.
systemctl start elasticsearch.service
Verifique el estado de la búsqueda elástica.
systemctl status elasticsearch.service
Consulte el archivo de registro para ver si hay algún problema.
tail -f /var/log/elasticsearch/elasticsearch.log
Una vez que Elasticsearch esté en funcionamiento, debemos cargar la plantilla de Filebeat. Ejecute el siguiente comando en el servidor de Wazuh (instalamos filebeat allí).
filebeat setup --index-management -E setup.template.json.enabled=false
Instalación de Kibana
Instale el paquete de Kibana:
yum install kibana-7.5.1
Instale el complemento de la aplicación Wazuh para Kibana:
sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-3.11.0_7.5.1.zip
Complemento Kibana Necesita modificar las configuraciones de Kibana para acceder a Kibana desde el exterior.
Edite el archivo de configuración de Kibana.
vim /etc/kibana/kibana.yml
Cambie la siguiente línea.
server.host: "0.0.0.0"
Configure las URL de las instancias de Elasticsearch.
elasticsearch.hosts: ["http://localhost:9200"]
Habilite e inicie el servicio Kibana:
systemctl daemon-reload systemctl enable kibana.service systemctl start kibana.service
Adición de la API de Wazuh a las configuraciones de Kibana
Edite "wazuh.yml".
vim /usr/share/kibana/plugins/wazuh/wazuh.yml
Edite el nombre de host, el nombre de usuario y la contraseña:
Guarde y salga del archivo y reinicie el servicio Kibana.
systemctl restart kibana.service
Instalamos el servidor Wazuh y el servidor ELK. Ahora vamos a agregar hosts usando un agente.
3. Instalación del agente de Wazuh
I. Agregar servidor Ubuntu
una. Instalación de paquetes necesarios
apt-get install curl apt-transport-https lsb-release gnupg2
Instale la clave GPG del repositorio de Wazuh:
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -
Agregue el repositorio y luego actualice los repositorios.
echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list
apt-get update
B. Instalación del agente de Wazuh
El comando Blow agrega la IP “WAZUH_MANAGER” a la configuración del agente wazuh automáticamente al instalarlo.
WAZUH_MANAGER="52.91.79.65" apt-get install wazuh-agent
II. Adición de host CentOS
Agregue el repositorio de Wazuh.
rpm --import http://packages.wazuh.com/key/GPG-KEY-WAZUH
Edite y agregue al repositorio:
vim /etc/yum.repos.d/wazuh.repo
Agregue los siguientes contenidos:
[wazuh_repo] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=Wazuh repository baseurl=https://packages.wazuh.com/3.x/yum/ protect=1
Instale el agente.
WAZUH_MANAGER="52.91.79.65" yum install wazuh-agent
4. Acceso al panel de Wazuh
Navega por Kibana usando la IP.
http://IP or hostname:5601/
Verá la siguiente interfaz.
Luego haga clic en el ícono "Wazuh" para ir a su Panel de control. Verá el panel "Wazuh" de la siguiente manera.
Aquí puede ver los agentes conectados, la gestión de la información de seguridad, etc. cuando hace clic en los eventos de seguridad; puede ver una vista gráfica de los eventos.
Si has llegado hasta aquí, ¡felicidades! Se trata de instalar y configurar el servidor Wazuh en CentOS.
Deja una respuesta