Introducción

Qué es luIDS

luIDS es un conjunto de herramientas de código abierto cuya finalidad es controlar las conexiones cifradas que entran y salen de una red, advirtiendo de posibles conexiones de malware, fraudes y filtraciones de datos.

Para realizar esta labor, el sistema incorpora herramientas para el análisis del tráfico de red, centrándose específicamente en los protocolos DNS y TLS, servidores DNS, sistemas de listas negras, machine learning, integración con sistemas cortafuegos, sistemas de notaría, archivado del tráfico, procesamiento de eventos, etc.

Qué es un sumidero DNS o DNS Sinkhole

Un sumidero DNS es un servidor DNS que cumple el rol de resolvedor en una red pero que, en lugar de devolver directamente a los clientes el resultado de una consulta DNS, comprobará si el nombre consultado se encuentra en una lista negra. Si se encontrase en la lista, entonces el sumidero no realizará la resolución y devolverá al cliente la dirección IP que nosotros deseemos o que el dominio no existe. Si el dominio no estuviese en la lista, el sumidero devolverá el resultado de la consulta al cliente.

dns-sinkhole-what
Figura 1. Qué es un sumidero dns

¿Qué es un sumidero DNS de lista blanca o DNS Whitehole?

Un sumidero de listas blancas es una clase particular de sumidero DNS que únicamente resolverá los dominios solicitados por el cliente si se encuentran previamente en una lista.

Qué es netfilter

Netfilter es el software que se encuentra en el kernel de Linux y que se encarga del filtrado y procesamiento de paquetes de red, siendo su principal cometido la implementación de sistemas cortafuegos. Dicho software es completamente configurable mediante las herramientas nftables e iptables (y otras) y es modular, lo que le permite agregar fácilmente nuevas funcionalidades al sistema.

Uno de los módulos que incorpora netfilter es nfqueue. Dicho módulo permite que se tomen decisiones acerca de la acción a tomar sobre un determinado paquete en un proceso fuera del espacio de kernel, empleando para ello una interfaz de alta velocidad llamada netlink.

Integración de netfilter con luIDS

Dentro del conjunto de herramientas de luIDS hay un paquete, al que hemos llamado también netfilter, que incluye programas con los que podremos integrar cortafuegos basados en Netfilter con el ecosistema de luIDS.

Uno de dichos programas es lunfqueue. Este programa está diseñado para escuchar en una o varias colas nfqueue y nos permitirá tomar decisiones acerca de los paquetes de red que enviemos a las colas. Para tomar dichas decisiones, lunfqueue implementa a su vez un sistema de módulos de procesamiento y acciones que podrán consumir la información de otros servicios luIDS como el sistema de listas, la caché de resoluciones, etc.

¿Por qué esta configuración?

Como se indicó, con un sumidero de lista blanca podremos limitar el acceso a internet a un grupo reducido de dominios. Esto puede ser útil en multitud de casos de uso. Sin embargo, un sumidero no es suficiente: bastará con que los equipos realicen conexiones directas por IP. Para evitar esto, será necesario que el sistema cortafuegos de salida bloquee todas aquellas conexiones provenientes de equipos de nuestra red dirigidas a dispositivos que no hayan sido resueltos previamente por nuestro servidor DNS para esa determinada IP.

Gracias a la versatilidad del sistema luIDS, esta configuración es posible combinando diferentes componentes. Cómo hacerlo se ilustrará en los diagramas de la siguiente sección.

A continuación: Diseño del sistema