Descrizione dei servizi Cyberwatch
La suite software Cyberwatch si basa sull’utilizzo di immagini Docker. È possibile utilizzare Docker swarm o Kubernetes come orchestratore. I container offrono un insieme di servizi che comunicano tra loro e costituiscono i componenti della suite software.
Questa documentazione elenca e descrive tutti i servizi necessari al funzionamento della suite software Cyberwatch, nonché la loro presenza o assenza sui server Cyberwatch in base al tipo di architettura scelto.
Lo stato di questi servizi può essere consultato dal server Cyberwatch tramite il comando seguente:
sudo cyberwatch status
Nel caso in cui non tutti i servizi siano in esecuzione, consultare i log del servizio.
Descrizione di ciascun servizio
- db
- Database MariaDB in cui sono memorizzati i dati dell’applicazione.
- nginx
- Server web responsabile dell’interfaccia tra l’applicazione e l’esterno. Per impostazione predefinita, il container espone le porte 80 e 443 verso l’esterno. Il servizio reindirizza le richieste al container appropriato (web, kibana, third_parties).
- web
- Container Olympe responsabile dell’elaborazione delle richieste web.
- sidekiq_master
- Container Olympe responsabile dell’esecuzione dei job in modalità asincrona. Il servizio elabora i job che devono essere eseguiti sul nodo master. Il servizio è stato aggiunto con la piattaforma di base in versione 5.21.
- sidekiq
- Simile a sidekiq_master, con la differenza che il servizio è disponibile su tutti i tipi di nodo. Il servizio elabora i job che non devono essere eseguiti su uno scanner specifico.
- sidekiq_node
- Simile a sidekiq, ma utilizzato per eseguire i job su uno scanner specifico. È responsabile in particolare della connessione alle macchine monitorate tramite connessione agentless.
- cron
- Scheduler dei job dell’applicazione. Rimosso nelle piattaforme di base in versione 5.21 o successiva.
- redis
- Database in RAM utilizzato per la coda dei job.
- cache
- Database in RAM utilizzato per la cache dell’applicazione.
- elasticsearch
- Container responsabile degli indici Elasticsearch.
- kibana
- Strumento di visualizzazione che consente la creazione di dashboard personalizzate.
- web_scanner
- Motore delle scansioni dei target di rete e dei siti web.
- container_scanner
- Motore delle scansioni delle immagini Docker.
- third_parties
- Container contenente il file cab di Windows.
Servizi previsti su ciascun nodo
| Servizio | Nodo master | Nodo satellite indipendente |
|---|---|---|
| db | ✓ | |
| nginx | ✓ | ✓ |
| web | ✓ | ✓ |
| sidekiq_master | ✓ | |
| sidekiq | ✓ | ✓ |
| sidekiq_node | ✓ | ✓ |
| cron | ✓(1) | |
| redis | ✓ | |
| cache | ✓ | ✓ |
| elasticsearch | ✓ | |
| kibana | ✓ | |
| web_scanner | ✓ | ✓ |
| container_scanner | ✓ | ✓ |
| third_parties | ✓(2) | ✓(2) |
(1) Solo nelle versioni della piattaforma di base fino alla 5.20 inclusa.
(2) Solo sui nodi offline.