Ogni Agent inizia la sua vita con l'installazione su una macchina che si intende proteggere e inserire nel perimetro del CERT. All'installazione segue sempre un ENROLLMENT (ovvero Avvio e Registrazione) dell'Agent, nel quale grazie alla pre-configurazione dei comandi, questo si allinea alla piattaforma del CERT con uno scambio di chiavi sicuro.
Dopo la prima fase di iscrizione, ogni Agent, in qualsiasi momento può trovarsi in diversi stati rispetto alla piattaforma del CERT con la quale è collegato.
Nell'immagine vengono rappresentati gli stati di vita dell'Agent:
Never connected: l'agente è stato registrato ma non è ancora collegato al gestore del CERT.
Pending: il processo di autenticazione non è stato completato perché il gestore del CERT ha ricevuto una richiesta di connessione dall'agente, ma non ha ricevuto nient'altro. L'agente sarà in questo stato una volta nel suo ciclo di vita dopo ogni avvio. Se l'agente persiste in questo stato, può indicare un problema di connettività.
Active: l'agente si è connesso con successo e ora può comunicare con il gestore del CERT.
Disconnected: il gestore del CERT prenderà in considerazione l'agente disconnesso se non riceve alcun keep alive all'interno del range di tempo (agents-disconnection-time) di 10m.
Un agent della piattaforma CERT è un Agent di Wazhu e ha un'architettura modulare. Ogni componente è responsabile delle proprie attività, tra cui il monitoraggio del file system, la lettura dei messaggi di log, la raccolta dei dati di inventario, la scansione della configurazione di sistema e la ricerca di malware.
Nello schema qui riportato c'è una rappresentazione grafica dei moduli presenti nell'Agent alla quale si fa seguire una descrizione:
Log collector: questo componente agente può leggere file di log semplici ed eventi di Windows, raccogliendo messaggi di log del sistema operativo e delle applicazioni. Supporta i filtri XPath per gli eventi di Windows e riconosce formati multi-riga come i log di audit di Linux. Può anche arricchire gli eventi JSON con metadati aggiuntivi.
Command execution: gli agenti eseguono periodicamente comandi autorizzati, raccogliendone l'output e segnalandolo al server CERT per ulteriori analisi. È possibile utilizzare questo modulo per diversi scopi, come il monitoraggio dello spazio rimanente sul disco rigido o l'ottenimento di un elenco degli ultimi utenti che hanno effettuato l'accesso.
File integrity monitoring (FIM): questo modulo monitora il file system, segnalando quando i file vengono creati, eliminati o modificati. Tiene traccia delle modifiche agli attributi, ai permessi, alla proprietà e al contenuto dei file. Quando si verifica un evento, acquisisce in tempo reale i dettagli relativi a chi, cosa e quando. Inoltre, il modulo FIM crea e gestisce un database con lo stato dei file monitorati, consentendo l'esecuzione di query da remoto.
Security configuration assessment (SCA): questo componente fornisce una valutazione continua della configurazione, utilizzando controlli predefiniti basati sui benchmark del Center of Internet Security (CIS).
System inventory: questo modulo agente esegue periodicamente scansioni, raccogliendo dati di inventario come la versione del sistema operativo, le interfacce di rete, i processi in esecuzione, le applicazioni installate e un elenco delle porte aperte. I risultati delle scansioni vengono archiviati in database SQLite locali e possono essere interrogati da remoto.
Malware detection: utilizzando un approccio non basato su firme, questo componente è in grado di rilevare anomalie e la possibile presenza di rootkit. Inoltre, cerca processi, file e porte nascosti, monitorando le chiamate di sistema.
Active Response: questo modulo esegue azioni automatiche quando vengono rilevate minacce, attivando risposte per bloccare una connessione di rete, interrompere un processo in esecuzione o eliminare un file dannoso. Gli utenti possono anche creare risposte personalizzate quando necessario e personalizzare, ad esempio, le risposte per l'esecuzione di un file binario in una sandbox, l'acquisizione del traffico di rete e la scansione di un file con un antivirus.
Puoi avere necessità di rimuovere l'Agent dalla macchina installata in qualsiasi momento, qui di seguito riportiamo i comandi utili ad effettuare la disinstallazione completa e interrompere la protezione del CERT dall'host.
SISTEMI LINUX
Puoi disinstallare usando YUM, digitando il comando Shell/BASH: "yum remove wazuh-agent".
Puoi disinstallare usando APT, digitando il comando Shell/BASH: "apt-get remove --purge wazuh-agent".
SISTEMI WINDOWS
Puoi disinstallare usando Prompt dei Comandi, digitando: "msiexec.exe /x wazuh-agent-4.11.2-1.msi /qn".
SISTEMI MACOS
Puoi fermare il processo usando Terminale Shell/BASH, digitando: "launchctl unload /Library/LaunchDaemons/com.wazuh.agent.plist".
Rimuovere il pacchetto completo con: "/usr/sbin/pkgutil --forget com.wazuh.pkg.wazuh-agent".