Manual Operativo de Instalación y Configuración de Suricata

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Suricata es un motor de análisis de tráfico de red de código abierto, desarrollado por la OISF (Open Information Security Foundation). Ofrece funcionalidades de detección de intrusiones (IDS), prevención de intrusiones (IPS), monitoreo de red y mucho más. Este manual guiará a través de la instalación y configuración de Suricata en un sistema basado en Linux.

Requisitos Previos

  1. Sistema Operativo: Una distribución basada en Linux (Ubuntu, Debian, CentOS, etc.).
  2. Privilegios de Root: Necesitarás permisos de superusuario para instalar y configurar Suricata.
  3. Dependencias:
    • libpcap
    • libpcre3
    • libyaml
    • libjansson
    • libmagic

Instalación de Suricata

Paso 1: Actualización del Sistema
sudo apt-get update && sudo apt-get upgrade -y
Paso 2: Instalación de Dependencias
sudo apt-get install -y libpcap-dev libpcre3-dev libyaml-dev libjansson-dev libmagic-dev zlib1g-dev pkg-config make gcc
Paso 3: Descarga y Compilación de Suricata
wget https://www.openinfosecfoundation.org/download/suricata-6.0.9.tar.gz
tar -xvzf suricata-6.0.9.tar.gz
cd suricata-6.0.9
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install-full
Paso 4: Actualización del Capabilities File
sudo ldconfig
Paso 5: Verificación de la Instalación
suricata -V

Configuración de Suricata

La configuración de Suricata se realiza principalmente a través del archivo suricata.yaml, que se encuentra en /etc/suricata/suricata.yaml. A continuación, se proporcionan ejemplos de configuraciones básicas y avanzadas.

Archivo de Configuración: /etc/suricata/suricata.yaml
  1. Interfaces de Red:
af-packet:
- interface: eth0
threads: 1
cluster-id: 99
cluster-type: cluster_flow
defrag: yes
  1. Reglas de Detección:
default-rule-path: /etc/suricata/rules
rule-files:
- suricata.rules
  1. Registro de Eventos:
outputs:
- eve-log:
enabled: yes
filetype: json
filename: /var/log/suricata/eve.json
types:
- alert
- http
- dns
- tls
- files
- ssh
- stats
  1. Modo de Detección de Intrusos (IDS):
runmode: autofp
Configuración Avanzada
  1. Hilos de CPU y Rendimiento:
threading:
set-cpu-affinity: yes
cpu-affinity:
- management-cpu-set:
cpu: [ 0 ] # CPUs to use for management threads
- receive-cpu-set:
cpu: [ 1 ] # CPUs to use for packet acquisition threads
- worker-cpu-set:
cpu: [ 2, 3 ] # CPUs to use for worker threads
  1. Recolección de Estadísticas:
stats:
enabled: yes
interval: 10
stats-file: /var/log/suricata/stats.log

Reglas de Suricata

Las reglas de Suricata se almacenan en archivos con extensión .rules. A continuación se muestra un ejemplo de una regla básica para detectar un intento de acceso a un servidor web en el puerto 80:

alert http any any -> any 80 (msg:"Acceso HTTP detectado"; sid:1000001; rev:1;)
Ubicación de las Reglas

Por defecto, las reglas se colocan en el directorio /etc/suricata/rules/. Puedes descargar y actualizar reglas usando suricata-update:

sudo suricata-update

Iniciar y Detener Suricata

Para iniciar Suricata manualmente, puedes usar:

sudo suricata -c /etc/suricata/suricata.yaml -i eth0

Para detener Suricata, simplemente encuentra el proceso y termínalo:

sudo pkill suricata

Supervisión y Mantenimiento

  1. Verificación de Logs:

    Los logs de Suricata se almacenan en /var/log/suricata/. Puedes monitorizar el archivo eve.json para ver los eventos en tiempo real:

    tail -f /var/log/suricata/eve.json
  2. Actualización de Reglas:

    Es importante mantener las reglas actualizadas para garantizar una detección eficiente de amenazas. Utiliza el siguiente comando para actualizar las reglas periódicamente:

    sudo suricata-update
  3. Optimización de Rendimiento:

    Revisa y ajusta la configuración de hilos y afinidad de CPU en suricata.yaml según la carga y el hardware disponible.

Con esto, has completado la instalación y configuración básica de Suricata en tu sistema. Este manual puede servir como base para una implementación más avanzada, dependiendo de las necesidades específicas de tu red y políticas de seguridad.