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

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

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

Snort es un sistema de detección de intrusos (IDS) y prevención de intrusos (IPS)
de código abierto. Desarrollado por Cisco, ofrece funcionalidades de monitoreo de
red y detección de ataques. Este manual detalla los pasos de instalación y configuración
de Snort 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
    Snort.
 3. **Dependencias**:
 4.  * `libpcap`
     * `libpcre3`
     * `libdumbnet`
     * `bison`
     * `flex`
     * `zlib`

#### Instalación de Snort

##### 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 build-essential libpcap-dev libpcre3-dev libdumbnet-dev bison flex zlib1g-dev
    ```

##### Paso 3: Descarga y Compilación de Snort

    ```wp-block-preformatted
    wget https://www.snort.org/downloads/snort/snort-2.9.20.tar.gztar -xvzf snort-2.9.20.tar.gzcd snort-2.9.20./configure --enable-sourcefiremakesudo make install
    ```

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

    ```wp-block-preformatted
    snort -V
    ```

##### Paso 5: Configuración de Directorios

    ```wp-block-preformatted
    sudo mkdir /etc/snortsudo mkdir /etc/snort/rulessudo mkdir /etc/snort/preproc_rulessudo mkdir /etc/snort/so_rulessudo mkdir /var/log/snortsudo mkdir /usr/local/lib/snort_dynamicrules
    ```

##### Paso 6: Descarga de Reglas y Archivos de Configuración

Descarga las reglas más recientes desde el sitio web de Snort y colócalas en el 
directorio `/etc/snort/rules`. También necesitas el archivo de configuración `snort.
conf`.

#### Configuración de Snort

El archivo de configuración principal de Snort es `snort.conf`, que se encuentra
en `/etc/snort/snort.conf`. A continuación, se proporciona un ejemplo completo y
detallado de este archivo.

##### Archivo de Configuración: `/etc/snort/snort.conf`

    ```wp-block-preformatted
    # Configuración básicavar HOME_NET anyvar EXTERNAL_NET !$HOME_NETvar DNS_SERVERS $HOME_NETvar SMTP_SERVERS $HOME_NETvar HTTP_SERVERS $HOME_NETvar SQL_SERVERS $HOME_NETvar TELNET_SERVERS $HOME_NETvar SSH_SERVERS $HOME_NET# Configuración de preprocesadorespreprocessor stream5_global: track_tcp yes, track_udp yes, track_icmp nopreprocessor stream5_tcp: policy linux, detect_anomalies, require_3whs 180, overlap_limit 10, small_segments 3 bytes 150, timeout 180, ports both 21 23 25 42 53 79 110 111 135 136 137 139 143 445 513 514 1433 1521 3306 6665 6666 6667 6668 6669 7000preprocessor stream5_udp: timeout 180preprocessor stream5_icmp: timeout 30preprocessor http_inspect: global iis_unicode_map unicode.map 1252preprocessor http_inspect_server: server default profile all ports { 80 8080 8180 } oversize_dir_length 500preprocessor rpc_decode: 111 32771preprocessor bo: -nobrutepreprocessor frag3_global: max_frags 65536preprocessor frag3_engine: policy linux bind_to $HOME_NETpreprocessor ftp_telnet: global inspection_type stateful encryption_deep_inspect nopreprocessor ftp_telnet_protocol: ftp server default def_max_param_len 1000preprocessor smtp: ports { 25 465 587 691 }preprocessor sfportscan: proto  { all } memcap { 10000000 } sense_level { low }preprocessor dcerpc2: memcap 102400, events [co ]# Configuración de las reglasinclude classification.configinclude reference.config# Reglas localesinclude $RULE_PATH/local.rules# Reglas predefinidasinclude $RULE_PATH/community.rulesinclude $RULE_PATH/emerging.rules# Registro y Salidasoutput unified2: filename snort.log, limit 128
    ```

#### Reglas de Snort

Las reglas de Snort 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 tcp 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/snort/rules/`. Puedes 
descargar y actualizar reglas de la comunidad de Snort o de Emerging Threats.

#### Iniciar y Detener Snort

Para iniciar Snort manualmente, puedes usar:

    ```wp-block-preformatted
    sudo snort -c /etc/snort/snort.conf -i eth0
    ```

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

    ```wp-block-preformatted
    sudo pkill snort
    ```

#### Supervisión y Mantenimiento

 1. **Verificación de Logs**:
    Los logs de Snort se almacenan en `/var/log/snort/`. 
    Puedes monitorizar los archivos de log para ver los eventos en tiempo real:`tail-
    f /var/log/snort/snort.log`
 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 snort -u snort -g snort -c /etc/snort/
    snort.conf -i eth0`
 3. **Optimización de Rendimiento**:
    Revisa y ajusta la configuración de preprocesadores
    y reglas en `snort.conf` según la carga y el hardware disponible.

Con esto, has completado la instalación y configuración básica de Snort 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.
