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

- Link: https://binariocero.com/linux/manual-operativo-de-instalacion-y-configuracion-de-suricata
- Published: 2024-07-16T11:54:04+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

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**:
 4.  * `libpcap`
     * `libpcre3`
     * `libyaml`
     * `libjansson`
     * `libmagic`

#### Instalación de Suricata

##### Paso 1: Actualización del Sistema

    ```wp-block-preformatted
    sudo apt-get update && sudo apt-get upgrade -y
    ```

##### Paso 2: Instalación de Dependencias

    ```wp-block-preformatted
    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

    ```wp-block-preformatted
    wget https://www.openinfosecfoundation.org/download/suricata-6.0.9.tar.gztar -xvzf suricata-6.0.9.tar.gzcd suricata-6.0.9./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/varmakesudo make install-full
    ```

##### Paso 4: Actualización del Capabilities File

    ```wp-block-preformatted
    sudo ldconfig
    ```

##### Paso 5: Verificación de la Instalación

    ```wp-block-preformatted
    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**:

    ```wp-block-preformatted
    af-packet:  - interface: eth0    threads: 1    cluster-id: 99    cluster-type: cluster_flow    defrag: yes
    ```

 2. **Reglas de Detección**:

    ```wp-block-preformatted
    default-rule-path: /etc/suricata/rulesrule-files:  - suricata.rules
    ```

 3. **Registro de Eventos**:

    ```wp-block-preformatted
    outputs:  - eve-log:      enabled: yes      filetype: json      filename: /var/log/suricata/eve.json      types:        - alert        - http        - dns        - tls        - files        - ssh        - stats
    ```

 4. **Modo de Detección de Intrusos (IDS)**:

    ```wp-block-preformatted
    runmode: autofp
    ```

##### Configuración Avanzada

 1. **Hilos de CPU y Rendimiento**:

    ```wp-block-preformatted
    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
    ```

 2. **Recolección de Estadísticas**:

    ```wp-block-preformatted
    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:

    ```wp-block-preformatted
    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`:

    ```wp-block-preformatted
    sudo suricata-update
    ```

#### Iniciar y Detener Suricata

Para iniciar Suricata manualmente, puedes usar:

    ```wp-block-preformatted
    sudo suricata -c /etc/suricata/suricata.yaml -i eth0
    ```

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

    ```wp-block-preformatted
    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.
