Firewalld: cómo administrar dinámicamente el firewall en RHEL / CentOS 7
Fedora 17 / RHEL / CentOS 7 introduce un nuevo demonio de firewall llamado CortafuegosD, un firewall administrado dinámicamente que admite zonas para definir el nivel de confianza de las conexiones o interfaces de red. Debido a que FirewallD se ejecuta como un demonio, también permite agregar reglas instantáneamente sin la necesidad de un firewall completo (iptables) reinicio que puede provocar la rotura del firewall con estado y las conexiones establecidas. Los cambios en la configuración se pueden realizar en cualquier momento y se implementan de inmediato, no es necesario guardar o aplicar los cambios. El demonio Firewalld usa la herramienta iptables para comunicarse con el filtro de paquetes del kernel.
Zonas
FirewallD usa zonas de red para definir el nivel de confianza para las conexiones de red, una conexión solo puede ser parte de una zona, pero una zona puede usarse para muchas conexiones de red.
Hay una serie de zonas predefinidas que se pueden utilizar en casos generales:
soltar – los paquetes de red entrantes se descartan, sin respuesta, solo son posibles las conexiones de red salientes
cuadra – las conexiones de red entrantes se rechazan con un mensaje icmp-host-prohibido, solo son posibles las conexiones de red iniciadas dentro de este sistema.
público – Para su uso en áreas donde no confía en que las otras computadoras no dañarán su computadora, solo se aceptan las conexiones entrantes seleccionadas.
externo – Para uso en redes externas con enmascaramiento habilitado especialmente para enrutadores, no confía en que las otras computadoras no dañen su computadora, solo se aceptan las conexiones entrantes seleccionadas
dmz – Para las computadoras en su zona desmilitarizada que son de acceso público con acceso limitado a su red interna, solo se aceptan las conexiones entrantes seleccionadas.
trabajo / casa / interno – confía principalmente en las otras computadoras en la red para no dañar su computadora, solo se aceptan las conexiones entrantes seleccionadas
de confianza – se aceptan todas las conexiones de red
Herramientas de configuración
FirewallD se puede configurar con firewall-config, una herramienta de configuración gráfica, firewall-cmd, una herramienta de línea de comandos o la interfaz D-BUS.
Puede acceder al herramienta gráfica a través de la configuración de firewall comando o desde el menú del sistema.
Aquí puedes ver una lista de las zonas que especificamos anteriormente y puedes seleccionar cada una de ellas y hacer diferentes ajustes desde las pestañas como esta:
Servicios – servicios de confianza a los que se puede acceder desde todos los hosts.
Puertos – puertos de confianza que estarán abiertos en esta zona
Enmascarado – le permite configurar un host o enrutador que conecta su red local a Internet
Reenvío de puertos – agregue entradas para permitir el reenvío de puertos de un puerto a otro o de un host a otro.
Filtros ICMP – servicios icmp de confianza
Reglas ricas – use un lenguaje rico para agregar reglas complejas
Interfaces – vincular interfaces a la zona
Fuentes – vincular la dirección de origen o ares a la zona
También puede utilizar la herramienta de línea de comandos firewall-cmd para configurar el firewall, los comandos más importantes son:
firewall-cmd –state
muestra si FirewallD se está ejecutando
firewall-cmd –reload
recarga el cortafuegos
firewall-cmd –get-zones
enumera todas las zonas definidas
firewall-cmd –get-services
enumera todos los servicios admitidos
firewall-cmd –get-active-zones
enumera todas las zonas activas
firewall-cmd [–zone=] –add-interface =
agrega interfaz a la zona
firewall-cmd [–zone=] –change-interface =
cambiar interfaz a zona
firewall-cmd [–zone=] –remove-interface =
elimina la interfaz de la zona
firewall-cmd –panic-on
habilita el modo de pánico que bloquea todas las conexiones de red
firewall-cmd –panic-off
desactiva el modo de pánico
firewall-cmd [–zone=] –add-service = [–timeout=]
agrega un servicio a una zona
firewall-cmd [–zone=] –remove-service = [–timeout=]
eliminar el servicio de una zona
firewall-cmd [–zone=] –add-port =[-]/ [–timeout=]
agrega un puerto a una zona
firewall-cmd [–zone=] –remove-port =[-]/ [–timeout=]
elimina un puerto de una zona
firewall-cmd [–zone=] –add-masquerade
agrega mascarada a una zona
firewall-cmd [–zone=] – quitar-mascarada
elimina la mascarada de una zona
firewall-cmd [–zone=] –add-forward-port = puerto =[-]: proto = {: toport =[-] | : toaddr = | : toport =[-]: toaddr =}
agrega el reenvío de puertos a una zona
firewall-cmd [–zone=] –remove-forward-port = puerto =[-]: proto = {: toport =[-] | : toaddr = | : toport =[-]: toaddr =}
elimina el puerto hacia adelante de una zona
Puede ver un ejemplo de los comandos a continuación:
Cómo deshabilitar FirewallD
Si por alguna razón desea deshabilitar FirewallD o usar iptables en su lugar, puede hacerlo con los siguientes comandos:
# systemctl disable firewalld # systemctl stop firewalld
Y si también desea instalar iptables para reemplazarlo:
# yum install iptables-services # touch /etc/sysconfig/iptables # touch /etc/sysconfig/ip6tables # systemctl start iptables # systemctl start ip6tables # systemctl enable iptables # systemctl enable ip6tables