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:
Selecciona sólo local y pulsa la tecla Intro. Se te pedirá que indiques el nombre de host de tu servidor de correo.
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.