Firewalld es una excelente herramienta de administración de firewall que protege y bloquea el tráfico de red

La mayoría de las distribuciones de Linux cuentan con sus propios servicios de firewall preconstruidos, por lo que el usuario generalmente no tiene que intervenir en esta parte. Pero en ocasiones es necesario algún tipo de configuración especial o para cualquier otra cosa que desee el usuario.

Y es por eso que el día de hoy vamos a hablar Firewalld, el cual es un firewall dinámico administrable, básicamente permite poder realizar la administración del Firefwall con soporte para zonas de redes para definir el nivel de confianza de las redes o interfaces que utilice para conectarse. Tiene soporte para configuraciones IPv4, IPv6 y puentes de ethernet.

-Sobre Firewalld

Firewalld está implementado en forma de contenedor sobre los filtros de paquetes nftables e iptables. Firewalld se ejecuta como un proceso en segundo plano que permite que las reglas de filtrado de paquetes se cambien dinámicamente a través de D-Bus sin tener que volver a cargar las reglas de filtrado de paquetes y sin desconectar las conexiones establecidas.

Para administrar el firewall, se utiliza la utilidad firewall-cmd que, al crear reglas, no se basa en las direcciones IP, las interfaces de red y los números de puerto, sino en los nombres de los servicios, por ejemplo, para abrir el acceso a SSH, para cerrar SSH, entre otros.

La interfaz gráfica firewall-config (GTK) y el subprograma firewall-applet (Qt) también se pueden usar para cambiar la configuración del firewall. La compatibilidad con la gestión a través de D-BUS API firewalld está disponible en proyectos como NetworkManager, libvirt, podman, docker y fail2ban.

Además, firewalld mantiene de forma separada una configuración en ejecución y otra permanente. Así pues, firewalld también ofrece una interfaz para que las aplicaciones puedan añadir reglas de una forma cómoda.

El modelo anterior (system-config-firewall/lokkit) era estático y cada cambio requería un reinicio completo. Esto suponía tener que descargar los módulos del núcleo (ej: netfilter) y recargarlos de nuevo en cada configuración. Además, este reinicio suponía perder la información de estado de las conexiones establecidas.

Por el contrario, firewalld no requiere reiniciar el servicio para aplicar una nueva configuración. Por lo tanto, no es necesario recargar los módulos del núcleo. El único inconveniente es que para que todo esto funcione correctamente, la configuración debe realizarse a traves de firewalld y sus herramientas de configuración (firewall-cmd o firewall-config). Firewalld es capaz de añadir reglas utilizando la misma sintaxis que los comandos {ip, ip6, eb} tables (reglas directas).

-Firewalld 1.3

Actualmente, Firewalld se encuentra en su versión 1.3, la cual fue recientemente liberada y en ella se destacan los siguientes cambios:

  • Se ha implementado un servicio compatible con la aplicación para compartir archivos Warpinator desarrollada por la distribución Linux Mint.
  • Se agregaron los servicios bareos-director, bareos-filedaemon y bareos-storage para admitir el sistema de copia de seguridad Bareos.
  • Se implementó una regla de enmascaramiento para el backend de nftables, que le permite vincular las interfaces de red a una zona que procesa el tráfico entrante. Para el backend de iptables, esta función no es compatible.
  • Servicio agregado para redes P2P superpuestas de Nebula.
  • Se agregó un servicio para el sistema de exportación de métricas de Ceph a la base de datos de Prometheus.
  • Se agregó un servicio que admite el protocolo OMG DDS (Servicio de distribución de datos del grupo de administración de objetos).
  • Se ha agregado un servicio para procesar solicitudes de clientes para determinar nombres de host mediante el protocolo LLMNR (Resolución de nombres de multidifusión local de enlace).
  • Se agregó un servicio para el protocolo ps2link que se usa para comunicarse con las consolas de juegos PlayStation 2.
  • Se ha agregado un servicio para admitir la operación del servidor para el sistema de sincronización de archivos Syncthing.

Si estás interesado en poder conocer más al respecto sobre esta nueva versión, puedes consultar los detalles en el siguiente enlace:

https://github.com/firewalld/firewalld

-Obtener Firewalld

Finalmente, para quienes estén interesados en poder instalar este Firewall, deben saber que el proyecto ya está en uso en muchas distribuciones de Linux, incluidas RHEL 7+, Fedora 18+ y SUSE/openSUSE 15+. El código de firewalld está escrito en Python y se distribuye bajo la licencia GPLv2. Pueden obtener el código fuente para su compilación desde el siguiente enlace:

https://github.com/firewalld/firewalld/releases