A distribución de firewall OPNsense 26.7 foi liberada do proxecto pfSense en 2015 co obxectivo de desenvolver unha distribución de código aberto que poida ter a funcionalidade de solucións de firewall e pasarelas comerciais. A diferenza de pfSense, o proxecto sitúase como non controlado por unha única empresa, desenvolvido coa participación directa da comunidade e contando cun proceso de desenvolvemento totalmente transparente, ademais de ofrecer a posibilidade de utilizar calquera dos seus desenvolvementos en produtos de terceiros, incluíndo comerciais. O código fonte dos compoñentes de distribución, así como as ferramentas utilizadas para a montaxe, distribúense baixo a licenza BSD. Os conxuntos prepáranse en forma de LiveCD e unha imaxe do sistema para gravar en unidades Flash (490 MB).
O núcleo da distribución baséase no código FreeBSD. As características de OPNsense inclúen: unha cadea de ferramentas de compilación de código aberto, compatibilidade coa instalación como paquetes sobre FreeBSD normal, ferramentas de balanceo de carga, unha interface web para organizar as conexións de usuario á rede (Captive Portal), mecanismos de seguimento do estado da conexión (un cortafuegos con estado baseado en pf), un sistema de limitación de ancho de banda, filtrado de tráfico e creación de VPN baseada en IPsec. OpenVPN e PPTP, integración con LDAP e RADIUS, compatibilidade con DDNS (DNS dinámico), un sistema de informes visuais e gráficos.
En base á distribución, é posible crear configuracións tolerantes a fallos baseadas no uso do protocolo CARP e permitindo lanzar, ademais do firewall principal, un nodo de copia de seguridade, que se sincronizará automaticamente a nivel de configuración e asumirá a carga en caso de fallo do nodo primario. Ofrécese ao administrador unha interface web para configurar o firewall, construída mediante o marco web Bootstrap e Phalcon MVC.
Entre os cambios:
- Completouse a transición á base de código de FreeBSD 15.1 (anteriormente usábase FreeBSD 14.3).
- As interfaces para configurar regras de firewall, asignar interfaces de rede (separando entre LAN e WAN) e xestionar grupos de pasarelas migráronse para usar o marco MVC e agora tamén son accesibles a través da API web para automatizar a xestión da configuración de rede.
- Engadiuse un asistente para migrar as regras de tradución de enderezos do formato de configuración NAT de saída antigo ao novo formato usando a arquitectura NAT de orixe (SNAT).
- Engadiuse compatibilidade con DDNS (dinámico) e asignación automática de prefixos IPv6 (bloques de enderezos) ao configurador DHCP de KEA.
- Engadiuse compatibilidade con IPv6 ao portal cativo.
- Versións actualizadas OpenVPN 2.7, PHP 8.5, Python 3.13.
- Corrixiuse unha vulnerabilidade crítica (CVE-2026-57155, nivel de gravidade 9.9 sobre 10). Esta vulnerabilidade permitía que un usuario sen privilexios, sen acceso ao shell e con acceso limitado a alias (listas de nomes de rede e host), executase código con privilexios de root. A vulnerabilidade débese á falta de comprobacións axeitadas ao procesar datos da base de datos GeoIP que asocia países con enderezos IP.
O código de país da base de datos GeoIP substituíuse sen verificación ao xerar o nome do ficheiro que se estaba a escribir, o que permitía sobrescribir calquera ficheiro do sistema, xa que o xestor se executa con privilexios de root. Un usuario sen privilexios podería usar a API web para especificar un URL para descargar unha base de datos GeoIP modificada para alias. Para obter privilexios de root, podería especificarse "../../../../../../../../../etc/newsyslog.conf.d/zzz_pwn" en lugar do código de país nunha das entradas da base de datos. Isto crearía un ficheiro de configuración para o sistema de rotación de rexistros, que podería definir comandos executados con privilexios de root.
Fonte: opennet.ru
