INTRODUCCIÓN
Los riegos de la ciberseguridad en las Pymes son más frecuentes debido a que son empresas que están en crecimiento (Farro Flores, 2019). Los riesgos que hacen que una empresa sea vulnerable son las amenazas internas y externas, la infección por software malicioso y los ataques a nivel de red afectan al sistema de información (Francois Carpentier, 2016). Los diferentes tipos de ataques de los ciberdelincuentes no solo afectan a las grandes empresas, sino también a las pequeñas y medianas empresas, Pymes, y una de cada cinco de estas Pymes, son víctimas de ataques por ciberdelincuentes (Bardales, 2019).
El sistema de detección de intrusos, es un software, hardware o combinación de ambos que se utiliza para detectar la actividad de intrusos a nivel de red (Rehman, 2003). Para la detección de intrusos en la red, se utilizó herramientas inteligentes y automáticas para detectar intentos de intrusión en tiempo real (Arteaga, 2020), en concreto se implementó el Snort Open Source como IDS, esta es una herramienta de monitoreo y detección de primera línea (Thompson, 2020). El sistema de detección de intrusos implementado genera registros y alertas en tiempo real, y uno de los mayores problemas que tiene es con respecto a la administración del IDS, concretamente en el manejo del número potencial de grandes alertas y registros (Orebaugh, Biles & Babbin, 2005).
El sistema de detección de intrusiones se puede dividir en dos categorías: IDS basados en red, NIDS e IDS basados en host, HIDS. Ambos tipos de sistemas se pueden configurar para monitorear ataques, rastrear los movimientos de un pirata informático o alertar a un administrador sobre ataques en curso (Santos & Gregg, 2019). La tarea típica de los sistemas de detección de intrusos basado en red, NIDS, es el de identificar posibles patrones de ataque mediante el análisis del tráfico en red, procesando los paquetes de red en tránsito, tanto los entrantes como los salientes (Parisi, 2019). NIDS intenta detectar actividades de red maliciosas, como, el de escaneo de puertos y ataques de denegación de servicios, DoS (Prowse, 2017). Los IDS tienen una visión gran angular de lo que está sucediendo dentro y alrededor de la red (Koziol, 2003). El sistema de detección de intrusos basados en host, HIDS, funciona con información recopilada dentro de un sistema informático individual y permite analizar las actividades con gran confiabilidad y precisión (Bace & Mell, 2015). El sistema de detección de intrusos distribuido, DIDS, funciona en una arquitectura Manager/Probe (realiza todas las operaciones de configuración en ubicaciones remotas), en donde los sensores de detección de NIDS se ubican de forma remota para informar a una estación de administración centralizada, que descarga las nuevas firmas de ataque a los sensores (Baker, Beale & Caswell, 2007).
Snort Open Source es un sistema de detección de intrusos en red, libre y gratuito. El sistema de detección de intrusiones basado en red, implementa un motor de detección de ataques y barrido de puertos que permite registrar, alertar y responder ante cualquier anomalía en tiempo real (Costas Santos, 2014). Snort Open Source es un producto que combina la inspección basada en firmas y anomalías (Lane, Conklin, White & Williams, 2019). Snort realiza registros de paquetes en tiempo real, análisis de tráfico, análisis de protocolos y finalmente análisis de contenido (Goswami & Misra, 2017). Recopila información de una variedad de recursos del sistema y de la red, pero en realidad captura paquetes de datos según lo definido por la pila de protocolos TCP/IP (Vacca, 2012). Cada vez que un IDS basado en firmas localiza datos que coinciden con el contenido encontrado en una firma, genera datos de alerta para notificar a los analistas (Smith & Sanders, 2013). Snort trabaja a un nivel de detalle de escaneo de paquetes IP, y realiza la supervisión de la red a través de alertas basadas en eventos (Mandia, Luittgens & Pepe, 2014).
El trabajo principal de Snort es encontrar salidas de actividad de intrusión en paquetes con la ayuda de reglas, y si las encuentra se aplica la regla apropiada, de lo contrario descarta el paquete (Prakash & Kumar, 2012). Una regla de Snort tiene dos secciones: un encabezado y un cuerpo. El encabezado contiene la acción, el protocolo, las direcciones IP y las máscaras de red de origen y destino; mientras que el cuerpo contiene palabras clave que definen los criterios para activar una alerta (Woland, Kampanakis & Santos, 2016). Al detectar uno o varios tipos de actividad de intrusión genera alertas dependiendo de las veces que una regla haya coincidido con el contenido de un paquete (Rathaus, Ramirez, Caswell & Beale, 2005).
La motivación de realizar este trabajo de investigación respecto a la implementamos de Snort Open Source, se basa en que las Pymes que no cuentan con ningún tipo de seguridad frente a posibles ataques a nivel de red, y a través del IDS Snort Open Source, tenemos una solución para tomar medidas de seguridad a nivel de la capa de red. La implementación de Snort Open Source tiene como objetivo detectar las acciones que intentan comprometer la confidencialidad, disponibilidad e integridad de la información mediante la supervisión de los eventos que ocurren a nivel de red.
MÉTODO
Una vez que se realiza el análisis documental sobre los diferentes conceptos referentes al sistema de detección de intrusos a nivel de red Snort Open Source, se implementó un escenario con máquinas virtuales utilizando VM VirtualBox que un paquete de software de virtualización multiplataforma de código abierto (Dash, 2013), donde se realizaron las pruebas a cada una de las reglas implementadas, y se pudo verificar las alertas que emiten las reglas ante los posibles ataques.
Utilizamos la investigación aplicada para la implementación del IDS Snort, ya que con ella podemos actuar, transformar, modificar o producir cambios en un determinado sector de la realidad, para esta investigación es muy importante contar con el aporte de teorías científicas, que son producidas por la investigación básica y sustantiva (Carrasco, 2006).
Este trabajo de investigación es de tipo descriptivo, y nos permite especificar propiedades, características y perfiles importantes; una de las funciones principales de la investigación descriptiva es la capacidad para seleccionar las características fundamentales del objeto de estudio y su descripción detallada de las partes, categorías o clases de dicho objeto (Hernández, Fernández & Baptista, 2010), en la presente investigación reflejamos este estudio descriptivo en la implementación del IDS Snort.
RESULTADOS Y DISCUSIÓN
Infraestructura de Red
Se elige una topología de red jerárquica, que nos permite agrupar equipos con funciones específicas, separándolo en tres niveles para facilitar el diseño, la implementación y su mantenimiento, esta topología nos permite que la red sea más confiable y escalable (Zheng, 2017). Este diseño de red LAN jerárquico incluye las siguientes tres capas (CISCO, 2014):
Capa de acceso: Que nos permite ofrecer a los terminales y usuarios el acceso directo a la red.
Capa de distribución: Que nos permite unir las capas de acceso y ofrecer conectividad a los servicios.
Capa central: Que nos permite ofrecer conectividad entre las capas de distribución para entornos de LAN grandes.
La estructura de red propuesta para las Pymes, está basada de acuerdo a las capas de diseño de red LAN jerárquico. Las diferentes áreas de la empresa cuentan con la misma topología y estructura de red.
Capa de acceso: Mostramos la topología estrella de cada una de las áreas funcionales de la Pyme, donde la conexión entre los diferentes dispositivos finales y el switch es de punto a punto.
Capa de distribución: En esta capa conectamos la capa de acceso con la capa de núcleo, y recibimos los datos de la capa de acceso antes de que se transmitan a la capa de núcleo, para su enrutamiento hacia su destino final, utilizamos el cable UTP y los conectores RJ-45.
Capa de núcleo: Esta capa es fundamental para la interconectividad entre los elementos de la capa de distribución y la capa de núcleo dentro de la arquitectura propuesta, que nos permite complementar el tráfico de todos los dispositivos de la capa de distribución, y reenviar grandes cantidades de datos para el enrutamiento hacia su destino final, también se utiliza el cableado UTP y conectores RJ-45, ver (Figura 1).
¿Dónde colocar el sistema de detecciones de red Snort Open Source?
El lugar de ubicación de un IDS de red es importante, puesto que vigila todo el tráfico de red (Messier, 2019). Colocar el IDS detrás del cortafuego externo ofrece varias ventajas como la monitorizan intrusiones para los paquetes que logran atravesar el cortafuego principal, la detección de ataques a servidores, el reconocimiento de intentos de conexiones salientes, la identificación de ataques, el escaneo y monitorización de la red LAN; como sabemos muchas de las amenazas son provocadas por los usuarios internos al momento de ingresar a páginas no autorizadas (Arteaga, 2020). La zona de confianza es al inicio de la red LAN, donde se tiene una mayor sensibilidad, y cualquier tipo de alarma que se genere debe ser inmediatamente revisada ya que en esta zona los falsos positivos son muy pocos (Mira Alfaro, 2002), para la arquitectura propuesta de la topología de red para las Pymes utilizaremos este enfoque que acabamos de describir, es decir consideraremos la ubicación de nuestro IDS Snort después del cortafuego externo, ver (Figura 2).
Instalación y funcionamiento de Snort
Primero, nos aseguramos de que su sistema esté actualizado y tenga la última lista de paquetes mediante el siguiente comando:
>> sudo apt-get update && sudo apt-get dist-upgrade -y
Ahora verificamos que el sistema tenga la hora correcta y la zona horaria correcta. Esto será importante cuando comencemos a procesar alertas. El siguiente comando le permitirá elegir su zona horaria:
>> sudo dpkg-reconfigure tzdata
Ahora descargaremos varios archivos de origen con formato tar y otros archivos, crearemos las carpetas para almacenarlos:
>>mkdir ~/snort_src
>>cd ~/snort_src
Procedemos a la instalación bajo el siguiente comando:
>> sudo apt-get install snort
Snort informa sobre los intentos de intrusión detectados, realiza la detección y el análisis del tráfico de red (Blum & Bresnahan, 2020). Está basado en firmas, el IDS Snort tiene un archivo de firmas que enumera lo que se considera actividad sospechosa (Clarke, 2017).
Snort tienen dos partes lógicas: encabezado de regla y opciones de regla (Rehman, 2003). El encabezado de regla puede considerarse como una breve descripción de la conexión de red, donde cuatro parámetros definen una conexión de red única: IP de origen, puerto de origen, IP de destino y puerto de destino. Las opciones de regla definen lo que está involucrado en el paquete de red, básicamente es un mensaje a Snort para inspeccionar el paquete en busca de valores coincidentes y determinar si se considera malicioso el paquete (Cox & Gerg, 2004).
Recordar además que TCP como protocolo orientado a la conexión, transfiere datos entre dispositivos (Gordon, 2019). UDP es un protocolo de capa de transporte simple, orientado a datagramas que preserva los límites de los mensajes (Stevens & Fall, 2011), en la (Figura 3) se muestra la estructura de las reglas Snort.
Las reglas que se definen en el motor de detección serán colocadas en el directorio de local.rules. Cuando se envían datos a la red, primero va al servidor donde se ejecuta Snort para analizar y buscar contenido malicioso en los paquetes (Sharma, Kumar & Tasneem, 2018).
La variable HOME_NET define las direcciones de red a monitorear. Asimismo, la variable EXTERNAL_NET define qué hosts externos monitorear. El valor predeterminado ANY permite monitorear todas las direcciones de red local, ver tabla1.
Configuración y ejecución de las reglas Snort
Antes de configurar las reglas, tenemos que ejecutar Snort en modo Sistema de Detección de Intrusos a nivel de red (NIDS) tal como se muestra en (Figura 4).
ICMP detectada: Esta regla genera una alerta, con un comportamiento sospechoso en el protocolo ICMP desde cualquier dirección IP de origen y puerto origen. Teniendo como dirección de IP destino $HOME_NET, que ingresa por cualquiera de los puertos. El mensaje que emite la alerta en el IDS Snort es “Prueba ICMP detectada”, ver (Figura 5).
Regla implementada Snort:
alert icmp any any -> $HOME_NET any (msg:"Prueba ICMP detectada"; GID:1; sid:10000001; rev:001; classtype:icmp-event;)
Escaneo de puertos TCP: La regla genera una alerta, con un comportamiento sospechoso en el protocolo TCP desde cualquier dirección IP de origen y puerto origen. Teniendo como dirección de IP destino $HOME_NET, que ingresa por cualquiera de los puertos. El mensaje que emite la alerta en el IDS Snort es “Escaneo de puertos TCP detectada”, ver (Figura 6).
Regla implementada Snort:
alert tcp any any -> $HOME_NET any (msg: “Escaneo de puertos TCP detectada”; GID:1; sid:10000002; rev:001; classtype:web-application-attack; detection_fi ter:track by_src, count 30, seconds 60;)
Intento de conexión FTP: La regla genera una alerta, con un comportamiento sospechoso en el protocolo TCP desde cualquier dirección IP de origen y puerto origen. Tiene como dirección de IP destino $HOME_NET y puerto de destino 21, el mensaje que emite la alerta en el IDS Snort es “Intento de conexión FTP”, ver (Figura 7).
Regla implementada Snort:
alert tcp any any -> $HOME_NET 21 (msg:"Intento de conexión FTP sid:10000003; rev:001;)
Intento de conexión TELNET: La regla genera una alerta, con un comportamiento sospechoso en el protocolo TCP desde cualquier dirección IP de origen y puerto origen. Tiene como dirección de IP destino $HOME_NET y puerto de destino 80. El mensaje que emite la alerta en el IDS Snort es “Intento de conexión TELNET”, ver (Figura 8).
Regla implementada Snort:
alert tcp any any -> $HOME_NET 80 (msg:" Intento de conexión TELNET"; sid:10000004; rev:001;)
Posible ataque DoS TCP: La regla genera una alerta ataque de denegación de servicio distribuido, con un comportamiento sospechoso en el protocolo TCP desde cualquier dirección IP de origen y puerto origen. Tiene como dirección de IP destino $HOME_NET y puerto de destino 80. El mensaje que emite la alerta en el IDS Snort es “Posible TCP DoS”, ver (Figura 9).
Regla implementada Snort:
alert tcp any any -> $HOME_NET 80 (flags: S; msg “Possible TCP DoS;Flow:stateless; threshold: type both, track by_src, count 70, seconds 10; sid:10000005;rev:001;)
La regla genera una alerta de una conexión no permitida de SSH, esta regla tiene un comportamiento sospechoso en el protocolo TCP desde cualquier dirección IP de origen y puerto origen. Tiene como dirección de IP destino 10.0.2.15 y puerto de destino 22. El mensaje que emite la alerta en el IDS Snort es “Conexión SSH detectada”, para verificar la regla anterior utilizaremos la herramienta PuTTY desde donde podemos conectarnos a servidores remotos, ingresando el nombre o dirección IP del host y puerto, ver (Figura 10).
Regla implementada Snort:
alert tcp any any -> 10.0.2.15 22 (msg: “Conexión SSH detectetada”; sid:10000006;)
Alerta de ingreso a Facebook: La regla genera una alerta de una conexión a Facebook, esta regla tiene un comportamiento sospechoso en el protocolo TCP desde cualquier dirección IP de origen y puerto origen. Tiene como dirección de IP destino $HOME_NET y puerto de destino ANY. El mensaje que emite la alerta en el IDS Snort es “Alguien se encuentra ingresando a Facebook”, ver (Figura 11).
Regla implementada Snort:
alert tcp any any -> $HOME_NET any (content: “www.facebook.com”; msg:” Alguien se encuentra ingresando a Facebook”; sid:10000007; rev:001;)
Alerta de ingreso a YouTube: La regla genera una alerta de una conexión a YouTube, esta regla tiene un comportamiento sospechoso en el protocolo TCP desde cualquier dirección IP de origen y puerto origen. Tiene como dirección de IP destino $HOME_NET y puerto de destino ANY. El mensaje que emite la alerta en el IDS Snort es “Alguien se encuentra ingresando a YouTube”, ver (Figura 12).
CONCLUSIONES
Se puede afirmar que a lo largo de la investigación se logró implementar y mostrar la utilidad del sistema de detección de intrusos Snort con respecto a la seguridad de la infraestructura a nivel de red para una Pyme. Al monitorear el tráfico de red y realizar las pruebas necesarias se muestra el resultado como solución para una buena seguridad de la red de filtrado de paquetes.
Se implementó el diseño de la estructura de red para las Pymes basada en el sistema de detección de intrusos Snort, se identificó el lugar adecuado para su implementación, y desde donde se logró detectar con éxito el tráfico de la red entrante para la Pyme, además de monitorear el tráfico autorizado y no autorizado; asimismo esto nos permite estar alerta frente a cualquier tipo de incidente que se pudiera presentar cuando se quiere vulnerar la infraestructura de red de las Pymes.
Se logró realizar la implementación de Snort como un método de captura de paquetes, para que al momento en que circula un paquete por la red, este sea capturado por el módulo DAQ (Data Acquisition library), que lo reenvía posteriormente a Snort, este lo analiza a través del sistema de detección de intrusos a nivel de red.
Se logró implementar reglas de filtrado en el motor de reglas de Snort, y se realizó el filtrado de eventos y vulnerabilidades, estas reglas alertan los posibles intentos de ataques como la denegación de servicios, ingresos a páginas no autorizadas, escaneo de puertos entre otros. Se logró verificar que dichas reglas implementadas cumplen con su propósito, puesto que se realizaron las pruebas necesarias para garantizar que la misma cuenta con la funcionalidad esperada.