Wazuh è una soluzione di monitoraggio della sicurezza gratuita, open source e pronta per l'azienda per il rilevamento delle minacce, il monitoraggio dell'integrità, la risposta agli incidenti e la conformità.
In questo tutorial, mostreremo l'installazione dell'architettura distribuita. Le architetture distribuite controllano il gestore Wazuh e i cluster dello stack elastico tramite host diversi. Wazuh Manager ed Elastic Stack sono gestiti sulla stessa piattaforma da implementazioni a host singolo.
Server Wazuh :esegue l'API e Wazuh Manager. I dati degli agenti distribuiti vengono raccolti e analizzati.
Stack elastico :esegue Elasticsearch, Filebeat e Kibana (incluso Wazuh). Legge, analizza, indicizza e archivia i dati di avviso del gestore Wazuh.
Agente Wazuh :viene eseguito sull'host monitorato, raccogliendo i dati di registro e di configurazione e rilevando intrusioni e anomalie.
1. Installazione del server Wazuh
Preimpostazione
Impostiamo prima il nome host. Avvia Terminale e inserisci il seguente comando:
hostnamectl set-hostname wazuh-server
Aggiorna CentOS e pacchetti:
yum update -y
Quindi, installa NTP e controlla lo stato del suo servizio.
yum install ntp
systemctl status ntpd
Se il servizio non è avviato, avvialo utilizzando il comando seguente:
systemctl start ntpd
Abilita NTP all'avvio del sistema:
systemctl enable ntpd
Modifica le regole del firewall per consentire il servizio NTP. Esegui i seguenti comandi per abilitare il servizio.
firewall-cmd --add-service=ntp --zone=public --permanent
firewall-cmd --reload
Installazione di Wazuh Manager
Aggiungiamo la chiave:
rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
Modifica il repository Wazuh:
vim /etc/yum.repos.d/wazuh.repo
Aggiungi il seguente contenuto al file.
[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
Salva ed esci dal file.
Elenca i repository usando repolist comando.
yum repolist
Installa il gestore Wazuh usando il comando seguente:
yum install wazuh-manager -y
Quindi, installa Wazuh Manager e controlla lo stato.
systemctl status wazuh-manager
Installazione dell'API Wazuh
NodeJS>=4.6.1 è necessario per eseguire l'API Wazuh.
Aggiungi il repository ufficiale di NodeJS:
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
installa NodeJS:
yum install nodejs -y
Installa l'API Wazuh. Aggiornerà NodeJS se necessario:
yum install wazuh-api
Controlla lo stato di wazuh-api.
systemctl status wazuh-api
Modifica manualmente le credenziali predefinite utilizzando i seguenti comandi:
cd /var/ossec/api/configuration/auth
Imposta una password per l'utente.
node htpasswd -Bc -C 10 user darshana
Riavvia l'API.
systemctl restart wazuh-api
Se ne hai bisogno, puoi cambiare la porta manualmente. Il file /var/ossec/api/configuration/config.js contiene il parametro:
// TCP Port used by the API. config.port = "55000";
Non stiamo cambiando la porta predefinita.
Installazione di Filebeat
Filebeat è lo strumento sul server Wazuh che inoltra in modo sicuro avvisi ed eventi archiviati a Elasticsearch. Per installarlo, esegui il seguente comando:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Repository di installazione:
vim /etc/yum.repos.d/elastic.repo
Aggiungi i seguenti contenuti al server:
[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
Installa Filebeat:
yum install filebeat-7.5.1
Scarica il file di configurazione di Filebeat dal repository Wazuh. Questo è preconfigurato per inoltrare gli avvisi Wazuh a Elasticsearch:
curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/v3.11.0/extensions/filebeat/7.x/filebeat.yml
Modifica i permessi dei file:
chmod go+r /etc/filebeat/filebeat.yml
Scarica il modello di avvisi per 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
Scarica il modulo Wazuh per Filebeat:
curl -s https://packages.wazuh.com/3.x/filebeat/wazuh-filebeat-0.1.tar.gz | sudo tar -xvz -C /usr/share/filebeat/module
Aggiungi l'IP del server Elasticsearch. Modifica "filebeat.yml".
vim /etc/filebeat/filebeat.yml
Modifica la riga seguente.
output.elasticsearch.hosts: ['http://ELASTIC_SERVER_IP:9200']
Abilita e avvia il servizio Filebeat:
systemctl daemon-reload systemctl enable filebeat.service systemctl start filebeat.service
2. Installazione dello stack elastico
Ora configureremo il secondo server Centos con ELK.
Esegui le configurazioni sul tuo server dello stack elastico.
Preconfigurazioni
Come al solito, impostiamo prima il nome host.
hostnamectl set-hostname elk
Aggiorna il sistema:
yum update -y
Installazione di ELK
Installa Elastic Stack con i pacchetti RPM, quindi aggiungi il repository Elastic e la relativa chiave GPG:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Crea un file di repository:
vim /etc/yum.repos.d/elastic.repo
Aggiungi il seguente contenuto al file:
[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
Installazione di Elasticsearch
Installa il pacchetto Elasticsearch:
yum install elasticsearch-7.5.1
Elasticsearch è in ascolto per impostazione predefinita sull'interfaccia di loopback (localhost). Configura Elasticsearch per ascoltare un indirizzo non di loopback modificando /etc/elasticsearch/elasticsearch.yml e decommentando la configurazione di network.host. Regola il valore IP a cui desideri connetterti:
network.host: 0.0.0.0
Modifica le regole del firewall.
firewall-cmd --permanent --zone=public --add-rich-rule=' rule family="ipv4" source address="34.232.210.23/32" port protocol="tcp" port="9200" accept'
Ricarica le regole del firewall:
firewall-cmd --reload
L'ulteriore configurazione sarà necessaria per il file di configurazione della ricerca elastica.
Modifica il file "elasticsearch.yml".
vim /etc/elasticsearch/elasticsearch.yml
Cambia o modifica "node.name" e "cluster.initial_master_nodes".
node.name: <node_name>
cluster.initial_master_nodes: ["<node_name>"]
Abilita e avvia il servizio Elasticsearch:
systemctl daemon-reload
Abilita all'avvio del sistema.
systemctl enable elasticsearch.service
Avvia il servizio di ricerca elastica.
systemctl start elasticsearch.service
Verifica lo stato della ricerca elastica.
systemctl status elasticsearch.service
Controllare il file di registro per eventuali problemi.
tail -f /var/log/elasticsearch/elasticsearch.log
Una volta che Elasticsearch è attivo e funzionante, dobbiamo caricare il modello Filebeat. Esegui il seguente comando sul server Wazuh (abbiamo installato filebeat lì.)
filebeat setup --index-management -E setup.template.json.enabled=false
Installazione di Kibana
Installa il pacchetto Kibana:
yum install kibana-7.5.1
Installa il plug-in dell'app Wazuh per Kibana:
sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-3.11.0_7.5.1.zip
Plugin KibanaÈ necessario modificare le configurazioni di Kibana per accedere a Kibana dall'esterno.
Modifica il file di configurazione di Kibana.
vim /etc/kibana/kibana.yml
Modifica la riga seguente.
server.host: "0.0.0.0"
Configura gli URL delle istanze Elasticsearch.
elasticsearch.hosts: ["http://localhost:9200"]
Abilita e avvia il servizio Kibana:
systemctl daemon-reload systemctl enable kibana.service systemctl start kibana.service
Aggiunta dell'API Wazuh alle configurazioni di Kibana
Modifica "wazuh.yml".
vim /usr/share/kibana/plugins/wazuh/wazuh.yml
Modifica nome host, nome utente e password:
Salva ed esci dal file e riavvia il servizio Kibana.
systemctl restart kibana.service
Abbiamo installato il server Wazuh e il server ELK. Ora aggiungeremo host usando un agente.
3. Installazione dell'agente Wazuh
Io. Aggiunta del server Ubuntu
a. Installazione dei pacchetti necessari
apt-get install curl apt-transport-https lsb-release gnupg2
Installa la chiave GPG del repository Wazuh:
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -
Aggiungi il repository e quindi aggiorna i repository.
echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list
apt-get update
b. Installazione dell'agente Wazuh
Il comando Blow aggiunge automaticamente l'IP "WAZUH_MANAGER" alla configurazione dell'agente wazuh durante l'installazione.
WAZUH_MANAGER="52.91.79.65" apt-get install wazuh-agent
II. Aggiunta dell'host CentOS
Aggiungi il repository Wazuh.
rpm --import http://packages.wazuh.com/key/GPG-KEY-WAZUH
Modifica e aggiungi al repository:
vim /etc/yum.repos.d/wazuh.repo
Aggiungi i seguenti contenuti:
[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
Installa l'agente.
WAZUH_MANAGER="52.91.79.65" yum install wazuh-agent
4. Accesso alla dashboard di Wazuh
Sfoglia Kibana utilizzando l'IP.
http://IP or hostname:5601/
Vedrai l'interfaccia qui sotto.
Quindi fare clic sull'icona "Wazuh" per accedere alla sua dashboard. Vedrai la dashboard "Wazuh" come segue.
Qui puoi vedere gli agenti connessi, la gestione delle informazioni di sicurezza, ecc. quando fai clic su eventi di sicurezza; puoi vedere una vista grafica degli eventi.
Se sei arrivato fin qui, congratulazioni! Si tratta di installare e configurare il server Wazuh su CentOS.