"Network Intelligence: Ciencia de Datos para documentación automatizada y fortalecer la ciberseguridad"

Ciencia de Datos aplicada para automatización de documentación precisa y en tiempo real de Redes de Datos

Posteado el 3 de febrero de 2025 a las 20:11 por
Marcos León
Python Web Design Freebies
...

En el contexto de las implementaciones de redes, uno de los aspectos más críticos que suelen quedar relegados a un “para después” es la documentación precisa y en tiempo real sobre el acceso a la infraestructura. Por "precisa" nos referimos a contar con una visión completa y detallada que permita identificar qué tipo de equipo, qué usuario y qué servicio están operando en cada puerto físico de los switches.

Sin embargo, esta tarea, además de ser tediosa, se vuelve aún más desafiante cuando se realizan cambios en caliente, es decir, sin interrumpir el servicio. En estas circunstancias, se requiere garantizar que los actores clave del negocio (servidores críticos, usuarios de alta prioridad o equipos dedicados a tareas estratégicas) no se vean afectados. En caso de impacto, es crucial que el tiempo de indisponibilidad sea mínimo.

La falta de documentación actualizada y precisa genera una serie de riesgos graves que no solo afectan la operatividad, sino que comprometen directamente la seguridad de la red:

1. Pérdida de tiempo en momentos críticos 🚨

Cuando ocurren incidentes de seguridad o problemas de conectividad, la falta de un mapeo claro entre direcciones IP, MACs y puertos físicos resulta en horas perdidas identificando dispositivos conectados. Esto puede retrasar la resolución de problemas en escenarios donde cada segundo cuenta, como un ataque en curso o la caída de servicios esenciales.

2. Dificultad para rastrear dispositivos maliciosos o sospechosos 🕵️‍♂️

Sin una relación clara entre usuarios, equipos y puertos físicos, la detección de dispositivos no autorizados o maliciosos es prácticamente imposible. Esto deja abierta la puerta a:

  • Accesos no autorizados que pueden ser utilizados para espionaje, robo de datos o sabotaje.
  • Movimientos laterales en un ataque, donde un intruso aprovecha la red para acceder a sistemas críticos.
  • Equipos mal configurados que exponen vulnerabilidades aprovechables por atacantes.

3. Errores en la resolución de problemas de conectividad ⚙️

La falta de información precisa sobre la red aumenta el riesgo de cometer errores al diagnosticar problemas. Por ejemplo:

  • Desconectar un puerto crítico por error, afectando servidores o usuarios clave.
  • No identificar la causa raíz de problemas recurrentes, prolongando la indisponibilidad del servicio.

4. Auditorías ineficientes y no confiables 🔒

En auditorías de seguridad o cumplimiento normativo, la falta de documentación actualizada compromete la capacidad de demostrar el control sobre la infraestructura. Esto puede derivar en:

  • Multas por incumplimiento de estándares como ISO 27001, GDPR o PCI DSS.
  • Exposición a riesgos reputacionales por fallas de seguridad no documentadas.

5. Exposición a ataques de mayor impacto 🚫

Cuando no se sabe quién está conectado y dónde, es imposible responder de manera eficiente a un incidente de seguridad. En un escenario de ataque, como ransomware o exfiltración de datos, la red queda vulnerable porque:

  • No se puede aislar rápidamente un dispositivo comprometido.
  • No se identifican patrones de comportamiento anómalos a tiempo.

En un panorama donde las amenazas cibernéticas evolucionan constantemente, la visibilidad completa de la red no es opcional, es una necesidad crítica.


Atendiendo a este contexto, aplicando Ciencia de Datos a las Redes, te comparto este Notebook que presento a continuación y que estoy seguro, facilitará enormemente la realización de la documentación precisa y en tiempo real. Funciona en una red que tiene un Fortigate como Gateway, y switches Juniper como acceso, pero con un poco más de trabajo, lo podrás adaptar a otras marcas. Y lo que hace básicamente es lo siguiente:

Con ayuda de librerias especializadas para Redes como Napalm y Netmiko,  y con librerías para transformación como Pandas y Regular Expresion, se logra extraer y transformar información de diferentes fuentes, como:

  • 🌐 Tabla ARP del Fortigate: Se conecta al forti, y extrae la tabla que relaciona direcciones IP con MACs. 
  • 👤 Usuarios e IPs del Fortigate: En este caso, el Fortigate recibe información de un AD para permisos de navegación y a través de "diagnose firewall auth list", se extrae y se transforma esta información.
  • 🔒 Objetos en el Fortinet: A través de "show firewall address" se extrae y se transforma del Fortinet los nombres de diferentes objetos.
  • 🔌 Tabla MAC de los Switches de acceso: Obtiene tablas que relacionan MACs con puertos físicos, información sobre la utilización de estos puertos, además de otras informaciones como ser hostname, uso de cpu, memoria, etc.

Con esta información, se crea una relación cruzada que permite identificar el puerto del switch al que está conectado un usuario o un determinado objeto nombrado en el Fortigate.  Incluso, gracias a la librería Plotly podrás visualizar en un gráfico 📊 que tanto se utlizan de los puertos del Switch al que están contectado los equipos.

De verdad, estoy seguro que este Notebook te ayudará verdaderamente en tus tareas, y sobre todo espero que despierte aún más tu curiosidad por aplicar Ciencia de Datos a las Redes y a la Cyberseguridad.