Hace unos meses nuestro compañero Linux Post Install compartió aquí en el blog un post dedicado a Zeek, en el cual da un breve resumen y aborda sus características, entre algunos datos adicionales más. La razón de hablar sobre ello, es que hace poco se dio a conocer el lanzamiento de la nueva versión de este sistema de análisis de tráfico y detección de intrusos en la red, llegando este a su nueva versión, «Zeek 6.0».
Para quienes aún desconocen de Zeek, les recomiendo leer el articulo de nuestro compañero, ya que lo explica de maravilla. Pero tomando un poco de la información que nos compartió en su blog, podemos decir que Zeek (anteriormente distribuido bajo el nombre de Bro) es una plataforma de análisis de tráfico enfocada principalmente, pero no limitada a, monitorear eventos relacionados con la seguridad.
La plataforma proporciona módulos para analizar y analizar varios protocolos de red de la capa de aplicación, teniendo en cuenta el estado de las conexiones y permitiéndole generar un registro (archivo) detallado de la actividad de la red.
En Zeek se propone un lenguaje específico de dominio para escribir scripts para monitorear y detectar anomalías, teniendo en cuenta las especificidades de infraestructuras específicas. El sistema está optimizado para su uso en redes de gran ancho de banda. Se proporciona una API para la integración con sistemas de información de terceros y el intercambio de datos en tiempo real.
Principales novedades de Zeek 6.0
En esta nueva versión que se presenta de Zeek 6.0, se destaca que ahora se incluye el complemento ZeekJS, que permite usar el lenguaje JavaScript para secuencias de comandos, en lugar del lenguaje específico de dominio específico de Zeek. El acceso de JavaScript a la API de Zeek cubre más de 500 eventos, variables y funciones y la implementación se basa en libnode (una variante de Node.js en C++).
Otro de los cambios que se destaca, es que se presenta una revisión de cmake, el cual llega presenta una nueva API para desarrolladores de complementos y elimina muchas construcciones restantes de la era Bro. Se menciona que aún se conserva una capa de compatibilidad para mantener funcional el código de cmake del complemento existente, pero todos los autores de complementos deben aumentar su requisito de versión de cmake a 3.15, que coincida con el de Zeek.
Ademas de ello, se destaca que Zeek 6 continúa el trabajo que comenzó en 5.2 para admitir analizadores integrados con tecnología Spicy y que ahora está completamente integrada con Zeek. Se menciona que los analizadores de protocolo Finger y Syslog se han cambiado para usar Spicy.
De los demás cambios que se destacan:
- ZeekControl ahora es compatible con múltiples registradores. Cuando se configuran varios nodos de registro
en node.cfg de ZeekControl, de forma predeterminada, la lógica de archivo de registros agrega el nombre de un registrador como sufijo al nombre del archivo. - Los scripts ahora tienen la capacidad de cargar datos en formato JSON (se agregó la función from_json()).
- Se agregó soporte para mantener y archivar varios registros asociados con diferentes archivos al mismo tiempo en zeekctl y zeek-archiver.
- Los rangos de intranet como 192.168.0.0/16 ahora se tratan y registran como direcciones locales de forma predeterminada.
- De forma predeterminada, la funcionalidad de recopilación centralizada de métricas está deshabilitada (anteriormente, el nodo de control en el puerto de red 9911 recibía métricas mediante Prometheus).
- Los eventos de Zeek ahora contienen marcas de tiempo de la red. Para los eventos programados, la marca de tiempo
representa la hora de la red para la que se programó el evento; de lo contrario,
es la hora de la red en el momento de la creación del evento.
Finalmente si estás interesado en poder conocer más al respecto sobre este lanzamiento, puedes consultar los detalles en el siguiente enlace.
¿Como instalar Zeek en Linux?
Para los interesados en poder instalar Zeek en su sistema, deben saber que se ofrecen binarios preconstruidos a través de openSUSE Build Service y basta con elegir la distribucion para que nos proporcione los comandos de instalacion.
Por ejemplo, para el caso de 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
En el caso de los que son usuarios de Arch Linux solo deben contar con el repositorio de AUR habilitado y teclear en una terminal:
yay -S zeek
Si quieres compilar el código por tu cuenta o conocer más, puedes consultar la documentación de Zeek en el siguiente enlace.