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 una zona DNS RBL?

Una zona DNS RBL es una zona DNS que sigue la especificación RFC5782. Dicha especificación define cómo montar un sistema de listas negras/blancas sobre una infraestructura DNS.

Al tratarse de un estándar, muchos productos de ciberseguridad incluyen la funcionalidad de integrarse con zonas DNS RBL. Entre estos productos tenemos sistemas cortafuegos, servidores proxy, pasarelas de correo, etc.

¿Por qué esta configuración?

Una tarea común en los sistemas de correo es comprobar si el servidor que trata de entregar un email para uno de sus destinatarios se encuentra en una lista negra. Para ello, generalmente suelen configurarse los controles en dos fases: la primera fase la realiza el MTA, es decir, el propio software de servidor de correo (por ejemplo Postfix). Este chequeo incluye diversas comprobaciones genéricas: si IP tiene resolución inversa, si hay registro SPF, si se hace greylisting, etc. Además se suelen poner varias zonas DNSxL con información de listas negras. Tras estas comprobaciones, el email pasará a la siguiente fase, en la que otra herramienta más especializada (como puede ser SpamAssasin) aplicará diversos filtros más intensivos en recursos (estadísticos, etc) así como cálculos de puntuaciones utilizando un número mayor de lista negras, etc.

En general, suele ser recomendable el uso de listas negras en la primera fase para evitar el consumo de recursos innecesario de la segunda. Sin embargo, las opciones que presenta el MTA para esto suelen ser reducidas. En el caso de Postfix, hasta la llegada de las opciones de chequeo postscreen (que se producen antes de que se de cualquier conversación SMTP) y que admite el uso de thresholds (umbrales de respuesta), ni siquiera permitían sistemas de puntuaciones.

¿Qué tiene de especial nuestro sistema?

A pesar de las opciones que pueda ofrecernos un sistema como Postfix, nunca va a proveer las funcionalidades que puede proporcionar en este aspecto un servidor xlist: puntuaciones, chequeos en listas locales y sincronización para consulta "offline", geolocalización, tasas de consulta, gestión de fallos, métricas por lista, estadísticas, etc.

Por todo ello, esta es la propuesta para la presente guía: configurar un servidor xlistd con las listas que utilice nuestro sistema antispam y proporcionarlas mediante un servidor ludns con el plugin xlistrbl que sirva una zona para las consultas del servidor de correo. De esta forma únicamente habrá que configurar una zona en el MTA y el sistema xlistd se encargará del resto. Nótese lo oportuno de esta configuración si tenemos una granja de servidores MTA.

why-antispam

Esta guía se trata de una configuración básica así que no se verán todas las funcionalidades que ofrece nuestro sistema. Sin embargo, conviene que el usuario las conozca por si se anima a continuar explorando más allá de esta guía. Algunas de las funcionalidades adicionales son:

  • ofrece soporte de nombres de dominio e ipv6,

  • es posible usar listas negras online y sincronizarlas,

  • es posible alojar múltiples zonas utilizando a su vez diferentes servidores xlistd,

  • es posible reutilizar las listas y dar servicio a múltiples servidores DNS,

  • provee de instrumentación para su integración en un sistema de monitorización Prometheus y así tener información en "tiempo real",

  • disponible en Docker y con algunas características que lo hace ideal para su despliegue en entornos Cloud con herramientas como Kubernetes.

Así que una vez visto qué es y qué ventajas aporta nuestro software sobre otros, pongámonos manos a la obra.

A continuación: Diseño del sistema