FirewallD es una herramienta de gestión de cortafuegos disponible de forma predeterminada en los servidores CentOS 7. Es un tipo de solución de administración de firewall que administrará las reglas de iptables. Básicamente, FirewallD reemplaza a iptables como la herramienta de administración de firewall predeterminada.
Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas relacionadas con FirewallD.
En este contexto, veremos cómo configurar un firewalld en el servidor CentOS 7 y algunos conceptos básicos de FirewallD.
Conceptos Básicos en Firewalld
FirewallD utiliza conceptos de servicios y zonas en lugar de reglas y cadenas de iptables. Con eso, puede configurar qué tráfico debe permitirse o rechazarse hacia y desde el sistema. FirewallD está utilizando la utilidad firewall-cmd para administrar la configuración de su firewall.
Zonas FirewallD
Las zonas son conjuntos de reglas que especifican qué tráfico debe permitirse según el nivel de confianza que tenga en las redes a las que está conectada su computadora. Puede asignar interfaces de red y fuentes a una zona.
Las siguientes son zonas predefinidas incluidas en FirewallD en orden desde el nivel de confianza de la zona desde el menos confiable hasta el más confiable:
- drop:todas las conexiones entrantes se interrumpen sin ninguna respuesta. Solo se permiten conexiones salientes. Es el nivel más bajo de confianza.
- bloqueo:es igual que el anterior, pero todas las conexiones entrantes se rechazan con mensajes icmp-host-prohibited o icmp6-adm-prohibited. Solo se permiten conexiones salientes.
- público:esto representa áreas públicas que no son de confianza. No confía en otras computadoras en la red, pero puede permitir conexiones entrantes seleccionadas.
- externo:Redes externas en caso de que esté utilizando el firewall como puerta de enlace. Está configurado para enmascaramiento de NAT para que su red interna permanezca privada pero accesible.
- interno:para computadoras en su red interna, solo se aceptan conexiones entrantes seleccionadas.
- dmz:zona desmilitarizada DMZ, de acceso público con acceso limitado a la red interna, solo se aceptan conexiones entrantes seleccionadas.
- trabajo:Se utiliza para máquinas de trabajo. Confíe en la mayoría de las computadoras en la red. Es posible que se permitan algunos servicios más.
- home:se utiliza para máquinas domésticas. Otras computadoras en la red son generalmente confiables. Solo se permiten conexiones entrantes seleccionadas.
- de confianza:todas las conexiones de red son aceptables. Confíe en todas las computadoras de la red.
Servicios de cortafuegos
Los servicios de FirewallD son archivos de configuración xml, con reglas predefinidas que se aplican dentro de una zona y definen la configuración necesaria para permitir el tráfico entrante para un servicio específico. Los archivos de configuración xml se almacenan en los directorios /usr/lib/firewalld/services/ y /etc/firewalld/services/.
¿Cómo instalar y habilitar FirewallD?
Antes de continuar con este procedimiento de instalación, asegúrese de iniciar sesión con una cuenta de usuario habilitada para sudo o con un usuario root.
De forma predeterminada, Firewalld está disponible en su CentOS 7. Si no está en su sistema, puede instalar el paquete ejecutando el siguiente comando:
$ sudo yum install firewalld
El servicio Firewalld está deshabilitado de forma predeterminada. Puede comprobar el estado del cortafuegos con:
$ sudo firewall-cmd --state
Si lo instaló ahora o no lo activó antes, se imprimirá sin ejecutarse; de lo contrario, se imprimirá ejecutándose.
Puede iniciar el servicio FirewallD y habilitarlo en el arranque escribiendo:
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld
¿Cómo configurar su firewall con FirewallD?
De forma predeterminada, después de habilitar el servicio FirewallD, la zona pública es la zona predeterminada. Puede obtener una lista de la zona predeterminada escribiendo:
$ sudo firewall-cmd --get-default-zone
Para obtener una lista de todas las zonas disponibles, ejecute el siguiente comando:
$ sudo firewall-cmd --get-zones
Todas las interfaces de red se asignan a la zona predeterminada. Para comprobar qué zonas utiliza su(s) interfaz(es) de red, escriba:
$ sudo firewall-cmd --get-active-zones
Puede imprimir los ajustes de configuración de zona con:
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
¿Cómo cambiar la zona predeterminada del cortafuegos?
Para cambiar la zona predeterminada, use el indicador –set-default-zone seguido del nombre de la zona que desea establecer como predeterminada. Por ejemplo, para cambiar la zona predeterminada a casa, debe ejecutar el siguiente comando:
$ sudo firewall-cmd --set-default-zone=dmz
Verifique los cambios con:
$ sudo firewall-cmd --get-default-zone
Para permitir la regla FirewallD para HTTP y HTTPS
Para agregar reglas de servicio permanentes para HTTP y HTTPS a la zona dmz, ejecute:
$ firewall-cmd --zone=dmz --add-service=http --permanent
$ firewall-cmd --zone=dmz --add-service=https --permanent