Como configurar Snort IPS

 

www.onlinetis.com

Snort is an open-source Intrusion Prevention System (IPS) that can also function as an Intrusion Detection System (IDS) and a network packet sniffer. When used as an IPS, its primary role is to actively block threats in real-time before they can harm a network.

Developed by Martin Roesch and now maintained by Cisco, Snort is one of the most widely deployed network security tools in the world.


¿Cómo funciona como IPS?

Snort analiza el tráfico de red en tiempo real, comparándolo con un conjunto de reglas predefinidas. Cuando se implementa como un IPS, se coloca "en línea" (in-line) en la red, lo que significa que todo el tráfico debe pasar a través de él para llegar a su destino.

Este posicionamiento le permite seguir un proceso de detección y prevención:

  1. Captura de Paquetes: Snort captura cada paquete de datos que atraviesa la red.

  2. Análisis y Detección: Compara las características de cada paquete (como la dirección IP de origen/destino, puertos y contenido) con su base de datos de reglas. Estas reglas describen firmas de ataques conocidos, como malware, escaneos de vulnerabilidades, ataques de denegación de servicio (DoS) y otros comportamientos maliciosos.

  3. Acción de Bloqueo: Si un paquete coincide con una regla de amenaza, Snort toma una acción inmediata para neutralizarlo. En modo IPS, la acción más común es drop (descartar) o reject (rechazar) el paquete, impidiendo que alcance su objetivo. También genera una alerta para notificar al administrador del sistema.

Imagina a un guardia de seguridad en la puerta de un edificio. En modo IDS, el guardia vería a alguien sospechoso, tomaría nota y avisaría por radio. En modo IPS, el guardia le negaría la entrada directamente, bloqueando la amenaza en el acto.


Características Principales

  • Análisis de Tráfico en Tiempo Real: Capacidad para inspeccionar y tomar decisiones sobre el tráfico de red a medida que fluye, con una latencia mínima.

  • Sistema Basado en Reglas: Su eficacia depende de la calidad y actualización de sus reglas. Existen tres tipos principales de reglas:

    • Community Rules: Un conjunto de reglas gratuitas mantenidas por la comunidad de Snort.

    • Registered Rules: Disponibles de forma gratuita para usuarios registrados, con un retraso de 30 días.

    • Subscriber Rules (Talos): Las reglas más actualizadas y completas, mantenidas por el equipo de inteligencia de amenazas de Cisco Talos, disponibles bajo suscripción.

  • Flexibilidad de Modos: Puede operar en tres modos distintos:

    1. Sniffer Mode: Simplemente lee los paquetes de la red y los muestra en la consola.

    2. Packet Logger Mode: Registra los paquetes en un archivo para un análisis posterior.

    3. NIDS/NIPS Mode: El modo más potente, donde aplica las reglas para detectar y/o prevenir intrusiones.

  • Código Abierto y Extensible: Al ser de código abierto, cuenta con una gran comunidad que contribuye a su desarrollo y permite una alta personalización para adaptarse a entornos de red específicos.

     

    Configuración de Snort en modo IPS

    Configurar Snort en modo Sistema de Prevención de Intrusiones (IPS) implica varias etapas clave, que incluyen la instalación, la configuración de la interfaz de red, la creación de reglas y la ejecución del demonio. A diferencia de su modo de detección de intrusiones (IDS), el modo IPS permite que Snort no solo detecte amenazas, sino que también las bloquee activamente.


    1. Requisitos e Instalación

    Primero, asegúrate de tener un sistema operativo compatible, como Linux. Necesitas las bibliotecas de desarrollo para Snort, como libpcap y libdnet, y herramientas de compilación como gcc y make.

    1. Descarga Snort: Obtén el código fuente desde el sitio oficial.

    2. Compila e instala:

      Bash
      tar -xf snort-*.tar.gz
      cd snort-*
      ./configure --enable-sourcefire --enable-dynamic-plugins
      make
      sudo make install
      

      La opción --enable-sourcefire es fundamental para habilitar el modo IPS, que utiliza la funcionalidad de inline.


    2. Configuración del Modo Inline

    El modo IPS requiere que Snort actúe como un puente de red para poder inspeccionar y descartar paquetes en tiempo real.

    1. Habilita el modo de reenvío de IP:

      Bash
      sudo sysctl -w net.ipv4.ip_forward=1
      
    2. Configura las interfaces de red: Snort necesita un par de interfaces para formar un puente, por ejemplo, eth0 (externa) y eth1 (interna). El tráfico que entra por una, sale por la otra después de ser inspeccionado.

      • Crea el puente:

        Bash
        sudo brctl addbr br0
        sudo brctl addif br0 eth0 eth1
        
      • Asigna una IP al puente:

        Bash
        sudo ifconfig eth0 0.0.0.0 promisc
        sudo ifconfig eth1 0.0.0.0 promisc
        sudo ifconfig br0 192.168.1.100 up
        
      • Configura el archivo /etc/snort/snort.conf: En este archivo, debes definir las variables de red (HOME_NET, EXTERNAL_NET) y configurar el modo inline con la directiva config policy_mode:inline.


    3. Creación de Reglas y Políticas de Bloqueo

    Las reglas de Snort son la base para detectar y prevenir amenazas. En el modo IPS, las reglas de alerta (alert) se reemplazan por reglas de descarte (drop).

    1. Estructura de la regla drop:

      • Acción: drop (descarta el paquete y no permite que pase).

      • Protocolo: tcp, udp, icmp, ip.

      • Direcciones de red: IP_origen IP_destino.

      • Puertos: puerto_origen puerto_destino.

      • Opciones: Contenido del paquete, metadatos, etc.

    2. Ejemplo de regla drop:

      Fragmento de código
      drop tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg:"Posible ataque de fuerza bruta SSH"; flow:to_server,established; content:"SSH-"; sid:1000001; rev:1;)
      

      Esta regla bloquea cualquier tráfico TCP entrante en el puerto 22 que provenga de la red externa y que contenga la firma de un intento de conexión SSH.

    3. Habilita las reglas en snort.conf: Incluye las reglas que has creado en la sección include del archivo de configuración.


    4. Ejecución de Snort en Modo IPS

    Una vez que la configuración está lista, ejecuta Snort con los parámetros correctos para el modo IPS.

    1. Ejecuta el demonio de Snort:

      Bash
      sudo snort -Q -c /etc/snort/snort.conf -i br0
      
      • -Q: Activa el modo inline (IPS).

      • -c: Especifica la ruta del archivo de configuración.

      • -i: Define la interfaz de red a monitorear, en este caso, la interfaz del puente (br0).

    2. Verificación: Monitorea los logs de Snort para ver las alertas y los paquetes que han sido bloqueados. También puedes usar herramientas de tráfico de red como tcpdump para confirmar que los paquetes maliciosos no están llegando a su destino.

     

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC