Cómo configurar 'FirewallD' en RHEL / CentOS 7 y Fedora 21


Filtro de red , como todos sabemos, es un firewall en Linux. Firewalld es un demonio dinámico para administrar firewall con soporte para zonas de redes. En una versión anterior, RHEL y CentOS 6, usamos iptables como un demonio para el marco de filtrado de paquetes. En RHEL / CentOS 7 y Fedora 21 , la interfaz iptables está siendo reemplazada por firewalld.

Se recomienda comenzar a usar Firewalld en lugar de iptables, ya que esto puede suspenderse en el futuro. Sin embargo, iptables todavía es compatible y se puede instalar con el comando YUM. No podemos mantener Firewalld y iptables ambos en el mismo sistema, lo que puede generar conflictos.

En iptables, solíamos configurar como CADENAS DE ENTRADA, SALIDA Y AVANCE pero aquí en Firewalld, el concepto que usa Zonas. De forma predeterminada, hay diferentes zonas disponibles en firewalld, que se discutirán en este artículo.

La zona básica que son como zona pública y zona privada. Para que las cosas funcionen con estas zonas, debemos agregar la interfaz con el soporte de zona especificado y luego podemos agregar los servicios a firewalld.

Por defecto, hay muchos servicios disponibles, una de las mejores características de firewalld es que viene con servicios predefinidos y podemos tomar estos servicios como ejemplo para agregar nuestros servicios simplemente copiándolos.

Firewalld también funciona muy bien con puentes IPv4, IPv6 y Ethernet. Podemos tener el tiempo de ejecución independiente y la configuración permanente en firewalld. Comencemos a trabajar con zonas y a crear nuestros propios servicios y un uso mucho más interesante de firewalld.

Operating System :	CentOS Linux release 7.0.1406 (Core)
IP Address       :	192.168.0.55
Host-name	:	server1.tecmintlocal.com

Paso 1: Instalación del paquete Firewalld

1. El paquete Firewalld se instala por defecto en RHEL/CentOS 7 y Fedora 21. Si no es así, puede instalarlo usando el siguiente comando YUM .

# yum install firewalld -y

2. Después de instalar el paquete firewalld, es hora de verificar si el servicio iptables se está ejecutando o no, si se está ejecutando, debe detener y enmascarar (no usar más) el servicio iptables con los siguientes comandos.

# systemctl status iptables
# systemctl stop iptables
# systemctl mask iptables

Paso 2: Discusión de los componentes de Firewalld

3. Antes de dirigirme a la configuración de Firewall, me gustaría hablar sobre cada zona. De forma predeterminada, hay algunas zonas disponibles. Necesitamos asignar la interfaz a la zona. Una zona define que la zona era de confianza o de nivel denegado a la interfaz para obtener la conexión. Una zona puede contener servicios y puertos. Aquí, describiremos cada una de las zonas disponibles en Firewalld.

  1. Drop Zone: Any incoming packets are dropped, if we use this drop zone. This is same as we use to add iptables -j drop. If we use the drop rule, means there is no reply, only outgoing network connections will be available.
  2. Block Zone: Block zone will deny the incoming network connections are rejected with an icmp-host-prohibited. Only established connections within the server will be allowed.
  3. Public Zone: To accept the selected connections we can define rules in public zone. This will only allow the specific port to open in our server other connections will be dropped.
  4. External Zone: This zone will act as router options with masquerading is enabled other connections will be dropped and will not accept, only specified connection will be allowed.
  5. DMZ Zone: If we need to allow access to some of the services to public, you can define in DMZ zone. This too have the feature of only selected incoming connections are accepted.
  6. Work Zone: In this zone, we can define only internal networks i.e. private networks traffic are allowed.
  7. Home Zone: This zone is specially used in home areas, we can use this zone to trust the other computers on networks to not harm your computer as every zone. This too allow only the selected incoming connections.
  8. Internal Zone: This one is similar to work zone with selected allowed connections.
  9. Trusted Zone: If we set the trusted zone all the traffic are accepted.

Ahora que tiene una mejor idea sobre las zonas, ahora averigüemos las zonas disponibles, las zonas predeterminadas y enumeremos todas las zonas usando los siguientes comandos.

# firewall-cmd --get-zones
# firewall-cmd --get-default-zone
# firewall-cmd --list-all-zones

Nota: La salida del comando anterior no encajará en una sola página, ya que enumerará todas las zonas, como block, dmz, drop, external, home, internal, public, trust y work. Si las zonas tienen reglas enriquecidas, los servicios o puertos habilitados también se enumerarán con la información de la zona correspondiente.