PyFRC2G: el proyecto que convierte las reglas de pfSense y OPNsense en diagramas para auditorías y documentación

En muchas organizaciones, el cortafuegos es una pieza crítica… y, a la vez, una de las más difíciles de explicar. Con el paso del tiempo, las reglas se acumulan, aparecen excepciones, se abren puertos por necesidades puntuales y se crean alias que solo entiende quien los configuró. El resultado es conocido por cualquier administrador de red: un conjunto de políticas que funcionan, sí, pero que son complejas de revisar, justificar ante una auditoría o simplemente documentar para el siguiente cambio.

Con ese problema en mente nace PyFRC2G, un paquete en Python que propone una idea directa: convertir las reglas de firewall de pfSense y OPNsense en diagramas visuales de flujos, generados automáticamente. El objetivo no es solo “que quede bonito”, sino cubrir dos necesidades que suelen chocar con la realidad del día a día: disponer de una visión global comprensible de la política de filtrado y, además, poder presentar evidencias de control y gobierno ante marcos de cumplimiento.

Unificar dos mundos muy usados en redes

PyFRC2G se define como una solución “unificada” porque aborda dos plataformas habituales en entornos profesionales y pymes: pfSense y OPNsense. El proyecto evita que cada una requiera herramientas y procesos distintos. En su planteamiento, el administrador configura el acceso a la API del firewall, y el sistema se encarga de extraer reglas, alias e interfaces para construir un “mapa” legible de lo que realmente está permitido o bloqueado.

Esa unificación se vuelve relevante cuando la infraestructura crece: una sede con su OPNsense, una filial con pfSense, entornos de laboratorio o incluso migraciones graduales donde conviven ambos. Documentar reglas en paralelo suele convertirse en un trabajo manual y frágil; PyFRC2G intenta automatizar esa parte.

Diagramas, PDFs y una señal visual para cada acción

El corazón del proyecto está en el formato de salida. PyFRC2G genera diagramas de flujo usando Graphviz y produce PDFs en A4 con una página por interfaz, además de ficheros CSV por interfaz. La herramienta también aplica un esquema de color para distinguir el comportamiento de las reglas: verde para PASS, rojo para BLOCK y amarillo para reglas deshabilitadas. Esa decisión, aparentemente estética, reduce mucho el tiempo de revisión cuando se comparan políticas o se prepara una reunión de seguridad.

PyFRC2G opnsense

El proyecto también indica que distingue entre VLANs/redes y hosts destino, y que cubre escenarios que en la práctica suelen complicar cualquier exportación: reglas flotantes, reglas deshabilitadas y distintos tipos de interfaz. En el propio PDF, el diagrama puede reflejar orígenes, interfaz, acción, protocolo, puertos, destino y comentarios de la regla, lo que facilita revisar coherencia y detectar “excepciones eternas” que deberían revalidarse.

La automatización que muchos equipos agradecen: detectar cambios y regenerar solo cuando toca

Uno de los puntos más prácticos del proyecto es su enfoque de “regenerar solo si hay cambios”. PyFRC2G crea un CSV temporal con el conjunto de reglas y calcula un hash MD5 para compararlo con la última versión. Si no hay variaciones, evita volver a generar gráficos y PDFs. Esto es importante por dos motivos: reduce tiempos en cortafuegos con rule sets grandes y, sobre todo, evita inundar la documentación con versiones repetidas que no aportan nada.

Para el flujo operativo de un equipo de sistemas, esta lógica encaja bien con tareas programadas: se puede lanzar el proceso periódicamente (por ejemplo, cada noche o tras ventanas de cambio) y obtener un PDF actualizado únicamente cuando hay modificaciones reales.

Integración con GRC: cuando el diagrama pasa a ser “evidencia”

PyFRC2G no se queda en el plano técnico. De forma opcional, incluye una integración con CISO Assistant, una plataforma open source de gobierno, riesgo y cumplimiento (GRC), para subir automáticamente los PDFs como revisiones de evidencia. El matiz de “revisión” es clave: la propia documentación del proyecto explica que cada subida crea una nueva revisión, manteniendo un histórico de cambios de la política del firewall.

En el terreno de las auditorías, ese histórico puede simplificar conversaciones recurrentes: cuándo se abrió un acceso, qué cambió tras un incidente, o si existen controles de revisión periódica. Y, en el terreno interno, ayuda a convertir la gestión de reglas en un proceso trazable, no en un arte.

Requisitos y despliegue: lo que pide para funcionar (y lo que conviene vigilar)

El proyecto establece requisitos claros: Python 3.7 o superior y Graphviz instalado en el sistema, además de dependencias como requests, graphviz y reportlab. En cuanto al acceso a los firewalls, PyFRC2G se apoya en APIs:

  • En pfSense, requiere instalar un paquete REST API (de carácter no oficial, según su propia documentación) y generar un token.
  • En OPNsense, pide crear credenciales de API (key y secret) para el usuario correspondiente.

También incorpora detección automática de interfaces en OPNsense, intentando consultar endpoints de interfaces y, si no es posible, deduciendo interfaces a partir de las reglas; si falla, permite definirlas manualmente.

Hay un detalle que el propio proyecto subraya en su apartado de troubleshooting: en la conexión a la API, el paquete puede ignorar errores SSL (menciona verify=False). Esto puede ser útil en laboratorios o redes internas con certificados autofirmados, pero conviene tratarlo como una señal de “zona de riesgo”: si se va a usar en entornos sensibles, lo razonable es asegurar certificados válidos y limitar el acceso a la API por IP, red y permisos.

De script a paquete modular: el salto de la versión 2.0

PyFRC2G describe en su documentación un cambio importante en su versión 2.0: pasa a una arquitectura modular, con componentes separados para configuración, cliente de API, generación de gráficos, utilidades e integración con CISO Assistant. Además, remarca que el código, comentarios y mensajes están en inglés y que el objetivo es que sea mantenible y extensible.

En la práctica, esto abre dos caminos: ejecutarlo como comando (modo herramienta) o integrarlo como módulo dentro de flujos propios, algo interesante para equipos que ya automatizan inventarios, backups de configuración o pipelines de compliance.

Un proyecto pequeño con una ambición muy concreta

PyFRC2G no pretende “reinventar” el firewall ni reemplazar herramientas de gestión de reglas. Su apuesta es más concreta: convertir una realidad compleja —las políticas de filtrado— en un formato que se pueda explicar, revisar y archivar. Y eso, en redes, suele ser la diferencia entre “funciona” y “está bajo control”.


Preguntas frecuentes

¿Cómo generar un PDF con el diagrama de reglas de pfSense para una auditoría de seguridad?
La herramienta extrae reglas vía API, genera un CSV y crea un PDF en formato A4 con diagramas por interfaz, pensado precisamente para documentación y evidencias de cumplimiento.

¿Se pueden convertir reglas de OPNsense en un diagrama de flujos con detección automática de interfaces?
Sí. PyFRC2G incluye detección automática de interfaces en OPNsense y, si no funciona, permite especificarlas manualmente en la configuración.

¿Qué ventajas aporta documentar reglas de firewall con Graphviz frente a exportar reglas en texto?
El enfoque visual facilita revisar de un vistazo orígenes, destinos, puertos y acciones (PASS/BLOCK), además de resaltar reglas deshabilitadas, lo que acelera revisiones técnicas y auditorías.

¿Cómo mantener un histórico de cambios de reglas como evidencia en un sistema GRC?
PyFRC2G contempla una integración opcional con CISO Assistant para subir los PDFs como revisiones de evidencia, manteniendo un registro de versiones.

Fuente: Repositorio de PyFRC2G.

encuentra artículos

newsletter

Recibe toda la actualidad del sector tech y cloud en tu email de la mano de RevistaCloud.com.

Suscripción boletín

LO ÚLTIMO

×