Sicurezza Rete · 7 min read · Sep 12, 2025
Come installare lo strumento di monitoraggio della sicurezza di rete Zeek su Ubuntu 24.04

Zeek (precedentemente Bro) è una piattaforma gratuita e open-source per il monitoraggio della sicurezza di rete. È un potente analizzatore passivo del traffico di rete che indaga su attività sospette o dannose. Zeek può essere utilizzato come monitor di sicurezza di rete (NSM) e supporta un’ampia gamma di analisi del traffico, dal dominio della sicurezza alla misurazione delle prestazioni e alla risoluzione dei problemi.
In questo tutorial, imparerai come installare lo strumento di monitoraggio della sicurezza di rete Zeek sul server Ubuntu 24.04. Imparerai anche come eseguire Zeek in modalità cluster, come analizzare i log di Zeek con il comando ‘zeek-cut’ e come generare e analizzare i log JSON di Zeek con l’utilità ‘jq’.
Prerequisiti
Prima di iniziare, assicurati di avere quanto segue:
- Un server Ubuntu 24.04
- Un utente non root con privilegi di amministratore
Installazione di Zeek
Zeek è uno strumento di monitoraggio della sicurezza di rete per sistemi operativi simili a Unix. Può essere installato utilizzando più metodi. In questo esempio, installerai Zeek sul server Ubuntu 24.04 con il gestore di pacchetti APT dal servizio di build OpenSUSE.
Per prima cosa, esegui il comando qui sotto per aggiungere il repository di Zeek al tuo sistema Ubuntu.
echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/security:zeek.listOra scarica e aggiungi la chiave GPG per il repository di Zeek con il comando qui sotto.
curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_24.04/Release.key | \
gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/nullUna volta aggiunta la chiave GPG e il repository di Zeek, esegui il comando ‘ apt ‘ qui sotto per aggiornare il tuo pacchetto Ubuntu.
sudo apt updateOra puoi eseguire il comando ‘ apt ‘ qui sotto per controllare il pacchetto ‘ zeek ‘. Vedrai più versioni di Zeek.
sudo apt search zeek
sudo apt-cache policy zeek
Successivamente, installa Zeek con il seguente comando ‘ apt ‘. In questo esempio, installerai Zeek LTS.
sudo apt install zeekInserisci ‘ Y ‘ per confermare l’installazione.

Dopo che l’installazione è terminata, aggiungi la directory ‘ /opt/zeek/bin ‘ al PATH di sistema attraverso il file ‘ ~/.bashrc ‘. E poi ricarica il file ‘ ~/.bashrc ‘ per applicare le tue nuove modifiche. Con questo, puoi eseguire la riga di comando di Zeek attraverso il tuo terminale.
echo "export PATH=$PATH:/opt/zeek/bin" >> ~/.bashrc
source ~/.bashrcInfine, esegui il comando ‘ zeek ‘ qui sotto per controllare la versione di Zeek e i comandi e le opzioni di base.
zeek --version
zeek --helpVedrai un output simile al seguente:

Configurazione di Zeek
Dopo aver installato Zeek, devi configurare come Zeek verrà eseguito sulla tua infrastruttura. Puoi scegliere di eseguire Zeek in modalità standalone o cluster. Per grandi distribuzioni, puoi utilizzare la modalità cluster, in cui i componenti di Zeek sono installati su server separati. Per questo scopo di test, configureremo e eseguiremo Zeek in modalità cluster utilizzando un singolo server.
Controlla l’indirizzo IP del tuo server con il seguente comando ‘ ip ‘. In questo esempio, abbiamo un indirizzo IP del server Ubuntu ‘ 192.168.10.60 ‘.
ip aApri la configurazione di rete di Zeek ‘ /opt/zeek/etc/networks.cfg ‘ con l’editor ‘ nano ‘.
sudo nano /opt/zeek/etc/networks.cfgInserisci il tuo subnet di rete dei server target come segue.
192.168.10.0/24 Rete LocaleSalva il file ed esci dall’editor quando hai finito.
Ora apri la configurazione del nodo di Zeek ‘ /opt/zeek/etc/node.cfg ‘ utilizzando ‘ nano ‘.
sudo nano /opt/zeek/etc/node.cfgCommenta le seguenti righe per disabilitare la modalità standalone di Zeek. Per impostazione predefinita, Zeek viene eseguito in modalità standalone con ‘ localhost ‘ e l’interfaccia di rete ‘ eth0 ‘.
#[zeek]
#type=standalone
#host=localhost
#interface=eth0Incolla la seguente configurazione per eseguire Zeek in modalità cluster all’interno di un singolo server. Assicurati di cambiare l’indirizzo IP con l’indirizzo IP del tuo server Ubuntu. Come puoi vedere qui sotto, la modalità cluster di Zeek avrà più componenti come logger, manager, proxy e workers.
# logger
[zeek-logger]
type=logger
host=192.168.10.60
# manager
[zeek-manager]
type=manager
host=192.168.10.60
# proxy
[zeek-proxy]
type=proxy
host=192.168.10.60
# worker
[zeek-worker]
type=worker
host=192.168.10.60
interface=eth0
# worker localhost
[zeek-worker-lo]
type=worker
host=localhost
interface=loQuando hai finito, salva il file ed esci dall’editor.
Successivamente, esegui il comando ‘ zeekctl ‘ qui sotto per verificare la sintassi di Zeek. Se hai una configurazione corretta, vedrai un output ‘ scripts are ok ‘.
zeekctl check
Ora esegui il comando ‘ deploy ‘ per distribuire la tua installazione di Zeek. Con questo, il logger, il manager, il proxy e i workers di Zeek verranno avviati.
zeekctl deploy
Puoi controllare ciascun componente di Zeek con il comando qui sotto.
zeekctl statusNell’output qui sotto, puoi vedere che ciascun componente di Zeek è in esecuzione. Questo significa che la distribuzione del cluster Zeek a nodo singolo è riuscita.

Utilizzo di zeek-cut per analizzare i log di Zeek
Ora che hai installato e distribuito Zeek, i file di log della tua rete verranno generati nella directory ‘ /opt/zeek/logs/current ‘. Ci saranno più file di log di Zeek che devi conoscere e tenere d’occhio. In questa sezione, imparerai come utilizzare l’utilità ‘zeek-cut’ per generare log in formato TSV (Tab Separated Value).
Controlla la directory dei log di Zeek ‘ /opt/zeek/logs/current ‘ con il comando ‘ls’ qui sotto.
ls -ah /opt/zeek/logs/current/Vedrai più file di log come:
- conn.log: Il log delle connessioni sia per TCP che per UDP. Questo file di log fornisce le informazioni più utili come timestamp, durata della connessione, servizio e molto altro
- dns.log: Il file di log DNS (Domain Name System)
- http.log.log: Il log del protocollo di trasferimento ipertestuale (HTTP)
- ssh.log: Il log della shell sicura (SSH) per il tracciamento delle connessioni SSH.
- ssl.log: Il log del Secure Socket Layer (SSL) che contiene anche il log HTTPS
Ora spostati nella directory ‘ /opt/zeek/logs/current ‘ e puoi eseguire il comando ‘ cat ‘ per mostrare i log di Zeek e pipe l’output con il comando ‘ zeek-cut ‘ per analizzare l’output nel formato TSV (Tab Separated Value).
cd /opt/zeek/logs/current/
cat dns.log | zeek-cut id.orig_h query answers
cat dns.log | zeek-cut query answers id.orig_hIn questo esempio, ti mostreremo i valori dei campi ‘ id.orig_h ‘, ‘ query ‘ e ‘ answers ‘.

Puoi anche utilizzare il comando ‘ zeek-cut ‘ come segue per elaborare i log TSV e ottenere un output simile.
zeek-cut id.orig_h query answers < dns.log
Configurazione dell’output di Zeek in JSON
Zeek supporta più formati di log, inclusi TSV e JSON. In questa sezione, imparerai come generare un log di Zeek in formato JSON. Poi, imparerai come analizzare i log JSON con la riga di comando ‘jq’ in modo da poter leggere facilmente i tuoi log.
Apri la configurazione di Zeek ‘/opt/zeek/share/zeek/site/local.zeek’ con il seguente editor ‘nano’.
sudo nano /opt/zeek/share/zeek/site/local.zeekDecommenta la seguente riga per abilitare l’output del log in JSON.
@load policy/tuning/json-logsSalva il file ed esci dall’editor.
Ora esegui il comando ‘ zeekctl ‘ qui sotto per applicare e distribuire le tue modifiche. E una volta che il processo è terminato, il formato di log JSON verrà generato da Zeek.
zeekctl deployPuoi vedere il seguente output durante la distribuzione di Zeek.

Successivamente, esegui il comando ‘ cat ‘ qui sotto per controllare il file di log di Zeek. Vedrai che il log di Zeek è ora in formato JSON.
cat /opt/zeek/logs/current/dns.logAnalisi del formato JSON di Zeek con jq
Installa il pacchetto ‘ jq ‘ con il comando ‘apt’ qui sotto.
sudo apt install jq -yUna volta terminata l’installazione, vai nella directory ‘/opt/zeek/logs/current’ con il comando ‘cd’.
cd /opt/zeek/logs/current/Per analizzare i log in formato JSON, esegui il comando ‘jq’ qui sotto.
jq . dns.log
Se desideri avere un output compatto, utilizza l’opzione ‘-c’ come segue:
jq . -c dns.logInfine, puoi anche specificare file di log JSON con il comando ‘jq’ qui sotto.
jq -c '[."id.orig_h", ."query", ."answers"]' dns.log
Conclusione
Congratulazioni! Hai completato l’installazione dello strumento di monitoraggio della rete Zeek sul server Ubuntu 24.04. Hai imparato come distribuire Zeek in modalità cluster in un singolo nodo/server, analizzare i log di Zeek con l’utilità ‘ zeek-cut ‘ per generare il formato TSV (Tab Separated Value), generare i log di Zeek in formato JSON e analizzare i log JSON con l’utilità ‘jq’. Da qui, puoi procedere al passo successivo inviando i tuoi log JSON o i log di Zeek a un sistema di logging centralizzato come Graylog e ELK/EFK Stack.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.