Cómo instalar la herramienta de supervisión de seguridad de red Zeek en Ubuntu 22.04

Zeek es una herramienta de supervisión de la seguridad gratuita, de código abierto y líder mundial, que se utiliza como sistema de detección de intrusos en la red y analizador del tráfico de red. Los profesionales de la seguridad lo utilizan para detectar firmas sospechosas y rastrear la actividad DNS, HTTP y FTP. Zeek funciona registrando la actividad de la red en un archivo independiente. Este archivo contiene toda la información importante, como tipos MIME, respuestas del servidor, solicitudes DNS, sesiones HTTP, URI solicitadas, certificados SSL, etc.

Este tutorial te mostrará cómo instalar la herramienta de seguridad de red Zeek en Ubuntu 22.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 22.04 con un mínimo de 2 GB de RAM.
  • Una contraseña raíz configurada en el servidor.

Cómo empezar

En primer lugar, debes actualizar todos los paquetes de tu sistema a la versión actualizada. Puedes actualizarlos todos ejecutando el siguiente comando.

apt update -y
apt upgrade -y

Después de actualizar todos los paquetes del sistema, instala algunos paquetes necesarios utilizando el siguiente comando.

apt install curl gnupg2 wget -y

Añadir repositorio Zeek

Por defecto, el paquete Zeek no está incluido en el repositorio por defecto de Ubuntu. Así que tendrás que añadir el repositorio Zeek a APT.

Primero, descarga y añade la clave GPG de Zeek con el siguiente comando.

curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_22.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/security_zeek.gpg

A continuación, añade el repositorio Zeek con el siguiente comando.

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

A continuación, actualiza la caché del repositorio con el siguiente comando.

apt update -y

Instalar Zeek

Ya puedes instalar la herramienta Zeek con sólo ejecutar el siguiente comando.

apt install zeek -y

Durante la instalación, se te pedirá que selecciones tu servidor de correo como se muestra a continuación:

Configuración de Postfix para Zeek

Selecciona sólo local y pulsa la tecla Intro. Se te pedirá que indiques el nombre de host de tu servidor de correo.

Establecer el nombre de host del sistema para Zeek

Escribe tu nombre de host y pulsa la tecla Intro para finalizar la instalación.

A continuación, tendrás que añadir la ruta de instalación de Zeek a tu variable de sistema. Puedes añadirla con el siguiente comando.

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

A continuación, activa la variable de sistema con el siguiente comando.

source ~/.bashrc

Ahora puedes verificar la versión de Zeek con el siguiente comando:

zeek --version

Obtendrás la siguiente salida.

zeek version 5.1.1

Configurar el servidor Zeek

En primer lugar, edita el archivo de configuración de red de Zeek y define tu red.

nano /opt/zeek/etc/networks.cfg

Aquí tienes las redes por defecto. Puedes añadir más redes al final del archivo.

10.0.0.0/8          Private IP space
172.16.0.0/12       Private IP space
192.168.0.0/16      Private IP space

Guarda y cierra el archivo y luego edita el archivo de configuración principal de Zeek.

nano /opt/zeek/etc/node.cfg

Comenta las siguientes líneas:

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

A continuación, añade las siguientes configuraciones al final del archivo.

[zeek-logger]
type=logger
host=your-server-ip
#
[zeek-manager]
type=manager
host=your-server-ip
#
[zeek-proxy]
type=proxy
host=your-server-ip
#
[zeek-worker]
type=worker
host=your-server-ip
interface=eth0
#
[zeek-worker-lo]
type=worker
host=localhost
interface=lo

Guarda el archivo y comprueba la configuración de Zeek con el siguiente comando.

zeekctl check

Obtendrás la siguiente salida.

Hint: Run the zeekctl "deploy" command to get started.
zeek-logger scripts are ok.
zeek-manager scripts are ok.
zeek-proxy scripts are ok.
zeek-worker scripts are ok.
zeek-worker-lo scripts are ok.

Ahora puedes desplegar Zeek utilizando el siguiente comando.

zeekctl deploy

Obtendrás el siguiente resultado.

checking configurations ...
installing ...
creating policy directories ...
installing site policies ...
generating cluster-layout.zeek ...
generating local-networks.zeek ...
generating zeekctl-config.zeek ...
generating zeekctl-config.sh ...
stopping ...
stopping workers ...
stopping proxy ...
stopping manager ...
stopping logger ...
starting ...
starting logger ...
starting manager ...
starting proxy ...
starting workers ...

Comprobar el estado de Zeek

En este punto, Zeek está instalado y configurado. Ahora puedes comprobar el estado de Zeek con el siguiente comando.

zeekctl status

Obtendrás el siguiente resultado.

Name         Type    Host             Status    Pid    Started
zeek-logger  logger  209.23.10.179    running   58935  19 Jan 05:37:02
zeek-manager manager 209.23.10.179    running   58985  19 Jan 05:37:03
zeek-proxy   proxy   209.23.10.179    running   59035  19 Jan 05:37:05
zeek-worker  worker  209.23.10.179    running   59107  19 Jan 05:37:06
zeek-worker-lo worker  localhost        running   59104  19 Jan 05:37:06

Zeek almacena sus registros en el directorio /opt/zeek/logs/current/. Puedes comprobar todos los archivos de registro con el siguiente comando.

ls -l /opt/zeek/logs/current/

Obtendrás la siguiente salida.

total 72
-rw-r--r-- 1 root zeek  1735 Jan 19 05:37 broker.log
-rw-r--r-- 1 root zeek  2166 Jan 19 05:37 cluster.log
-rw-r--r-- 1 root zeek   187 Jan 19 05:37 packet_filter.log
-rw-r--r-- 1 root zeek  6158 Jan 19 05:37 conn.log
-rw-r--r-- 1 root zeek 31212 Jan 19 05:37 loaded_scripts.log
-rw-r--r-- 1 root zeek   666 Jan 19 05:37 reporter.log
-rw-r--r-- 1 root zeek   601 Jan 19 05:37 stats.log
-rw-r--r-- 1 root zeek     0 Jan 19 05:37 stderr.log
-rw-r--r-- 1 root zeek   204 Jan 19 05:37 stdout.log
-rw-r--r-- 1 root zeek   266 Jan 19 05:37 telemetry.log
-rw-r--r-- 1 root zeek   960 Jan 19 05:37 weird.log

Para comprobar el registro del clúster de Zeek, ejecuta el siguiente comando.

tail /opt/zeek/logs/current/cluster.log

Obtendrás la siguiente salida.

1674106627.672399	zeek-proxy	got hello from zeek-worker-lo (62498247-62ce-5763-b201-a0f0e52b71f9)
1674106627.744144	zeek-proxy	got hello from zeek-worker (0c8c7207-f1a1-540d-aee0-2b55cf76e69f)
1674106627.674594	zeek-manager	got hello from zeek-worker-lo (62498247-62ce-5763-b201-a0f0e52b71f9)
1674106627.752439	zeek-manager	got hello from zeek-worker (0c8c7207-f1a1-540d-aee0-2b55cf76e69f)
1674106627.672635	zeek-worker-lo	got hello from zeek-proxy (b0734910-55c0-5aa5-b5fb-abdf7c083d3e)
1674106627.674358	zeek-worker-lo	got hello from zeek-manager (b4a3890a-a470-5a1d-b2c7-fc48fd683ff9)
1674106627.666564	zeek-worker-lo	got hello from zeek-logger (405e0618-3699-5b85-ac39-0af2743c0aab)
1674106627.708986	zeek-worker	got hello from zeek-manager (b4a3890a-a470-5a1d-b2c7-fc48fd683ff9)
1674106627.699878	zeek-worker	got hello from zeek-proxy (b0734910-55c0-5aa5-b5fb-abdf7c083d3e)
1674106627.706099	zeek-worker	got hello from zeek-logger (405e0618-3699-5b85-ac39-0af2743c0aab)

Para comprobar el registro de conexión de Zeek, ejecuta el siguiente comando.

tail /opt/zeek/logs/current/conn.log

Obtendrás el siguiente resultado.

1674106667.717311	Camkki2oVKl4J9dgpd	209.23.10.179	47762	209.23.10.179	56180	tcp	-	-	-	-	OTH	FF	0	CccC	0	0	0	0	-
1674106667.742276	CZ7aKU3nUfkjSSN5x6	209.23.10.179	56182	209.23.10.179	47762	tcp	-	-	-	-	OTH	FF	0	CcCc	0	0	0	0	-
1674106667.742332	Cd58V813jeHygHXQS2	209.23.10.179	56176	209.23.10.179	47762	tcp	-	-	-	-	OTH	FF	0	CcCc	0	0	0	0	-
1674106668.621860	CZlcm316EidXbp4aMj	209.23.10.179	41430	209.23.10.179	47761	tcp	-	-	-	-	OTH	FF	0	Cc	0	0	0	0	-

Conclusión

Enhorabuena! has instalado correctamente la herramienta de supervisión de seguridad Zeek en el servidor Ubuntu 22.04. Espero que este post ayude a comprender la arquitectura de la red y a investigar cualquier actividad maliciosa. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...