En muchas organizaciones, la gestión de las políticas de firewall representa un desafío complejo y a menudo difícil de comunicar. Con el tiempo, las reglas se acumulan, aparecen excepciones, se abren puertos por necesidades puntuales y se crean alias que solo quienes configuraron el sistema entienden completamente. Este escenario genera una política de filtrado que, si bien suele funcionar, se vuelve cada vez más difícil de revisar, justificar en auditorías y documentar para futuras modificaciones.
Para abordar esta problemática, surge PyFRC2G, un paquete en Python diseñado para transformar las reglas de firewalls pfSense y OPNsense en diagramas visuales de flujo que se generan automáticamente. Su misión no es solo ofrecer una representación estética, sino proporcionar una visión global comprensible de las políticas de filtrado y facilitar la presentación de evidencias de cumplimiento ante marcos regulatorios.
PyFRC2G se presenta como una solución unificada que integra dos plataformas ampliamente utilizadas en entornos profesionales y pymes. La idea central es facilitar el trabajo del administrador, eliminando la necesidad de manejar herramientas y procesos diferentes para cada firewall. Mediante una configuración sencilla que permite al sistema acceder a la API del firewall, PyFRC2G extrae reglas, alias y interfaces para construir mapas visuales claros de lo que está permitido o bloqueado en la red.
La utilidad de esta unificación se vuelve especialmente evidente en infraestructuras cada vez más complejas, donde coexistir diferentes sistemas como pfSense y OPNsense en distintas sedes, filiales, entornos de laboratorio o migraciones graduales es una realidad común. En estos escenarios, documentar las reglas manualmente o de forma fragmentada se vuelve un trabajo arduo y propenso a errores. PyFRC2G automatiza esta tarea, reduciendo el riesgo y ahorrando tiempo.
El núcleo del proyecto es el formato de salida. PyFRC2G genera diagramas de flujo utilizando Graphviz y produce PDFs en tamaño A4, con una página dedicada a cada interfaz, además de archivos CSV por interfaz. Los diagramas usan un esquema de colores intuitivo: verde para reglas que permiten el paso (PASS), rojo para reglas que bloquean (BLOCK) y amarillo para reglas deshabilitadas. Esta codificación visual ayuda a acelerar las revisiones y facilitar la detección de configuraciones que necesitan ser revaluadas.
Además, el sistema distingue entre VLANs, redes y destinos, incluyendo escenarios complejos como reglas flotantes, reglas deshabilitadas y diferentes tipos de interfaz. La documentación en PDF refleja información clave como origen, interfaz, acción, protocolo, puertos, destino y comentarios, simplificando la detección de incoherencias o excepciones que puedan requerir atención.
Una característica destacada es su enfoque en la automatización inteligente: PyFRC2G solo regenera los diagramas si detecta cambios en las reglas. Esto lo logra calculando un hash MD5 del conjunto de reglas y comparándolo con versiones anteriores, evitando realizar procesos inútiles y ahorrando recursos. Este mecanismo es especialmente útil en entornos con reglas extensas y en procesos periódicos de auditoría o revisión.
De manera opcional, PyFRC2G se integra con CISO Assistant, una plataforma open source de gobierno, riesgo y cumplimiento (GRC). Gracias a esta integración, los PDFs generados pueden subirse automáticamente como evidencias en el sistema, permitiendo mantener un historial de versiones y facilitar auditorías internas o externas. Esto transforma la revisión de reglas en un proceso trazable y controlado.
El despliegue de la herramienta requiere Python 3.7 o superior, Graphviz instalado en el sistema y ciertas dependencias. Para acceder a las APIs de pfSense y OPNsense, es necesario configurar tokens o credenciales correspondientes. También ofrece detección automática de interfaces en OPNsense, aunque permite su definición manual en caso de fallos. Es importante tener en cuenta que la conexión puede ignorar errores SSL, algo útil en entornos internos con certificados autofirmados, pero que debe usarse con cautela en sistemas sensibles.
La versión 2.0 de PyFRC2G enfatiza una arquitectura modular, facilitando su integración en flujos de trabajo automatizados y permitiendo su utilización como librería o herramienta independiente. Esto abre puertas a su incorporación en pipelines de gestión de configuraciones, backups o cumplimiento normativo.
En definitiva, PyFRC2G no busca reemplazar los sistemas de firewall, sino ofrecer una solución concreta para simplificar, visualizar y documentar las políticas de filtrado de red. Al transformar reglas complejas en diagramas comprensibles, facilita la gestión, auditoría y control, convirtiéndose en una herramienta valiosa en la protección y gestión de infraestructuras de red modernas.
