Segurança de Rede · 7 min read · Sep 12, 2025

Como Instalar a Ferramenta de Monitoramento de Segurança de Rede Zeek no Ubuntu 24.04

Zeek (anteriormente Bro) é uma plataforma gratuita e de código aberto para monitoramento de segurança de rede. É um poderoso analisador de tráfego de rede passivo que investiga atividades suspeitas ou maliciosas. Zeek pode ser usado como um monitor de segurança de rede (NSM) e suporta uma ampla gama de análises de tráfego, desde o domínio da segurança até a medição de desempenho e solução de problemas.

Neste tutorial, você aprenderá como instalar a ferramenta de monitoramento de segurança de rede Zeek no servidor Ubuntu 24.04. Você também aprenderá como executar o Zeek em modo cluster, como analisar logs do Zeek com o comando ‘zeek-cut’ e como gerar e analisar logs JSON do Zeek com a utilidade ‘jq’.

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • Um servidor Ubuntu 24.04
  • Um usuário não root com privilégios de administrador

Instalando o Zeek

Zeek é uma ferramenta de monitoramento de segurança de rede para sistemas operacionais semelhantes ao Unix. Ele pode ser instalado usando vários métodos. Neste exemplo, você instalará o Zeek no servidor Ubuntu 24.04 com o gerenciador de pacotes APT do serviço de construção OpenSUSE.

Primeiro, execute o comando abaixo para adicionar o repositório do Zeek ao seu sistema Ubuntu.

echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/security:zeek.list

Agora baixe e adicione a chave GPG para o repositório do Zeek com o comando abaixo.

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/null

Uma vez que a chave GPG e o repositório do Zeek estão adicionados, execute o comando ‘ apt ‘ abaixo para atualizar seu pacote Ubuntu.

sudo apt update

Agora você pode executar o comando ‘ apt ‘ abaixo para verificar o pacote ‘ zeek ‘. Você verá várias versões do Zeek.

sudo apt search zeek  
sudo apt-cache policy zeek

check zeek

Em seguida, instale o Zeek com o seguinte comando ‘ apt ‘. Neste exemplo, você instalará o Zeek LTS.

sudo apt install zeek

Digite ‘ Y ‘ para confirmar a instalação.

install zeek

Após a instalação ser concluída, adicione o diretório ‘ /opt/zeek/bin ‘ ao PATH do sistema através do arquivo ‘ ~/.bashrc ‘. E então recarregue o arquivo ‘ ~/.bashrc ‘ para aplicar suas novas alterações. Com isso, você pode executar a linha de comando do Zeek através do seu terminal.

echo "export PATH=$PATH:/opt/zeek/bin" >> ~/.bashrc  
source ~/.bashrc

Por último, execute o comando ‘ zeek ‘ abaixo para verificar a versão do Zeek e os comandos e opções básicos.

zeek --version  
zeek --help

Você verá uma saída como a seguinte:

zeek help

Configurando o Zeek

Após a instalação do Zeek, você precisa configurar como o Zeek será executado em sua infraestrutura. Você pode optar por executar o Zeek em modo autônomo ou em modo cluster. Para grandes implantações, você pode usar o modo cluster, onde os componentes do Zeek são instalados em servidores separados. Para este propósito de teste, configuraremos e executaremos o Zeek em modo cluster usando um único servidor.

Verifique o endereço IP do seu servidor com o seguinte comando ‘ ip ‘. Neste exemplo, temos um endereço IP do servidor Ubuntu ‘ 192.168.10.60 ‘.

ip a

Abra a configuração de rede do Zeek ‘ /opt/zeek/etc/networks.cfg ‘ com o editor ‘ nano ‘.

sudo nano /opt/zeek/etc/networks.cfg

Insira sua sub-rede de rede dos servidores-alvo como a seguinte.

192.168.10.0/24 Rede Local

Salve o arquivo e saia do editor quando terminar.

Agora abra a configuração do nó do Zeek ‘ /opt/zeek/etc/node.cfg ‘ usando ‘ nano ‘.

sudo nano /opt/zeek/etc/node.cfg

Comente as seguintes linhas para desativar o modo autônomo do Zeek. Por padrão, o Zeek está sendo executado em modo autônomo com o ‘ localhost ‘ e a interface de rede ‘ eth0 ‘.

#[zeek]  
#type=standalone  
#host=localhost  
#interface=eth0

Cole a seguinte configuração para executar o Zeek em modo cluster dentro de um único servidor. Certifique-se de alterar o endereço IP para o endereço IP do seu servidor Ubuntu. Como você pode ver abaixo, o modo cluster do Zeek terá vários componentes, como 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=lo

Quando terminar, salve o arquivo e saia do editor.

Em seguida, execute o comando ‘ zeekctl ‘ abaixo para verificar sua sintaxe do Zeek. Se você tiver uma configuração adequada, verá uma saída ‘ scripts are ok ‘.

zeekctl check

check zeek config

Agora execute o comando ‘ deploy ‘ para implantar sua instalação do Zeek. Com isso, o logger, manager, proxy e workers do Zeek serão iniciados.

zeekctl deploy

deploy zeek

Você pode verificar cada componente do Zeek com o comando abaixo.

zeekctl status

Na saída abaixo, você pode ver que cada componente do Zeek está em execução. Isso significa que a implantação do cluster de nó único do Zeek foi bem-sucedida.

check zeek status

Usando zeek-cut para analisar Logs do Zeek

Agora que você instalou e implantou o Zeek, arquivos de log da sua rede serão gerados no diretório ‘ /opt/zeek/logs/current ‘. Haverá vários arquivos de log do Zeek que você deve conhecer e ficar de olho. Nesta seção, você aprenderá como usar a utilidade ‘zeek-cut’ para gerar logs no formato TSV (Tab Separated Value).

Verifique o diretório de logs do Zeek ‘ /opt/zeek/logs/current ‘ com o comando ‘ls’ abaixo.

ls -ah /opt/zeek/logs/current/

Você verá vários arquivos de log, como:

  • conn.log: O log de conexão para TCP e UDP. Este arquivo de log fornece as informações mais úteis, como timestamp, duração da conexão, serviço e muito mais
  • dns.log: O arquivo de log DNS (Domain Name System)
  • http.log.log: O log do Protocolo de Transferência de Hipertexto (HTTP)
  • ssh.log: O log do Shell Seguro (SSH) para rastreamento de conexões SSH.
  • ssl.log: O log da Camada de Soquete Seguro (SSL) que também contém o log HTTPS

Agora mude para o diretório ‘ /opt/zeek/logs/current ‘ e execute o comando ‘ cat ‘ para mostrar os logs do Zeek e canalizar a saída com o comando ‘ zeek-cut ‘ para analisar a saída para o 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_h

Neste exemplo, mostraremos valores dos campos ‘ id.orig_h ‘, ‘ query ‘ e ‘ answers ‘.

zeek log

Você também pode usar o comando ‘ zeek-cut ‘ como o seguinte para processar os logs TSV e obter uma saída semelhante.

zeek-cut id.orig_h query answers < dns.log

zeek-cut log

Configurando a saída do Zeek para JSON

O Zeek suporta vários formatos de log, incluindo TSV e JSON. Nesta seção, você aprenderá como gerar um log do Zeek no formato JSON. Em seguida, você aprenderá como analisar logs JSON com a linha de comando ‘jq’ para que você possa ler seus logs facilmente.

Abra a configuração do Zeek ‘/opt/zeek/share/zeek/site/local.zeek’ com o seguinte editor ‘nano’.

sudo nano /opt/zeek/share/zeek/site/local.zeek

Descomente a seguinte linha para habilitar a saída do log para JSON.

@load policy/tuning/json-logs

Salve o arquivo e saia do editor.

Agora execute o comando ‘ zeekctl ‘ abaixo para aplicar e implantar suas alterações. E uma vez que o processo esteja concluído, o formato de log JSON será gerado pelo Zeek.

zeekctl deploy

Você pode ver a seguinte saída durante a implantação do Zeek.

deploy zeek

Em seguida, execute o comando ‘ cat ‘ abaixo para verificar o arquivo de log do Zeek. Você verá que o log do Zeek agora está no formato JSON.

cat /opt/zeek/logs/current/dns.log

Analisando o formato JSON do Zeek com jq

Instale o pacote ‘ jq ‘ com o comando ‘apt’ abaixo.

sudo apt install jq -y

Uma vez que a instalação esteja concluída, vá para o diretório ‘/opt/zeek/logs/current’ com o comando ‘cd’.

cd /opt/zeek/logs/current/

Para analisar logs no formato JSON, execute o comando ‘jq’ abaixo.

jq . dns.log

json log parsing with jq

Se você quiser ter uma saída compacta, use a opção ‘-c’ como a seguinte:

jq . -c dns.log

Por último, você também pode especificar arquivos de logs JSON com o comando ‘jq’ abaixo.

jq -c '[."id.orig_h", ."query", ."answers"]' dns.log

jq show specific key-value

Conclusão

Parabéns! Você completou a instalação da Ferramenta de Monitoramento de Rede Zeek no servidor Ubuntu 24.04. Você aprendeu como implantar o Zeek em modo cluster em um único nó/servidor, analisar logs do Zeek com a utilidade ‘ zeek-cut ‘ para gerar o formato TSV (Tab Separated Value), gerar logs do Zeek no formato JSON e analisar logs JSON com a utilidade ‘jq’. A partir daqui, você pode prosseguir para o próximo passo enviando seus logs JSON ou logs do Zeek para um sistema de log centralizado, como Graylog e ELK/EFK Stack.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.