Bienvenido al Curso Gratis de Redes #19 – Seguridad de Redes: IDS e IPS. La implementación efectiva de Sistemas de Detección de Intrusos (IDS) y Sistemas de Prevención de Intrusos (IPS) se alza como un componente esencial. Esta guía explorará cómo estos guardianes digitales identifican y responden a amenazas en tiempo real, asegurando la integridad y confiabilidad de las redes. Acompáñanos en este viaje donde desglosaremos las estrategias clave para fortalecer la seguridad de tus activos digitales mediante IDS e IPS.

Tabla de contenidos

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

IDS – Intrusion Detection System

IDS (Intrusion Detection System) el sistema de detección de intrusiones consiste en un conjunto de métodos y técnicas para revelar actividad sospechosa sobre un recurso o recursos informáticos. Es decir, eventos que sugieran un comportamiento anómalo, incorrecto o inapropiado sobre un sistema.

Un sistema de detección de intrusiones  puede ser descrito como un proceso de detección y monitorización de eventos que suceden en una red. Este sistema escucha y analiza toda la información que circula por una red, permite ayudar a entender los ataques, estimar los daños causados y tratar de prevenir otros ataques. Para detectar intrusiones en un sistema, los IDS utilizan tres tipos de información: un histórico de eventos, la configuración actual del sistema y, finalmente, procesos activos del sistema o reglas.

¿En qué consiste un IDS y cómo funciona?

Hemos de partir de la base que aunque tengamos el cortafuegos habilitado, por normal general, tendremos muchos puertos abiertos, como por ejemplo el 80 y el 443 para las aplicaciones web. Por lo que debemos tener un sistema adicional que nos ayude a controlar estas puertas abiertas. Por lo que para llevar un mayor control debemos de utilizar un sistema IDS, esto es, un sistema de detección de intrusos y también de vulnerabilidades. Existen los IDS activos y los pasivos. Con los primeros se genera entradas en el registro y se generan alertas. Con los segundos en cambio, además de realizar las mismas funciones que con el pasivo, también se generarían acciones, como bloquear direcciones IP o cerrar el acceso a puertos restringidos. 

Además desde el punto de vista del programación (software) existen diferentes tipos de herramienta, los sistemas de detección de intrusos (HIDS), sistemas de detección de intrusos en red (IDPS), los sistemas de detección de intrusos basados en firmas (SIDS) y por último los sistemas de detección de intrusos basados en anomalías.

Los sistemas IDS utilizan tres métodos para detectar el tráfico

Estos son la detección de anomalías, el análisis de protocolos y el análisis de firmas.

  • Con la detección de anomalías tenemos como objetivo detectar un comportamiento anormal. Ejemplo de ello sería un volumen de tráfico ICMP (el que usa ping) inusual y muy elevado, que nos indicaría que somos el blanco o el emisor de un ataque de DDoS (Denegación de servicio)
  • Respecto al análisis de protocolos se busca un tráfico de aplicación que no cumple el estándar del protocolo habitual.
  • Por último, el análisis de firmas permite identificar ataques o comportamientos perjudiciales ya publicados. Suele ser la técnica más eficaz y la que no está sujeta a errores, ya que sólo se generan ataques o intrusiones que ya han tenido éxito en otro lugar, por lo que, pueden ser fácilmente identificados.

Actualización del IDS

Es importante que nuestro IDS actualice la información de forma habitual,  para así tener actualizadas siempre sus técnicas de análisis así como de las bases de datos de firmas.

Existen una serie de organizaciones, asociaciones y empresas que nos permiten estar al corriente de las evoluciones en materia de técnicas de intrusión y ataques. Las principales son:

Tareas de un IDS

Un IDS realiza dos tareas fundamentales:

  • Prevención: se realiza por medio de herramientas que escuchan el tráfico en la red o en un ordenador, denominados sensores, e identifican los ataques aplicando reglas, reconocimiento de patrones o técnicas inteligentes.
  • Reacción: trata de detectar patrones de intrusión en las trazas de los servicios de red o en el comportamiento del sistema.

Existen indicadores estadísticos de sensibilidad, especificidad y precisión que permiten comprobar la efectividad del IDS, se basan en los siguientes conceptos:

  • Verdaderos positivos (TP): Intrusión existente y correctamente detectada.
  • Falsos positivos (FP): Intrusión no existente e incorrectamente detectada.
  • Falsos negativos (FN): Intrusión existente y no detectada.
  • Verdaderos negativos (TN): Intrusión no existente y no detectada.

Tipos de IDS

Existen distintas clasificaciones de los IDS, según sea su enfoque, origen de datos, estructura y comportamiento

En función del enfoque

Se presentan dos grupos: Los sistemas de detección de usos indebidos, que comparan las firmas con la información recogida; y los de detección de anomalías, que usan técnicas estadísticas para distinguir el comportamiento usual del anormal.

Detección de anomalías:

Es necesario definir cuál es el comportamiento normal de un sistema por medio de un aprendizaje de actividades, para clasificar los comportamientos que se desvíen de lo normal como sospechosos. Estos sistemas son propensos a dar falsos positivos, que son producidos cuando se dispara una alerta con actividad normal. Tienen la desventaja de que depende de la calidad del proceso de aprendizaje. Existen tres técnicas diferentes para realizar la detección de anomalías en un sistema:

  • Sistemas basados en conocimiento: Representa el inicio en los IDS, y se basa en las violaciones de seguridad detectadas mediante el uso de reglas. Resultan más fiables y proporcionan mejores rendimientos frente a ataques conocidos, con el inconveniente de su baja capacidad para detectar nuevos ataques no incluidos en la base de datos de firmas.
  • Sistemas basados en métodos estadísticos: Basado en perfiles de actividad que vienen definidos por el comportamiento del usuario, con respecto a ficheros, programas, registros, etc. Se realiza mediante el establecimiento de métricas y modelos estadísticos.
  • Sistemas basados en aprendizaje automático: Son los más desarrollados para el modelado de comportamientos normales y buscan mejorar los resultados en cuanto a detección, reducción de falsos positivos y tiempo de computación. Una ventaja reside en recoger las características de un ataque y añadirlo a una base de datos como firmas nuevas, permitiendo actualizar la base de firmas en un breve lapso de tiempo.

Detección de usos incorrectos (detección por firma/regla):

Los sistemas de detección basados en uso indebido monitorizan las actividades que ocurren en un sistema y las compara con una base de datos de firmas de ataques. Cuando se encuentra una actividad que coincide con una de estas firmas, se genera una alarma. Presentan una facilidad de adaptación ya que basta con actualizar la base de datos, ya sea, escribiendo la nueva regla u obteniéndose de un tercero.

  • Sistemas Expertos: Conocimiento codificado mediante reglas de implicación (condición-acción), si se cumplen todas las condiciones se aplica la acción o regla. Presenta la desventaja de que las reglas no son secuenciales, lo que dificulta aislar pasos de intrusiones en el tiempo.
  • Detección de firmas: Realiza comparaciones entre los eventos que ocurren en el sistema y las firmas almacenadas en la base de datos en busca de similitudes.
  • Análisis de transacción de estados: Los ataques se representan como una secuencia de transiciones (máquina de estados finitos). Cuando se alcanza un estado considerado como intrusión se lanza una alarma.

Híbridos: Los IDS basados en firmas resultan más fiables y proporcionan mejores rendimientos frente a ataques conocidos, pero presentan una deficiencia ante nuevos ataques. Los IDS basados en anomalías presentan la capacidad de detectar ataques desconocidos, pero su rendimiento es inferior. Los sistemas híbridos serán una mezcla de ambos, y por lo tanto, pueden ajustarse para operar como ambos tipos de detectores, mejorando la funcionalidad, la detección de ataques y la mejora de rendimiento.

En función del origen de los datos

Se encuentran tres tipos de IDS atendiendo a las fuentes de información que se utilicen:

HIDS (Host-based Intrusion Detection Systems): Los IDS basados en el host solo procesan información de las actividades de los usuarios y servicios en una máquina determinada. Permite monitorizar los datos generados por un usuario, mediante el uso de syslog1, e identificar amenazas e intrusiones a nivel de host. Una desventaja proviene del requerimiento de confianza en el sistema, que puede estar infectado anteriormente a la instalación, y lo hace vulnerable ante ataques directos.

NIDS (Network Intrusion Detection Systems): Los NIDS son instalados en un dispositivo en modo promiscuo, realizan una escucha pasiva sobre la red de forma que no interfieren en su uso, analizando el tráfico en tiempo real, pero por contra, resultan inútiles ante ataques locales. Los nuevos sistemas, basados en agentes inteligentes, permiten una detección de nuevos ataques usando el concepto de centinelas, que supervisan el sistema para recoger toda la información necesaria para la detección.

IDS Híbridos: Los sistemas híbridos recogen lo mejor de ambos tipos HIDS y NIDS. Permiten una detección local de los sistemas y un sensor en cada segmento de red se encarga de la vigilancia. De esta forma se cubren las necesidades HIDS con las del NIDS, permitiendo el aprovechamiento de las ventajas de ambas arquitecturas.

En función de su estructura

Clasificación basada en las estrategias de control:

Sistema de Detección de Intrusión Distribuido (DIDS): Se basa en la instalación en un sistema distribuido, ubicando sensores repartidos por varios equipos de la red. Estos sensores se comunican con un nodo central donde se recibirá toda la información y donde se cruzan los datos, lo que nos permitirá detectar los ataques con fiabilidad y obtener una visión global mejorando la detección de incidentes.

Sistema de Detección de Intrusión Centralizado: Emplea sensores que transmiten información a un sistema central que realiza el control, permitiendo ahorrar en equipamientos.

En función de su comportamiento

Encontramos dos tipos de IDS según si realizan la prevención escuchando el tráfico o si se elabora una respuesta defensiva cuando se detecta un ataque.

IDS Pasivo: Sólo notifican al administrador de la red pero no actúan sobre el ataque. Únicamente procesan la información en busca de intrusiones, y una vez detectada se genera una alerta.

IDS Activos: Es un tipo de IDS denominado Sistema de Prevención de Intrusión (IPS). A diferencia de los IDS, esta tecnología no se limita a escuchar el tráfico de la red y a mandar alertas, sino que permite establecer reglas, como se hace en los cortafuegos, para detener las intrusiones.

Suricata vs Snort: una comparación y revisión completas

Cuando se trata de sistemas de detección de intrusiones en la red (NIDS), elegir entre Suricata y Snort es una discusión constante entre los profesionales de la seguridad cibernética. Estas herramientas de código abierto ofrecen funciones avanzadas para monitorear y proteger las redes de amenazas potenciales. Proporcionaremos una comparación en profundidad de Suricata y Snort, evaluando sus características, funcionalidad, rendimiento, escalabilidad, facilidad de uso, configuración y soporte de la comunidad.

Al explorar las distinciones y fortalezas clave de estos dos NIDS, obtendrá el conocimiento necesario para tomar una decisión informada sobre qué herramienta se alinea mejor con sus necesidades y objetivos específicos. Si es nuevo en el campo de la seguridad cibernética o un profesional experimentado que busca ampliar su experiencia, ofrecemos información valiosa y orientación práctica para implementar y administrar Suricata o Snort dentro de su entorno de red. Ahora, profundicemos en el mundo de NIDS y echemos un vistazo crítico a Suricata vs Snort.

¿Qué es un sistema de detección de intrusiones en la red?

Un sistema de detección de intrusiones en la red (NIDS) es una herramienta de seguridad que monitorea el tráfico de la red en busca de actividades maliciosas o violaciones de políticas, detectando y alertando a los administradores sobre amenazas potenciales. NIDS analiza el tráfico y aplica reglas predefinidas para identificar patrones o comportamientos sospechosos, lo que ayuda a proteger las redes de intentos de intrusión, malware y otras amenazas cibernéticas. Estos sistemas desempeñan un papel crucial en la protección de la infraestructura de red, los datos críticos y los recursos de una organización contra los ciberataques.

Al implementar un NIDS, su posicionamiento dentro de la red es crucial para un monitoreo efectivo. Idealmente, el NIDS debería colocarse en los puntos de entrada y salida de la red, monitoreando todo el tráfico entrante y saliente. Esto permite que el sistema detecta y alerta sobre amenazas potenciales antes de que puedan infiltrarse en la red o filtrar datos confidenciales. Además, colocar dispositivos NIDS en puntos estratégicos dentro de la red puede ayudar a detectar movimientos laterales o amenazas internas, mejorando aún más la postura de seguridad de la organización.

NIDS emplea una variedad de métodos para detectar y alertar sobre amenazas potenciales. La detección basada en firmas (SIDS) utiliza patrones o firmas predefinidos de amenazas conocidas para identificar actividad maliciosa, mientras que la detección basada en anomalías (AIDS) identifica desviaciones del comportamiento normal de la red, que pueden indicar un ataque. Además, algunas soluciones NIDS ofrecen análisis heurístico, empleando aprendizaje automático e inteligencia artificial para predecir e identificar nuevas amenazas en función de su comportamiento.

¿Qué son Suricata y Snort?

Echemos un vistazo de las dos herramientas que comparamos antes de profundizar en sus atributos y funcionalidades únicos.

Suricata

suricata

Es un sistema de detección de intrusiones en la red (NIDS) de código abierto desarrollado por la Open Information Security Foundation (OISF). Suricata se puede utilizar como sistema de prevención de intrusiones (IPS) y motor de monitoreo de seguridad de red, aunque esto depende en gran medida de su implementación dentro de su red. Si está basado en host o es pasivo, solo funciona como un IDS, mientras que si se implementa como una solución activa en línea le permite agregar la utilidad IPS. Es conocido por su arquitectura multiproceso de alto rendimiento y su enfoque en proporcionar capacidades avanzadas de detección y prevención de intrusiones.

Suricata funciona analizando el tráfico de la red, aplicando reglas predefinidas para identificar actividades maliciosas y alertando a los administradores sobre posibles amenazas. Lo que distingue a Suricata de otros NIDS es su arquitectura multiproceso, que le permite procesar de manera eficiente múltiples tareas simultáneamente. Esto da como resultado un procesamiento de paquetes más rápido y un mayor rendimiento en comparación con los sistemas de un solo subproceso.

Descargar Suricata https://suricata.io/download/ 

Snort

Bufido

Es un popular sistema de detección de intrusiones en la red (NIDS) de código abierto, creado por Martin Roesch y mantenido por Cisco Systems. Snort lleva casi una década más en el mercado y goza de una amplia compatibilidad con varios dispositivos, sistemas operativos y herramientas de terceros. Su enfoque principal es la detección basada en reglas y el análisis de protocolos.

Snort funciona monitoreando el tráfico de la red y aplicando reglas predefinidas para detectar actividad maliciosa, generando alertas para que los administradores tomen las medidas adecuadas. La fortaleza de Snort radica en su extenso conjunto de reglas, que se pueden personalizar para satisfacer las necesidades de seguridad específicas de una organización. Esta adaptabilidad permite a Snort sobresalir en diversos entornos, brindando protección personalizada contra una amplia gama de amenazas.

Descargar Snort https://www.snort.org/downloads#snort-downloads 

Características y funcionalidad

Al comparar Suricata y Snort, es importante examinar las características clave que debe tener un IDS para determinar su efectividad e idoneidad para diferentes entornos. Aquí, profundizaremos en estas características principales de ambas herramientas, destacando sus similitudes y diferencias.

Suricata en Elástico

Suricata sobre Elastic, de https://elastic.co

Bufido en ELK

Snort con elástico (ELK) de https://blog.snort.org

Captura de paquetes

Tanto Suricata como Snort destacan en la captura de paquetes, lo que les permite monitorear y analizar el tráfico de la red en busca de actividad maliciosa. La arquitectura multiproceso de Suricata proporciona una ventaja en la captura de paquetes, permitiéndole procesar múltiples tareas simultáneamente y ofreciendo un rendimiento mejorado en comparación con Snort. Snort, por otro lado, se basa en una arquitectura de un solo subproceso, lo que puede limitar su rendimiento de captura de paquetes en entornos de mucho tráfico.

Análisis de protocolo

Suricata y Snort proporcionan un análisis de protocolo integral, lo que les permite decodificar y analizar varios protocolos de red para detectar amenazas. Si bien ambos sistemas ofrecen un amplio soporte de protocolo, Suricata tiene la ventaja adicional de admitir datos X-Forwarded-For (XFF) .

X-reenviado-para (XFF)

El encabezado X-Forwarded-For (XFF), estandarizado en RFC 7239  como «Extensión HTTP reenviada», permite a los servidores proxy compartir información sobre el cliente original y otros servidores proxy en una cadena. En pocas palabras, los servidores proxy ubicados entre un host y el destino (como un sitio web) agregarán este encabezado para incluir no solo su dirección IP sino también la dirección del host que inicialmente solicitó la información. Esto puede ser importante a la hora de solucionar problemas o por motivos de seguridad al intentar determinar quién está intentando acceder al sitio web. XFF también se puede utilizar con otros protocolos de red, como el correo electrónico.

Detección basada en reglas

La detección basada en reglas es una característica central tanto de Suricata como de Snort, que utiliza reglas predefinidas para identificar actividad maliciosa dentro del tráfico de la red. La fortaleza de Snort radica en su extenso conjunto de reglas, que se pueden personalizar para satisfacer necesidades de seguridad específicas. Suricata también ofrece un conjunto de reglas sólido, con el beneficio adicional de Suricata-Update, una herramienta para administrar y actualizar conjuntos de reglas de manera más eficiente.

Arquitectura de subprocesos múltiples

La arquitectura multiproceso de Suricata lo distingue de Snort en algunos aspectos, permitiéndole procesar múltiples tareas simultáneamente y ofreciendo un rendimiento mejorado. Snort se basa en una arquitectura de un solo subproceso, lo que puede limitar su rendimiento en entornos de mucho tráfico o cuando se procesan tareas que consumen muchos recursos. 

Integración y compatibilidad

Si bien tanto Suricata como Snort ofrecen integración con herramientas populares de código abierto, Snort tiene una trayectoria más extensa en el mercado y disfruta de una amplia compatibilidad con una variedad de dispositivos, sistemas operativos y herramientas de terceros. Suricata, sin embargo, se beneficia de su integración con ELK Stack, proporcionando visualización y análisis mejorados del tráfico de la red.

Resumen

En resumen, tanto Suricata como Snort ofrecen características y funcionalidades sólidas que los convierten en soluciones IDS efectivas. La arquitectura multiproceso de Suricata, la compatibilidad con datos XFF y la gestión eficiente de reglas con Suricata-Update le otorgan una ventaja competitiva en ciertos aspectos.

Sin embargo, el extenso conjunto de reglas, las opciones de personalización y la amplia compatibilidad de Snort lo convierten en un fuerte contendiente. La elección entre Suricata y Snort depende en última instancia de sus necesidades específicas, entorno de red y requisitos de rendimiento.

SURICATASNORT
La arquitectura multiproceso permite el procesamiento eficiente de múltiples tareas simultáneamenteArquitectura de un solo subproceso
Suricata-Update para gestionar y actualizar conjuntos de reglasMayor compatibilidad con dispositivos, sistemas operativos y herramientas de terceros debido a su mayor presencia en el mercado.
Capacidades avanzadas de detección y prevención de intrusionesCentrarse en la detección basada en reglas y el análisis de protocolos
Mejor rendimiento en entornos de mucho tráficoMejor rendimiento en entornos con recursos limitados
Admite modos en línea y pasivoAdmite modos en línea y pasivo

Rendimiento y escalabilidad

La próxima comparación entre Suricata y Snort examinará su rendimiento y escalabilidad para determinar qué NIDS se adapta a diferentes entornos y limitaciones de recursos. Aquí, discutiremos la velocidad, el uso de la memoria y la precisión tanto de Suricata como de Snort.

Velocidad

Aquí, la arquitectura multiproceso de Suricata le permite procesar múltiples tareas simultáneamente, ofreciendo un rendimiento mejorado en comparación con la arquitectura de un solo subproceso de Snort. Esta ventaja permite a Suricata manejar mayores volúmenes de tráfico y proporcionar un procesamiento de paquetes más rápido, lo que la convierte en una opción más adecuada para entornos de mucho tráfico. Snort, por otro lado, aún puede ofrecer un rendimiento adecuado en situaciones de tráfico moderado. Sin embargo, su arquitectura de subproceso único puede limitar su velocidad en entornos de mucho tráfico o cuando se procesan tareas que consumen muchos recursos.

Uso de memoria

En términos de uso de memoria, Snort generalmente consume menos recursos en comparación con Suricata. Esto hace que Snort sea una mejor opción para entornos con recursos limitados, como dispositivos de bajo consumo o redes con recursos de hardware limitados. Suricata, aunque normalmente requiere más memoria, aún puede proporcionar un rendimiento razonablemente eficiente debido a su arquitectura multiproceso, que le permite manejar grandes volúmenes de tráfico de manera más efectiva.

Exactitud

Tanto Suricata como Snort ofrecen altos niveles de precisión en la detección de actividades maliciosas dentro del tráfico de la red. Lo logran a través de conjuntos completos de reglas y capacidades de análisis de protocolos. Sin embargo, el soporte de Suricata para datos X-Forwarded-For (XFF) y su capacidad para descifrar, analizar y luego volver a cifrar rápidamente datos de red cuando se colocan detrás de un proxy inverso pueden proporcionar una ligera ventaja en la detección de amenazas avanzadas.

Resumen

En resumen, la arquitectura multiproceso de Suricata y el uso eficiente de los recursos lo hacen más escalable y adecuado para entornos de alto tráfico. Sin embargo, el menor uso de memoria de Snort lo convierte en una mejor opción para entornos con recursos limitados. La elección entre Suricata y Snort depende de las necesidades específicas, el entorno de red y las limitaciones de recursos de una organización.

SURICATASNORT
El uso eficiente de los recursos permite un mejor manejo de grandes volúmenes de tráficoEl menor uso de recursos lo hace adecuado para entornos con recursos limitados
La arquitectura multiproceso proporciona un rendimiento mejoradoLa arquitectura de un solo subproceso puede tener limitaciones de rendimiento en entornos de mucho tráfico
Escalable debido a su uso eficiente de recursos y capacidades de manejo de tráfico.Puede ser menos escalable en comparación, especialmente en entornos de mucho tráfico.

Facilidad de uso y configuración

A continuación, consideraremos la facilidad de uso y configuración, ya que estos factores pueden afectar significativamente el tiempo y el esfuerzo necesarios para implementar y administrar una solución NIDS. En esta sección, discutiremos los aspectos de instalación, configuración y administración de reglas de Suricata y Snort, destacando sus diferencias y ventajas.

Instalación

Suricata y Snort se pueden instalar con relativa facilidad en varios sistemas operativos, incluido Kali Linux . Sin embargo, el proceso de instalación de Suricata podría ser más ágil, ya que proporciona paquetes prediseñados para diferentes plataformas, lo que simplifica su instalación y configuración. Snort, aunque sigue siendo sencillo de instalar, puede requerir pasos y dependencias adicionales para configurarlo, especialmente cuando se integra con herramientas de terceros.

Configuración

Configurar Suricata y Snort implica configurar sus respectivos ajustes y conjuntos de reglas. Suricata cuenta con una interfaz web y archivos de configuración basados ​​en YAML, que pueden simplificar el proceso de configuración para usuarios con experiencia limitada en seguridad de red. Este enfoque fácil de usar puede facilitar la gestión y el mantenimiento de Suricata en diversos entornos.

Por otro lado, la configuración de Snort se basa en archivos de configuración basados ​​en texto, lo que podría requerir más intervención manual y una curva de aprendizaje más pronunciada para los recién llegados. Sin embargo, la extensa documentación de Snort y el apoyo activo de la comunidad pueden ayudar a los usuarios a superar estos desafíos y configurar efectivamente el sistema para satisfacer sus necesidades.

Gestión de reglas

La gestión de reglas es un aspecto crucial de cualquier solución NIDS, ya que determina la capacidad del sistema para detectar y prevenir amenazas. Suricata y Snort ofrecen conjuntos de reglas completos, pero difieren en cómo administran y actualizan estas reglas.

Suricata se beneficia de la herramienta Suricata-Update, que simplifica la gestión y actualización de conjuntos de reglas. Esta característica permite a los usuarios mantener fácilmente las últimas capacidades de detección de amenazas, lo que reduce el tiempo y el esfuerzo necesarios para mantener el sistema actualizado.

Herramienta de actualización de Suricata

Herramienta Suricata-Update, de https://suricata.readthedocs.io

Por el contrario, Snort se basa en la gestión manual de reglas, lo que puede llevar más tiempo y requerir más experiencia. Sin embargo, los conjuntos de reglas específicos de Snort para ciertos casos de uso, como la seguridad de aplicaciones web, pueden proporcionar mejores opciones de personalización para redes con requisitos de seguridad únicos. Esta flexibilidad puede hacer que Snort sea más adecuado para organizaciones con necesidades específicas de detección de amenazas.

Resumen

Suricata ofrece un enfoque más fácil de usar para la instalación, configuración y administración de reglas, lo que puede beneficiar a los usuarios con experiencia limitada o limitaciones de tiempo. Snort, aunque potencialmente más difícil de configurar, ofrece mayores opciones de personalización y está respaldado por una extensa documentación y soporte de la comunidad. En última instancia, la elección entre Suricata y Snort dependerá de los requisitos únicos de una organización, los recursos y el nivel de experiencia de sus administradores.

SURICATASNORT
Sin interfaz web incorporada (de terceros disponibles)Sin interfaz web incorporada (de terceros disponibles)
La configuración basada en YAML simplifica la configuraciónMétodos de configuración tradicionales
Actualización de Suricata para una gestión de reglas optimizadaGestión manual de reglas y actualizaciones.
Configuración más sencilla gracias a la interfaz web y la configuración YAMLPuede requerir más esfuerzos de personalización y configuración.

Comunidad y soporte

Considerar el nivel de comunidad y soporte disponible para cada NIDS es crucial para cualquier herramienta de código abierto, ya que puede afectar la facilidad de implementación, configuración y mantenimiento continuo. En esta sección, compararemos la documentación, los foros, las integraciones de terceros y la frecuencia de actualización de Suricata y Snort.

Documentación

Suricata y Snort cuentan con documentación completa y bien organizada, lo que brinda a los usuarios recursos valiosos para comprender, configurar y solucionar problemas de sus respectivos sistemas. La documentación de Suricata  se actualiza con frecuencia para reflejar las últimas funciones y mejoras, lo que garantiza que los usuarios puedan mantenerse al día con el panorama de seguridad cibernética en rápida evolución.

La documentación de Snort , aunque también es extensa, puede requerir más tiempo para navegar debido a su larga historia y la variedad de integraciones de terceros disponibles. Sin embargo, la documentación de Snort cubre una amplia gama de temas, lo que la convierte en un recurso valioso para los usuarios que buscan personalizar y optimizar su implementación NIDS.

Foros

Suricata y Snort tienen comunidades activas y comprometidas, con foros que brindan una plataforma para que los usuarios hagan preguntas, compartan conocimientos y colaboren en diversos temas relacionados con sus implementaciones NIDS. Estos foros son invaluables para los usuarios que buscan asistencia, orientación o consejo de profesionales y pares con experiencia en el campo de la seguridad cibernética.

Foro de Suricata

Foros de Suricata, desde https://suricata.io

blog de resoplido

Blog de Snort, de https://blog.snort.org 

Integraciones de terceros

Dada la presencia más prolongada de Snort en el mercado, ha acumulado una gama más amplia de integraciones de terceros en comparación con Suricata. Estas integraciones incluyen varias herramientas, plataformas y servicios que pueden mejorar las capacidades de Snort y agilizar su implementación y administración.

Suricata, si bien sigue ofreciendo una lista cada vez mayor de integraciones de terceros, es posible que aún no coincida con el extenso ecosistema de Snort. Sin embargo, el desarrollo activo de Suricata y su enfoque en la compatibilidad con herramientas y plataformas existentes sugieren que su gama de integraciones de terceros continuará expandiéndose con el tiempo.

Frecuencia de actualización

Suricata se beneficia de una comunidad de desarrollo activa que publica con frecuencia actualizaciones y mejoras de sus características y capacidades. Este compromiso con la mejora continua garantiza que los usuarios de Suricata puedan mantenerse a la vanguardia de las cambiantes amenazas a la seguridad cibernética y aprovechar las últimas innovaciones en detección y prevención de intrusiones. Suricata publica actualizaciones importantes en promedio cada 3 meses.

Snort, aunque también recibe actualizaciones periódicas, puede no tener la misma frecuencia de mejoras que Suricata debido a su madurez y posición establecida en el mercado. Sin embargo, las actualizaciones de Snort aún brindan importantes mejoras de seguridad y correcciones de errores, lo que garantiza que el sistema siga siendo efectivo y confiable. Snort publica actualizaciones menores en promedio cada 2 o 3 semanas.

Resumen

Tanto Suricata como Snort ofrecen un sólido soporte comunitario, con documentación extensa, foros activos y una variedad de integraciones de terceros. La historia más larga de Snort proporciona un ecosistema de integraciones más extenso, mientras que Suricata se beneficia de actualizaciones y mejoras frecuentes debido a su desarrollo activo. La elección entre Suricata y Snort dependerá de las necesidades y preferencias específicas de una organización y del valor que le dan al soporte comunitario, la documentación y las integraciones de terceros.

SURICATASNORT
Apoyo activo de la comunidadApoyo activo de la comunidad
Amplia documentaciónAmplia documentación
Desarrollo activo, lo que resulta en actualizaciones y mejoras frecuentes.Una gama más amplia de integraciones de terceros debido a su mayor presencia en el mercado.
Open Information Security Foundation (OISF) como principal organización de desarrolloMantenido por sistemas Cisco

Costo

Al igual que con las otras medidas, el costo es un factor importante a considerar. Ambas herramientas son de código abierto, lo que significa que están disponibles gratuitamente. Sin embargo, puede haber costos adicionales asociados con el soporte, la capacitación y otros recursos.

FACTOR DE COSTOSURICATASNORT
LicenciaFuente abiertaFuente abierta
Opciones de soporteComunidad (Gratis)Comunidad (Gratis)Pagado-Personal $30/año-Profesional desde $300/año
Recursos de capacitaciónGratisPagado (A partir de $2,000 desde Suricata)Gratis
Herramientas de tercerosGratisPagado (ejemplo: Elastic desde $95/mes)Gratispagado (Reglas de Talos) -Personal $30/año-Profesional desde $400/año
Requisitos de hardwareVaría según la escalaVaría según la escala

Conclusión

En conclusión, tanto Suricata como Snort son potentes sistemas de detección de intrusiones en la red que brindan una protección sólida para su entorno de red. Si bien comparten muchas similitudes, también tienen características únicas, características de rendimiento y apoyo de la comunidad, lo que hace que la elección entre ellos dependa de las necesidades y recursos específicos de su organización.

Hemos comparado y contrastado los aspectos clave de Suricata y Snort, incluidas características, funcionalidad, rendimiento, escalabilidad, facilidad de uso, configuración, soporte comunitario y costo. Al comprender estos factores, podrá tomar una decisión informada sobre cuál es el mejor NIDS para su organización.

En última instancia, la elección entre Suricata y Snort dependerá de los requisitos únicos de su red, los recursos disponibles y el nivel de personalización deseado. Cualquiera que sea la herramienta que elija, puede estar seguro de que está dando un paso proactivo para mejorar la seguridad de su red y proteger su organización de posibles amenazas cibernéticas. Puede continuar aprendiendo formas efectivas de proteger su red tomando uno de los cursos a continuación.

Preguntas más frecuentes

¿Suricata es una IPS o un IDS?

Funciona principalmente como un sistema de detección de intrusiones en la red (NIDS). Sin embargo, también se puede configurar como un sistema de prevención de intrusiones (IPS) implementándolo en línea. En este modo, Suricata puede bloquear activamente el tráfico malicioso además de detectar y alertar sobre amenazas potenciales. Esta versatilidad hace que Suricata sea adecuado para diversos casos de uso de seguridad de red, según los requisitos específicos de la organización.

¿Snort sigue siendo relevante?

Sí, Snort sigue siendo relevante en el panorama de la seguridad cibernética. A pesar de la aparición de herramientas más nuevas como Suricata, la larga presencia de Snort en el mercado ha establecido su compatibilidad con una amplia gama de dispositivos, sistemas operativos y herramientas de terceros. La detección basada en reglas y el análisis de protocolos de Snort continúan brindando una seguridad de red efectiva. Su amplio soporte comunitario garantiza que el software se mantenga actualizado y responda a las amenazas en evolución.

¿Suricata tiene GUI?

No orgánicamente al software. Sin embargo, Suricata ofrece una interfaz gráfica de usuario (GUI) a través de varias herramientas de gestión basadas en web. Una opción popular es la distribución SELKS, que incluye Suricata y otras herramientas de seguridad, junto con un panel Kibana preconfigurado para visualización y gestión. Al utilizar estas herramientas basadas en web, los administradores pueden administrar fácilmente la configuración de Suricata y monitorear la actividad de la red en un entorno fácil de usar.

Instalar y configurar el sistema de detección de intrusos Snort 3 en Ubuntu

Requisitos previos

  • Un servidor con Ubuntu
  • Se configura una contraseña raíz en el servidor.

Instalar las dependencias requeridas

Antes de comenzar, deberá instalar algunas dependencias en su servidor. Puede instalarlos todos ejecutando el siguiente comando:

apt install build-essential libpcap-dev libpcre3-dev libnet1-dev zlib1g-dev luajit hwloc libdnet-dev libdumbnet-dev bison flex liblzma-dev openssl libssl-dev pkg-config libhwloc-dev cmake cpputest libsqlite3-dev uuid-dev libcmocka-dev libnetfilter-queue-dev libmnl-dev autotools-dev libluajit-5.1-dev libunwind-dev libfl-dev -y

Una vez que todas las dependencias estén instaladas, se puede continuar con el siguiente paso.

Instalar Snort DAQ

A continuación, deberá instalar la biblioteca de adquisición de datos en su sistema. De forma predeterminada, no está disponible en el repositorio predeterminado de Ubuntu. Por lo tanto, deberá compilarlo desde la fuente.

Primero, descargue Snort DAQ de Git con el siguiente comando:

git clone https://github.com/snort3/libdaq.git

Una vez que se complete la descarga, navegue hasta el directorio descargado y configúrelo con el siguiente comando:

cd libdaq

./bootstrap

./configure

Debería ver el siguiente resultado:

cc:         gcc
cppflags:  
am_cppflags: -fvisibility=hidden -Wall -Wmissing-declarations -Wpointer-arith -Wcast-align -Wcast-qual -Wformat -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wextra -Wsign-compare -Wno-unused-parameter -fno-strict-aliasing -fdiagnostics-show-option
cflags:     -g -O2
am_cflags:   -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wnested-externs
ldflags:   
am_ldflags:
libs:      

code_coverage_enabled:  no
code_coverage_cppflags:
code_coverage_cflags: 
code_coverage_ldflags: 

Build AFPacket DAQ module.. : yes
Build BPF DAQ module....... : yes
Build Divert DAQ module.... : no
Build Dump DAQ module...... : yes
Build FST DAQ module....... : yes
Build netmap DAQ module.... : no
Build NFQ DAQ module....... : yes
Build PCAP DAQ module...... : yes
Build Savefile DAQ module.. : yes
Build Trace DAQ module..... : yes
Build GWLB DAQ module...... : yes

A continuación, instálelo con el siguiente comando:

Make

make install

Instalar Gperftools

Primero, descargue la última versión de Gperftools con el siguiente comando:

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.9.1/gperftools-2.9.1.tar.gz

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar xzf gperftools-2.9.1.tar.gz

A continuación, navegue hasta el directorio descargado y compílelo con el siguiente comando:

cd gperftools-2.9.1/

./configure

A continuación, instálelo con el siguiente comando:

Make

make install

Instalar Snort

A continuación, descarga la última versión de Snort con el siguiente comando:

wget https://github.com/snort3/snort3/archive/refs/tags/3.1.43.0.tar.gz

A continuación, extraiga el archivo descargado con el siguiente comando:

tar -xvzf 3.1.43.0.tar.gz

A continuación, navegue hasta el directorio extraído y configúrelo con el siguiente comando:

cd snort3-3.1.43.0

./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc

Obtendrá el siguiente resultado:

snort version 3.1.43.0

Install options:
prefix: /usr/local
includes:   /usr/local/include/snort
plugins: /usr/local/lib/snort

Compiler options:
CC:         /usr/bin/cc
CXX:        /usr/bin/c++
CFLAGS:        -fvisibility=hidden   -DNDEBUG -g -ggdb  -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free  -O2 -g -DNDEBUG
CXXFLAGS:      -fvisibility=hidden   -DNDEBUG -g -ggdb  -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free  -O2 -g -DNDEBUG
EXE_LDFLAGS:   
MODULE_LDFLAGS:

Feature options:
DAQ Modules: Static (afpacket;bpf;dump;fst;gwlb;nfq;pcap;savefile;trace)
libatomic:  System-provided
Hyperscan:  OFF
ICONV:      ON
Libunwind:  ON
LZMA:       ON
RPC DB:     Built-in
SafeC:      OFF
TCMalloc:   ON
JEMalloc:   OFF
UUID:           ON
-------------------------------------------------------

-- Configuring done
-- Generating done
-- Build files have been written to: /root/snort3-3.1.43.0/build

A continuación, cambie el directorio al directorio de compilación e instale Snort con el siguiente comando:

cd build

make

make install

ldconfig

Ahora puede verificar la versión de Snort usando el siguiente comando:

snort -V

Obtendrá el siguiente resultado:

  ,,_     -*> Snort++ <*-
  o"  )~   Version 3.1.43.0
    ''''    By Martin Roesch & The Snort Team
        http://snort.org/contact#team
        Copyright (C) 2014-2024 Cisco and/or its affiliates. All rights reserved.
        Copyright (C) 1998-2013 Sourcefire, Inc., et al.
        Using DAQ version 3.0.9
        Using LuaJIT version 2.1.0-beta3
        Using OpenSSL 3.0.2 15 Mar 2022
        Using libpcap version 1.10.1 (with TPACKET_V3)
        Using PCRE version 8.39 2016-06-14
        Using ZLIB version 1.2.11
        Using LZMA version 5.2.5

Configurar Snort

Primero, deberá configurar su interfaz de red en modo promiscuo para que pueda ver todo el tráfico de red que se le envía.

Puede configurarlo usando el siguiente comando:

ip link set dev eth0 promisc on

Ahora puede verificarlo con el siguiente comando:

ip add sh eth0

A continuación, también deberá deshabilitar la descarga de interfaz. Primero, verifique si esta característica está habilitada o no usando el siguiente comando:

ethtool -k eth0 | grep receive-offload

Obtendrá el siguiente resultado:

generic-receive-offload: on
large-receive-offload: off [fixed]

Ahora puede deshabilitarlo usando el siguiente comando:

ethtool -K eth0 gro off lro off

Crear un archivo de servicio Systemd para Snort NIC

A continuación, deberá crear un archivo de servicio systemd para Snort NIC.

nano /etc/systemd/system/snort3-nic.service

Agregue las siguientes líneas:

[Unit]
Description=Set Snort 3 NIC in promiscuous mode and Disable GRO, LRO on boot
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ip link set dev eth0 promisc on
ExecStart=/usr/sbin/ethtool -K eth0 gro off lro off
TimeoutStartSec=0
RemainAfterExit=yes

[Install]
WantedBy=default.target

Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd para aplicar los cambios:

systemctl daemon-reload

A continuación, inicie y habilite Snort con el siguiente comando:

systemctl start snort3-nic.service

systemctl enable snort3-nic.service

Puede verificar el estado del Snort con el siguiente comando:

systemctl status snort3-nic.service

Obtendrá el siguiente resultado:

? snort3-nic.service - Set Snort 3 NIC in promiscuous mode and Disable GRO, LRO on boot
  Loaded: loaded (/etc/systemd/system/snort3-nic.service; disabled; vendor preset: enabled)
  Active: active (exited) since Tue 2022-10-11 16:24:15 UTC; 6s ago
Process: 95745 ExecStart=/usr/sbin/ip link set dev eth0 promisc on (code=exited, status=0/SUCCESS)
Process: 95746 ExecStart=/usr/sbin/ethtool -K eth0 gro off lro off (code=exited, status=0/SUCCESS)
    Main PID: 95746 (code=exited, status=0/SUCCESS)
    CPU: 11ms

Oct 11 16:24:15 ubuntu2204 systemd[1]: Starting Set Snort 3 NIC in promiscuous mode and Disable GRO, LRO on boot...
Oct 11 16:24:15 ubuntu2204 systemd[1]: Finished Set Snort 3 NIC in promiscuous mode and Disable GRO, LRO on boot.

Instalar reglas de Snort

Las reglas son muy importantes para el motor de detección de intrusos de Snorts. Primero, cree un directorio para almacenar todas las reglas:

mkdir /usr/local/etc/rules

A continuación, descargue las reglas de la comunidad con el siguiente comando:

wget -qO- https://www.snort.org/downloads/community/snort3-community-rules.tar.gz | tar xz -C /usr/local/etc/rules/

A continuación, edite el archivo de configuración principal de Snort:

nano /usr/local/etc/snort/snort.lua

Defina su red como se muestra a continuación:

HOME_NET = '192.168.56.124/32'
EXTERNAL_NET = '!$HOME_NET'

A continuación, define la ruta de tus reglas de Snort:

ips =
{
-- use this to enable decoder and inspector alerts
--enable_builtin_rules = true,

-- use include for rules files; be sure to set your path
-- note that rules files can include other rules files
-- (see also related path vars at the top of snort_defaults.lua)

variables = default_variables,
rules = [[
include /usr/local/etc/rules/snort3-community-rules/snort3-community.rules
]]

}

Guarde y cierre el archivo cuando haya terminado.

Instalar Snort OpenAppID

OpenAppID es un complemento que permite a Snort detectar varias aplicaciones, Facebook, Netflix, Twitter y Reddit, utilizadas en la red.

Puedes descargarlo con el siguiente comando:

wget https://www.snort.org/downloads/openappid/26425 -O OpenAppId-26425.tgz

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar -xzvf OpenAppId-26425.tgz

A continuación, copie el archivo binario OpenAppID en el directorio del sistema:

cp -R odp /usr/local/lib/

A continuación, edite el archivo de configuración de Snort y defina su ubicación de OpenAppID:

nano /usr/local/etc/snort/snort.lua

Cambia las siguientes líneas:

appid =
{
app_detector_dir = '/usr/local/lib',
log_stats = true,

}

Guarde y cierre el archivo, luego cree un directorio de registro de Snort:

mkdir /var/log/snort

Finalmente, verifique el archivo de configuración de Snort con el siguiente comando:

snort -c /usr/local/etc/snort/snort.lua

Si todo está bien, obtendrá el siguiente resultado:

--------------------------------------------------
fast pattern groups
                  src: 59
                  dst: 158
                  any: 4
            to_server: 56
            to_client: 39
--------------------------------------------------
search engine
            instances: 316
              patterns: 10282
        pattern chars: 166369
            num states: 112212
      num match states: 9885
          memory scale: MB
          total memory: 3.42574
        pattern memory: 0.550588
    match list memory: 1.25256
    transition memory: 1.58402
    fast pattern only: 6822
--------------------------------------------------
pcap DAQ configured to passive.

Snort successfully validated the configuration (with 0 warnings).
o")~   Snort exiting

Crear reglas personalizadas de Snort

También puede crear sus propias reglas personalizadas según sus requisitos. Vamos a crear reglas personalizadas para la solicitud ICMP entrante:

nano /usr/local/etc/rules/local.rules

Agregue la siguiente línea:

alert icmp any any -> $HOME_NET any (msg:"ICMP connection test"; sid:1000001; rev:1;)

A continuación, verifique las reglas con el siguiente comando:

snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/local.rules

Obtendrá el siguiente resultado:

search engine
            instances: 316
              patterns: 10282
        pattern chars: 166369
            num states: 112212
      num match states: 9885
          memory scale: MB
          total memory: 3.42574
        pattern memory: 0.550588
    match list memory: 1.25256
    transition memory: 1.58402
    fast pattern only: 6822
--------------------------------------------------
pcap DAQ configured to passive.

Snort successfully validated the configuration (with 0 warnings).
o")~   Snort exiting

A continuación, ejecute el siguiente comando para iniciar Snort en su interfaz de red usando sus reglas personalizadas:

snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/local.rules -i eth0 -A alert_fast -s 65535 -k none

A continuación, abra otra interfaz de terminal y haga ping a su servidor. Debería ver el error ICMP en el primer terminal:

10/11-16:45:23.848071 [**] [1:1000001:1] "ICMP connection test" [**] [Priority: 0] [AppID: ICMP] {ICMP} 157.32.34.228 -> 209.23.11.18
10/11-16:45:23.848071 [**] [1:384:8] "PROTOCOL-ICMP PING" [**] [Classification: Misc activity] [Priority: 3] [AppID: ICMP] {ICMP} 157.32.34.228 -> 209.23.11.18
10/11-16:45:24.323038 [**] [1:366:11] "PROTOCOL-ICMP PING Unix" [**] [Classification: Misc activity] [Priority: 3] [AppID: ICMP] {ICMP} 157.32.34.228 -> 209.23.11.18
10/11-16:45:24.323038 [**] [1:1000001:1] "ICMP connection test" [**] [Priority: 0] [AppID: ICMP] {ICMP} 157.32.34.228 -> 209.23.11.18
10/11-16:45:24.323038 [**] [1:384:8] "PROTOCOL-ICMP PING" [**] [Classification: Misc activity] [Priority: 3] [AppID: ICMP] {ICMP} 157.32.34.228 -> 209.23.11.18
^C** caught int signal
== stopping
10/11-16:45:25.353007 [**] [1:366:11] "PROTOCOL-ICMP PING Unix" [**] [Classification: Misc activity] [Priority: 3] [AppID: ICMP] {ICMP} 157.32.34.228 -> 209.23.11.18
10/11-16:45:25.353007 [**] [1:1000001:1] "ICMP connection test" [**] [Priority: 0] [AppID: ICMP] {ICMP} 157.32.34.228 -> 209.23.11.18
10/11-16:45:25.353007 [**] [1:384:8] "PROTOCOL-ICMP PING" [**] [Classification: Misc activity] [Priority: 3] [AppID: ICMP] {ICMP} 157.32.34.228 -> 209.23.11.18

Crear un archivo de servicio de Systemd para Snort

A continuación, cree un archivo de servicio systemd para administrar el Snort a través de systemd.

nano /etc/systemd/system/snort3.service

Agregue las siguientes configuraciones:

[Unit]
Description=Snort Daemon
After=syslog.target network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -s 65535 -k none -l /var/log/snort -D -i eth0 -m 0x1b -u root -g root
ExecStop=/bin/kill -9 $MAINPID

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie y habilite el servicio Snort con el siguiente comando:

systemctl enable –now snort3

Ahora puede verificar el estado del Snort usando el siguiente comando:

systemctl status snort3

Obtendrá el siguiente resultado:

? snort3.service - Snort Daemon
  Loaded: loaded (/etc/systemd/system/snort3.service; enabled; vendor preset: enabled)
  Active: active (running) since Tue 2022-10-11 16:48:28 UTC; 17s ago
    Main PID: 95898 (snort)
  Tasks: 2 (limit: 4579)
  Memory: 233.6M
    CPU: 2.007s
  CGroup: /system.slice/snort3.service
          ??95898 /usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -s 65535 -k none -l /var/log/snort -D -i eth0 -m 0x1b -u root -g >

Oct 11 16:48:29 ubuntu2204 snort[95898]:      num match states: 9885
Oct 11 16:48:29 ubuntu2204 snort[95898]:          memory scale: MB
Oct 11 16:48:29 ubuntu2204 snort[95898]:          total memory: 3.42574
Oct 11 16:48:29 ubuntu2204 snort[95898]:        pattern memory: 0.550588
Oct 11 16:48:29 ubuntu2204 snort[95898]:         match list memory: 1.25256
Oct 11 16:48:29 ubuntu2204 snort[95898]:         transition memory: 1.58402
Oct 11 16:48:29 ubuntu2204 snort[95898]:         fast pattern only: 6822
Oct 11 16:48:29 ubuntu2204 snort[95898]: --------------------------------------------------
Oct 11 16:48:29 ubuntu2204 snort[95898]: pcap DAQ configured to passive.
Oct 11 16:48:29 ubuntu2204 snort[95898]: Commencing packet processing

Conclusión

¡Felicidades! ha instalado y configurado correctamente Snort 3 en Ubuntu. Ahora puede implementar Snort en su organización y protegerla de los ataques DDoS. No dude en preguntarme si tiene alguna pregunta.

IPS

Los IPS son dispositivos de hardware o software encargados de revisar el tráfico de red con el propósito de detectar y responder a posibles ataques o intrusiones. La respuesta consiste en descartar o modificar los paquetes procedentes del ataque de tal manera que se anule su propósito. Este comportamiento los clasifica como dispositivos proactivos debido a su reacción automática a situaciones anómalas.

Los IPS se asemejan el comportamiento de los cortafuegos, ambos toman decisiones sobre la aceptación de paquetes en un sistema. Sin embargo, los cortafuegos basan sus decisiones en los encabezados de paquetes entrantes, capas de red y de transporte, mientras que los IPS basan sus decisiones tanto en los encabezados como en el contenido de datos del paquete.

Encabezado y contenido de paquetes dependiendo del protocolo.

La tecnología IPS ofrece una visión más exhaustiva de las operaciones de la red proporcionando información sobre todo tipo de actividades maliciosas, malas conexiones, contenido inapropiado y otras funciones, con una mínima vigilancia. Las principales características de esta tecnología son:

  • Capacidad de reacción automática ante incidentes.
  • Aplicación de nuevos filtros conforme detecta ataques en progreso.
  • Bloqueo automático frente a ataques efectuados en tiempo real.
  • Disminución de falsas alarmas de ataques a la red.
  • Protección de sistemas no parcheados.
  • Optimización en el rendimiento del tráfico de la red.

Arquitectura de seguridad con IPS

La evolución de una arquitectura de seguridad con IDS pasa por bloquear el tráfico. Para ello es necesario que los sensores pasen a estar en medio del tráfico, en lugar de escuchando el tráfico a través de los puertos espejo (mirror/SPAN), como refleja la Figura. La configuración de reglas debe ser adecuada para que no se interrumpa el flujo de tráfico de control habitual y solo se bloqueen las intrusiones y fallos de seguridad. La situación de los sensores IPS es similar a la de los sensores IDS, y el funcionamiento será exactamente el mismo, generando alerta que serán mostradas en la consola de IDS.

Los IPS como evolución de los IDS

Mientras el IDS se limita a detectar y notificar la intrusión al administrador del sistema, y éste se encarga de recibir y responder las alertas; el IPS detecta la intrusión y la detiene de algún modo ya predefinido, comprobando ciertos comportamientos en la red previamente configurados como anómalos. Gracias a este hecho, el nivel de alertas de un IPS es considerablemente menor que el nivel de alertas producido por un IDS. La diferencia principal entre los IDS activos y los IPS es que estos últimos están en capacidad de inutilizar los paquetes involucrados en el ataque modificando su contenido.

Una desventaja de los IPS viene por parte de la reacción proactiva ante las intrusiones. Por una parte, se tiene una disminución en el tiempo de reacción ante un ataque, pero también puede provocar efectos inesperados e inconvenientes cuando éste reacciona ante un falso positivo (FP), lo que podría llevar a una denegación de servicio o incluso al aislamiento de la máquina. Por ello, el uso de IPS en sistemas de control industrial ha de ser bien estudiado o en su defecto utilizar un cortafuego que posea inspección profunda de paquetes para mayor seguridad en las comunicaciones. Las arquitecturas actuales centralizan el funcionamiento del IPS, lo que facilita su operación y administración, pero disminuye la escalabilidad del sistema y convierte al IPS en un punto crítico.

Ventajas de los IPS

Tipos de IPS

Básicamente, los diferentes tipos de IPS se distinguen por su ubicación.

  • IPS basados en host (HIPS): Esta aplicación de prevención de intrusiones reside en la dirección IP específica de un solo equipo, permite prevenir posibles ataques en los host.
  • IPS basadas en red (NIPS): Monitorizan la red en busca de tráfico sospechoso.
  • IPS basado en red Wireless (WIPS): Monitorizan redes inalámbricas, al igual que hacen los NIPS con redes LAN.
  • IPS basado en Análisis de Comportamiento de Red (NBA): Examina el tráfico de red para identificar amenazas que generan tráfico inusual, como ataques de DoS o malware.

IPS basado en red (NIPS) vs IPS basado en host (HIPS)

Un HIPS puede manejar el tráfico cifrado y sin cifrar por igual, ya que puede analizar los datos después de que hayan sido descifrados en el host. Por otra parte, un NIPS no utiliza el procesador y la memoria del host, por lo que no impacta en el rendimiento de la máquina.

Un NIPS puede detectar eventos dispersos a través de la red y puede reaccionar fácilmente, mientras que con un HIPS se tardaría demasiado tiempo en informar a un motor central y posteriormente informar al resto de los equipos.

La evolución y las categorías de los IPS

Es posible distinguir dos generaciones históricas de los IPS:

  • Los IPS de primera generación, al detectar un ataque proveniente de una dirección IP determinada, descartaban todos los paquetes de esa dirección, estuvieran o no involucrados en el ataque.
  • La evolución de los IPS se debe a la capacidad de descartar únicamente los paquetes relacionados con el ataque identificado, permitiendo el tráfico de otros paquetes provenientes de la IP del atacante, siempre y cuando no estuvieran relacionados con el ataque.

Se pueden distinguir cinco categorías de IPS dependiendo de su funcionamiento, sus capacidades y su ubicación en la arquitectura de la red.

IPS inline

Estos IPS suponen la evolución de los NIDS basados en firmas y hacen la función de un Bridge a nivel de capa dos, revisando todos los paquetes que circulan por la red en busca de firmas. En caso de detectar alguna anomalía automáticamente es almacenado en un log, o incluso puede permitir el paso de un paquete alterando su contenido para de esta manera frustrar un ataque, sin que el atacante se dé cuenta. Este proceso es realizado mediante Scrubbing5, que consiste en la detección de errores por medio de verificación checksum o por redundancia con copias de datos. Habitualmente son conocidos como IPS de red o NIPS.

Switches a nivel de la capa de Aplicación (nivel 7 del modelo OSI)

Los switches trabajan de forma habitual en el nivel 2 (enlace) pero cada vez son más habituales también los switches a nivel 7 o aplicación debido a la alta demanda de ancho de banda. La tarea principal de estos switches es balancear la carga de las aplicaciones distribuidas entre varios servidores, tomando decisiones de enrutamiento o conmutación a partir del contenido de los datos de la capa de aplicación. Hasta este punto no hay diferencia con un balanceador de carga.

El funcionamiento como IPS es similar a un NIPS basado en firmas, sirviendo para bloquear ataques. La posición de estos equipos suele ser delante de los cortafuegos, de manera que protejan la red completa. Al ser similares a un NIPS, sólo pueden parar ataques que conocen, pero permiten bloquear ataques de tipo DoS o DDoS que el resto de IPS no pueden parar y sin afectar al resto de la red. Se pueden configurar de forma redundante, en modo levantamiento en caliente o como balanceador de carga (característica que los diferencia de cualquier otro IPS).

Cortafuegos/IDS de Aplicación

Los cortafuegos/IDS de aplicación se instalan en cada host que se desea proteger, teniendo en cuenta las aplicaciones que corren en él, por lo que también son conocidos como HIPS. Para su correcto funcionamiento será necesario hacer una fase de entrenamiento, que consiste en el proceso de identificación de patrones normales de funcionamiento en el host. Por medio de este entrenamiento se crea un perfil de relaciones frecuentes entre las aplicaciones y los componentes del sistema, como: el sistema operativo, otras aplicaciones, la memoria y los usuarios.

Los HIPS se comportan de forma similar a los IDS basados en detección de anomalías a la hora de detectar las intrusiones, pero deben identificar todos los procesos exhaustivamente, puesto que de no ser así pueden bloquear una aplicación válida.

Debido a que se apoyan en la detección de comportamientos anómalos y no en la coincidencia de firmas, es posible prevenir intrusiones muy recientes para las cuales todavía no existe una definición de sus firmas específicas.

Switches Híbridos

Los switches híbridos son una combinación entre los HIPS y los switches de nivel de aplicación. Son dispositivos hardware como los switches de nivel de aplicación pero usan políticas similares a las utilizadas por los HIPS.

Los switches híbridos se basan en el análisis de patrones de comportamiento. La fortaleza radica en el conocimiento detallado del tráfico que debe aceptar.

Aplicaciones engañosas

Este tipo de tecnología analiza todo el tráfico de red y de cada dispositivo en particular para disponer de un conocimiento de cuál es el tráfico permitido y correcto, similar a como realiza los patrones un HIPS. En el modo de funcionamiento, cuando detecta un tráfico que no está permitido para la red (acceso a un puerto no permitido) o para un servidor concreto (acceso a un puerto SSH a un servidor que no lo tiene abierto), envía una respuesta marcada al atacante, de manera que el IPS puede detectar otro tráfico de esa misma fuente y bloquearlo.

Herramientas IDS/IPS

Ya hablamos ampliamente de Snort y Suricata veamos algunas otras opciones.

Quickdraw

Quickdraw es un conjunto de reglas para Snort realizado por la empresa Digital Bond, y sirve para aprovechar los IDS existentes mediante el desarrollo de firmas para el control del tráfico de determinados protocolos utilizados en los sistemas de control. Además, también incluye reglas para detectar dispositivos y vulnerabilidades.

Las firmas Quickdraw (reglas en el argot de Snort), identifican solicitudes no autorizadas, solicitudes y respuestas erróneas del protocolo, comandos peligrosos, y otras situaciones que son probables o posibles ataques. En este momento tienen firmas disponibles para cuatro protocolos de sistemas de control, un conjunto de firmas para identificar los ataques a las vulnerabilidades del sistema de control, y un grupo de firmas que identifican eventos de seguridad.

Bro

Bro es otra herramienta que sirve de IDS/IPS, debido a sus características de análisis de red, al igual que Snort y Suricata. Se basa en un potente motor de análisis que permite un alto rendimiento en la monitorización de la red, analiza protocolos, y la información de la capa de aplicación en tiempo real

Arquitectura de Bro

Al igual que otras herramientas, Bro también hace uso de la librería libpcap para su funcionamiento, además es capaz de funcionar en varias redes. Además de la portabilidad adquirida mediante el uso de libpcap, Bro también puede ser una herramienta de red pasiva, lo que significa que puede actuar supervisando una red sin que sea un nodo con una dirección IP asignada. Bro está conceptualizado en dos capas:

Motor de eventos: Analiza y guarda el tráfico de la red para generar eventos neutros, que se basan en inicios o paradas de transmisiones, detección de puertos y protocolos.

Política de programa: Analiza los acontecimientos para crear políticas de acción.

Bro registra los eventos, pero también puede ser configurado para tomar acciones como el envío de alertas, ejecuciones de comandos, actualizaciones y llamadas a otros programas.

OSSEC

OSSEC es un IDS basado en Hosts (HIDS). Realiza análisis de logs, comprobación de la integridad, la supervisión del registro de eventos de Windows, detección de rootkits, alerta basada en tiempo y respuesta activa. Proporciona detección de intrusiones para la mayoría de sistemas operativos, incluyendo Linux, OpenBSD, FreeBSD, OS X, Solaris y Windows. OSSEC tiene una arquitectura centralizada, multiplataforma que permite a varios sistemas ser controlados y manejados fácilmente.

OSSEC se basa en nombrar a cada hosts como server o sensor, según sean sus características. Será necesario un sensor en cada zona que se quiera inspeccionar la red en busca de amenazas, y un servidor al menos para poder leer los datos que llegan de los sensores.

Arquitectura OSSEC

OSSEC se compone de múltiples piezas:

Servidor: El servidor es la pieza central del despliegue OSSEC. Almacena la integridad de los archivos de bases de datos, comprobación de los registros, eventos y entradas de auditoría del sistema. Todas las reglas, decodificadores, y las principales opciones de configuración se almacenan de forma centralizada en el administrador; por lo que es fácil de administrar incluso con un gran número de agentes.

Agentes/sensores: El agente es un pequeño programa o conjunto de programas, instalado en el sistema que va a ser monitorizado. El agente recopilará información y la transmitirá al gestor para su análisis y para llevar a cabo una correlación de información. Parte de la información se recoge en tiempo real, otra será recogida periódicamente. Tiene un pequeño uso de memoria y CPU por defecto, que no afecta el uso del sistema.

OSSEC en redes industriales

A modo de resumen, e implementando este sistema en una red industrial, se puede incluir una lista blanca con la IP de cada equipo industrial, routers y switches que puedan estar conectados a la red, denegando la inyección de tráfico a cualquier otro equipo que no esté registrado en esta lista.

De esta forma, se consigue una seguridad efectiva, de forma gratuita y sencilla. Igualmente se puede crear en otros sistemas operativos, en un Linux como se ha visto, o en Windows, que se presenta a continuación. Al funcionar adecuadamente con equipos con bajo rendimiento, nos permite realizar la instalación en redes industriales donde se suelen encontrar equipos más antiguos.

La inclusión de integridad del servidor, detección de rootkits y detección activa, es un añadido a la seguridad de una red industrial, siendo un requisito indispensable para aumentar la defensa de una empresa.

Comparación entre varios IDS/IPS

La Tabla 1 refleja una comparación de las características de algunos de los sistemas IDS/IPS que se han tratado en este estudio.

Conclusión:

En conclusión, los IDS e IPS no son solo tecnologías, sino guardianes virtuales que preservan la seguridad de las redes. Al anticipar y contrarrestar amenazas, estas herramientas se convierten en pilares de la defensa cibernética. Al adoptar e integrar IDS e IPS de manera efectiva, las organizaciones pueden fortalecer sus posturas de seguridad y enfrentar los desafíos de un paisaje cibernético en constante cambio con confianza.

Arquitectura unificada con IDS, IPS y SIEM

La representación final (Ver Figura) muestra la puesta en conjunto de las tres tecnologías dentro de una arquitectura de red de sistemas de control. El IPS quedaría para los niveles superiores, controlando el tráfico intercambiado entre la parte de control y la parte corporativa o de negocio, los IDS gestionarían el tráfico entre la red de control y las de campo, informado de posibles anomalías en el tráfico; y el SIEM recogería la información del mayor número posible de dispositivos, incluyendo dispositivos de proceso y elementos de red, así como la información de las alertas tanto de los IDS como del IPS.

Las líneas rojas mostradas en las figuras indican los puntos donde tanto los sensores IDS como los sensores IPS se conectan para recabar el tráfico, y constituyen una conexión de red. La red de monitorización se utiliza como nexo de unión entre los sensores IDS/IPS y el núcleo central de gestión, y por este motivo no se requiere un acceso a dicha red desde ninguna otra parte de la arquitectura. Las líneas marcadas en verde que finalizan el en SIEM muestran de dónde se obtiene información y no conexiones de red reales. La información se enviará a través de las conexiones existentes, habilitando en el cortafuegos (y en su caso en el IDS/IPS) las reglas correspondientes

Lee Nuestra Guía Completa:

No te detengas, sigue avanzando….

Aquí tienes un propósito para este 2024 que debes considerar seriamente: si has querido mejorar tus habilidades en redes, hacking y seguridad cibernética pero nunca lo has logrado, ahora es definitivamente el momento de dar el siguiente paso. Nuestros cursos. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble! Aprende Redes y Hacking y avanza en tu carrera.

CCNA 200-301: Introducción a las Redes

Cisco es una empresa que existe desde 1984. Su reconocimiento y popularidad en las empresas es conocida por su excelencia en el producto y servicio.

A raíz de tener tantos años en el mercado, muchas empresas hoy tienen sus redes conformadas por Cisco, lo cual hace que necesiten de personas con conocimientos en sus tecnologías para que puedan administrar sus redes.

Por esa razón, saber de redes y entender como funciona la tecnología Cisco, es clave. Y no solo eso, además de enseñarte todo lo que debes de conocer sobre esta marca y sus redes, te prepararemos para que si quieres, puedas certificarte en Cisco.

Te enseñaremos:

  • Una base sólida en los principales temas que se cubren a lo largo de la certificación
  • Entender cómo funciona internamente una red en lo que a protocolos se refiere
  • un primer acercamiento a los fundamentos de la seguridad de la red
  • posibles amenazas, ataques, mitigación de los mismos y automatización en redes con cisco
  • armar su primera red funcional dentro del simulador, sería una red pequeña, pero con eso ya quedarían las bases sentadas para seguir en CCNA 2

Contaras con nuestra supervisión, experiencia y respuesta a todas tus preguntas que tengas sobre el contenido.

Así también sobre las actualizaciones que hagamos sobre el curso, el cual será tuyo de por vida y recibirás dichas actualizaciones sin tener que volver a pagar.

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 500.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma.

Y junto a mi compañero Andrés Muro, formado en CCNA y CyberOps, hemos creado esta formación profesional para que te puedas preparar para rendir una de las certificaciones más demandadas del mercado.

Empieza a aprender ya mismo!

Lo que aprenderás

  • Planear, crear y desplegar una red desde 0
  • Entender cómo solucionar los distintos problemas que se puedan llegar a presentar
  • Comprender las posibles amenazas que podrían comprometer, tanto a un único host, como a toda la red
  • Crear redes a medida, según los requisitos del cliente
  • Tendrán una base sólida en redes, tanto para certificarse como CCNA, como para introducirse en otras áreas, como lo es la ciberseguridad

Introducción de Camino a la Certificación del CCA, donde vas a tener tu primer acercamiento al mundo de las redes.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes serguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/como-iniciarse-en-ciberseguridad-y-hacking-en-2024/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Cómo Iniciarse en Hacking y Ciberseguridad en 2024

Continúa leyendo: