Novidades Zeek

Zeek 7.0.0: novas funcionalidades e mudanças importantes na telemetria

Novidadesdo Zeek

A versão 7.0.0 do Zeek traz uma série de mudanças importantes, especialmente no framework de telemetria. A principal alteração é a adoção de um modelo orientado ao Prometheus, eliminando a agregação interna de métricas entre os nós. Em vez disso, agora há um endpoint de descoberta de serviço Prometheus, descrito na documentação atualizada. Para usar esse novo recurso, é necessário adicionar o campo metrics_port a cada nó na configuração do cluster, indicando a porta de conexão.

Alterações nos scripts e opções

Todas as opções, tipos e métodos relacionados a métricas foram movidos para o framework de telemetria. Por exemplo, as opções Broker::metrics_port e Broker::metrics_export_endpoint_name foram renomeadas para Telemetry::metrics_port e Telemetry::metrics_endpoint_name, respectivamente. Algumas opções antigas foram removidas, como:

  • Broker::metrics_export_interval
  • Broker::metrics_export_topic
  • Broker::metrics_import_topics
  • Broker::metrics_export_prefixes

Além disso, a unidade no log de telemetria foi removida, e as variáveis de ambiente BROKER_METRICS_* foram descontinuadas. Agora, todas as configurações de métricas devem ser feitas via variáveis de script equivalentes. Uma nova opção metrics_port foi adicionada ao node.cfg para definir o número da porta, e o registro de layout do cluster em cluster-layout.zeek pode ser populado automaticamente pelo zeekctl durante a instalação ou implantação.

Atualizações nas ferramentas e funções

A versão 7.0.0 também removeu os instrumentos que suportavam count em scripts e int64_t em C++, substituindo-os por versões double. Isso simplifica o código, já que o Prometheus lida apenas com double. O argumento is_sum foi removido das funções de criação de instrumentos, alinhando-se ao funcionamento do Prometheus, onde contadores são sempre somas e medidores não são.

O zeekctl agora define FileExtract::prefix como spool/extract_files/<node>, evitando a exclusão de arquivos extraídos ao parar nós de trabalho. Caso o recurso de extração de arquivos do Zeek nunca tenha sido habilitado, essa mudança não terá impacto.

Novas funcionalidades no Zeek 7.0.0

Entre as novas funcionalidades, destaca-se a capacidade de deletar o conteúdo de tables, sets, e vectors com o comando delete. Outra adição é a função can_load(), que, juntamente com a função bif find_in_zeekpath(), permite verificar se um @load não relativo pode funcionar, protegendo pacotes de script que podem ou não estar instalados.

Os pacotes do Zeek agora podem incluir uma string “local” na versão do Zeek, configurável via --localversion=XXX. Além disso, pacotes SMB2 que contêm múltiplos PDUs agora têm todos os cabeçalhos corretamente analisados, o que pode aumentar o uso de CPU em redes SMB2 intensas.

Outra adição importante é a função lookup_connection_analyzer_id(), que recupera o identificador numérico de um analisador associado a uma conexão, permitindo a supressão de um analisador desde o início para conexões específicas.

Funções aprimoradas e mudanças adicionais

A função from_json() agora suporta a ingestão de representações JSON de tables e objetos baseados em ports. O log analyzer.log agora inclui a opção de registrar analisadores desativados.

Em termos de funcionalidade, o campo fuid no log ftp.log foi ajustado para ser limpo após o comando correspondente, evitando que ele seja reaplicado a comandos subsequentes sem transferências de arquivo. Também foi feita uma alteração na função val_footprint(), que agora considera o tamanho de strings ao relatar footprints.

Depreciações e remoções

Algumas funcionalidades foram depreciadas ou removidas na versão 7.0.0. O --disable-archiver não faz mais efeito e será removido na versão 7.1, e o script prometheus.zeek do framework de telemetria também será removido na versão 7.1.

Além disso, a política tuning/defaults foi depreciada e será eliminada na versão 7.1, já que as configurações contidas nela se tornaram os padrões globais do Zeek.

Conclusão

A versão 7.0.0 do Zeek traz uma série de mudanças significativas que impactam tanto a telemetria quanto outras funcionalidades do software. As melhorias e novas adições fortalecem o Zeek como uma ferramenta robusta para análise de rede, enquanto as remoções e depreciações preparam o terreno para futuras atualizações. Para quem utiliza o Zeek em ambientes críticos, é fundamental revisar e ajustar as configurações conforme essas novas diretrizes para garantir a continuidade e eficácia do monitoramento de rede.