E foi lançado o Zeek 6 com suporte a linguagem JavaScript via plugin ZeekJS. Confira as novidades e veja como instalar no Linux.
Zeek (anteriormente distribuído sob o nome de Bro) é uma plataforma de análise de tráfego focada principalmente, mas não se limitando ao monitoramento de eventos relacionados à segurança.
A plataforma fornece módulos para análise e análise de vários protocolos de rede da camada de aplicação, levando em consideração o estado das conexões e permitindo gerar um log detalhado (arquivo) da atividade da rede.
No Zeek é proposta uma linguagem específica de domínio para escrever scripts para monitorizar e detetar anomalias, tendo em conta as especificidades de infraestruturas específicas.
O sistema é otimizado para uso em redes de alta largura de banda. Uma API é fornecida para integração com sistemas de informação de terceiros e troca de dados em tempo real.
Novidades do Zeek 6
No Zeek 6.0 destaca-se que agora foi incluído o plugin ZeekJS, que permite usar a linguagem JavaScript para scripts, ao invés da linguagem específica de domínio do Zeek.
O acesso JavaScript à API Zeek abrange mais de 500 eventos, variáveis e funções e a implementação é baseada em libnode (uma variante C++ de Node.js).
Outra mudança que se destaca é uma revisão do cmake, que introduz uma nova API para desenvolvedores de plugins e remove muitas compilações remanescentes da era Bro.
É mencionado que uma camada de compatibilidade ainda é mantida para manter o código cmake do plug-in existente funcional, mas todos os autores de plug-ins devem aumentar o requisito de versão do cmake para 3.15, correspondendo ao de Zeek.
Além disso, observa-se que o Zeek 6 continua o trabalho iniciado no 5.2 para oferecer suporte a scanners embutidos com tecnologia Spicy e agora está totalmente integrado ao Zeek. É mencionado que os analisadores de protocolo Finger e Syslog foram alterados para usar o Spicy.
Das outras alterações presentes no Zeek 6, destacam-se:
- O ZeekControl agora oferece suporte a vários registradores. Quando vários nós de log são configurados
no ZeekControl node.cfg, por padrão, a lógica do arquivo de log adiciona um nome de logger como um sufixo ao nome do arquivo. - Os scripts agora têm a capacidade de carregar dados no formato JSON (função from_json() adicionada).
- Adicionado suporte para manter e arquivar vários logs associados a diferentes arquivos ao mesmo tempo em zeekctl e zeek-archiver.
- Intervalos de intranet como 192.168.0.0/16 agora são tratados e registrados como endereços locais por padrão.
- Por padrão, a funcionalidade de coleta centralizada de métricas está desativada (anteriormente, o nó de controle na porta de rede 9911 recebia métricas via Prometheus).
- Os eventos Zeek agora contêm carimbos de data/hora da rede. Para eventos agendados, o timestamp
representa o horário da rede para o qual o evento está agendado; caso contrário,
será o horário da rede no momento em que o evento foi criado.
Para saber mais sobre essa versão do Zeek, acesse a nota de lançamento.
Como instalar ou atualizar o Zeek
Para os interessados em poder instalar o Zeek em seu sistema, devem saber que os binários pré-construídos são oferecidos através do openSUSE Build Service e basta escolher a distribuição para fornecer os comandos de instalação.
Por exemplo, para o caso do Ubuntu 23.04:
echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_23.04/ /' | sudo tee /etc/apt/sources.list.d/security:zeek.list
curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_23.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
sudo apt update
sudo apt install zeek
No caso daqueles que são usuários do Arch Linux, eles devem ter apenas o repositório ou AUR ativado e digite em um terminal:
yay -S zeek
Se você quiser compilar o código sozinho ou aprender mais, pode consultar a documentação do Zeek no seguinte endereço.