Passa al contenuto principale
Versione: 1.0.0

Wazuh su Aruba Cloud

Distribuisci Wazuh — una piattaforma open-source SIEM, XDR e CSPM — su Aruba Cloud tramite Terraform e cloud-init. Questo esempio distribuisce un deployment all-in-one single-node usando lo script di installazione rapida ufficiale di Wazuh.

Versione provider: arubacloud/arubacloud ~> 1.0 | Terraform: ≥ 1.9


Introduzione​

Wazuh è una piattaforma di sicurezza unificata che combina un sistema SIEM (Security Information and Event Management), XDR (Extended Detection and Response) e CSPM (Cloud Security Posture Management) in un'unica soluzione. Il deployment all-in-one include:

  • Wazuh Indexer — motore di indicizzazione log e alerting basato su OpenSearch
  • Wazuh Manager — gestione agenti, correlazione regole e rilevamento minacce
  • Wazuh Dashboard — interfaccia web basata su Kibana per alert, conformità e investigazione

Requisiti di risorse: Wazuh è intensivo in risorse. Il minimo per un deployment all-in-one utilizzabile è 8 vCPU / 16 GB RAM e 200 GB di disco. Non tentare di distribuire su una VM più piccola — l'indexer OpenSearch andrà in OOM e fallirà.

Tempo di bootstrap: L'installer scarica e configura più componenti. Aspetta 20–30 minuti prima che la dashboard sia accessibile.


Panoramica dell'architettura​


Infrastruttura creata​

RisorsaPattern nomeDescrizione
arubacloud_projectwazuh-prodContenitore progetto
arubacloud_vpcwazuh-prod-vpcVirtual Private Cloud
arubacloud_subnetwazuh-prod-subnetSubnet di base
arubacloud_securitygroupwazuh-prod-vm-sgSecurity group
arubacloud_securityrulewazuh-prod-vm-sshIngresso SSH
arubacloud_securityrulewazuh-prod-vm-dashboardDashboard HTTPS TCP 443
arubacloud_securityrulewazuh-prod-vm-agent-eventsEventi agente TCP 1514
arubacloud_securityrulewazuh-prod-vm-agent-enrollRegistrazione agente TCP 1515
arubacloud_elasticipwazuh-prod-vm-eipIP pubblico VM
arubacloud_blockstoragewazuh-prod-bootDisco di avvio 200 GB (Performance)
arubacloud_keypairwazuh-prod-keypairChiave pubblica SSH
arubacloud_cloudserverwazuh-prod-vmCloudServer VM

Costo mensile stimato​

RisorsaSpecificheCosto/mese stimato
CloudServer VMCSO8A16 — 8 vCPU / 16 GB~€95
Disco di avvio200 GB Performance~€30
Elastic IP—~€3
Totale~€128/mese

Requisiti​

  • Terraform ≥ 1.9
  • ArubaCloud Terraform Provider ~> 1.0
  • Un account ArubaCloud con credenziali API OAuth2
  • Una coppia di chiavi SSH

Variabili​

Obbligatorie​

VariabileDescrizione
arubacloud_client_idClient ID OAuth2 ArubaCloud
arubacloud_client_secretClient secret OAuth2 ArubaCloud
ssh_public_keyContenuto della chiave pubblica SSH
admin_passwordPassword admin dashboard Wazuh (min 8 caratteri, deve includere maiusc, minusc, cifra, speciale)

Opzionali​

VariabileDefaultDescrizione
app_name"wazuh"Nome breve usato in tutti i nomi delle risorse
environment"prod"Etichetta ambiente
location"ITBG-Bergamo"Regione ArubaCloud
zone"ITBG-1"Zona di disponibilità
billing_period"Hour""Hour" o "Month"
vm_flavor"CSO8A16"Flavor CloudServer (min 8 vCPU / 16 GB)
vm_image"LU22-001"Immagine disco di avvio (Ubuntu 22.04 LTS)
vm_disk_size_gb200Dimensione disco di avvio in GB (min 50 GB)
ssh_cidr"0.0.0.0/0"CIDR per SSH — limita in produzione
admin_cidr"0.0.0.0/0"CIDR per dashboard HTTPS — limita sempre
agent_cidr"0.0.0.0/0"CIDR per porte agente 1514/1515

Output​

OutputDescrizione
dashboard_urlURL HTTPS dashboard Wazuh
vm_public_ipIndirizzo IP pubblico della VM
ssh_commandComando SSH per connettersi alla VM
agent_manager_ipIP del manager da configurare in ossec.conf dell'agente

Istruzioni di distribuzione​

1. Clona e naviga​

git clone https://github.com/arubacloud/terraform-arubacloud-examples.git
cd terraform-arubacloud-examples/wazuh

2. Configura le variabili​

cp terraform.tfvars.example terraform.tfvars

Imposta credenziali, una password admin robusta e limita i CIDR:

admin_password = "Ch@ngeMe2024!"
admin_cidr = "203.0.113.42/32"
agent_cidr = "10.0.0.0/8"
ssh_cidr = "203.0.113.42/32"

3. Distribuisci​

terraform init
terraform plan
terraform apply

terraform apply si completa in ~2 minuti (VM distribuita). Il bootstrap Wazuh continua in background per 20–30 minuti. Monitora il progresso:

ssh ubuntu@$(terraform output -raw vm_public_ip)
sudo tail -f /var/log/wazuh-install.log

4. Accedi alla dashboard​

terraform output dashboard_url

Accedi con admin / admin_password. Accetta l'avviso del certificato autofirmato (o installa un certificato attendibile in seguito).

5. Installa gli agenti sugli host monitorati​

Su ogni host che vuoi monitorare:

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 /etc/apt/sources.list.d/wazuh.list
apt-get update && apt-get install -y wazuh-agent

# Configura l'indirizzo del manager
WAZUH_MANAGER="$(terraform output -raw agent_manager_ip)" \
systemctl start wazuh-agent
systemctl enable wazuh-agent

Raccomandazioni di sicurezza​

  1. Limita sempre admin_cidr al tuo IP di gestione. La dashboard Wazuh contiene i dati completi degli eventi di sicurezza per la tua infrastruttura.

  2. Limita agent_cidr al CIDR della tua infrastruttura monitorata, non 0.0.0.0/0. Questo impedisce la registrazione di agenti arbitrari.

  3. Sostituisci il certificato autofirmato. L'installazione rapida genera un certificato autofirmato. Per la produzione, usa un certificato appropriato — tramite Let's Encrypt (richiede un dominio) o la tua CA.


Risoluzione dei problemi​

Dashboard non si carica dopo 30 minuti​

ssh ubuntu@$(terraform output -raw vm_public_ip)
sudo tail -50 /var/log/wazuh-install.log
sudo systemctl status wazuh-indexer wazuh-manager wazuh-dashboard

La causa più comune è RAM insufficiente — verifica che la VM abbia almeno 16 GB e che OpenSearch non venga terminato per OOM:

sudo journalctl -u wazuh-indexer -n 50
dmesg | grep -i "killed process"

Login fallisce dopo la distribuzione​

Il cambio password potrebbe aver fallito. Controlla il log:

sudo cat /var/log/wazuh-password-change.log

Se necessario, connettiti via SSH alla VM e riesegui manualmente lo strumento per le password:

sudo bash /root/wazuh-install-files/wazuh-passwords-tool.sh \
-u admin -p "YourNewPassword" -A
sudo systemctl restart wazuh-indexer wazuh-manager wazuh-dashboard

Riferimenti​