GNU/Linux >> Tutoriales Linux >  >> Cent OS

CentOS / RHEL 7:Guía para principiantes de firewalld

Introducción

– Un cortafuegos de filtrado de paquetes lee los paquetes de red entrantes y filtra (permite o deniega) cada paquete de datos en función de la información del encabezado del paquete. El kernel de Linux tiene una funcionalidad de filtrado de paquetes integrada llamada Netfilter .
– Hay dos servicios disponibles en RHEL 7 para crear, mantener y mostrar las reglas almacenadas por Netfilter:
1. cortafuegos
2. iptables
– En RHEL 7, el servicio de firewall predeterminado es firewalld.
– firewalld es un administrador de firewall dinámico que admite zonas de firewall (red).
– El servicio firewalld es compatible con IPv4, IPv6, y para puentes Ethernet.
– El servicio firewalld también proporciona una interfaz D-BUS. Los servicios o aplicaciones que ya usan D-BUS pueden agregar o solicitar cambios en las reglas del firewall directamente a través de la interfaz de D-BUS.

Ventajas sobre iptables

firewalld tiene las siguientes ventajas sobre iptables:
1. A diferencia del comando iptables, el comando firewall-cmd no reinicia el firewall ni interrumpe las conexiones TCP establecidas.
2. firewalld admite zonas dinámicas.
3. firewalld es compatible con D-Bus para una mejor integración con los servicios que dependen de la configuración del firewall.

Opciones de configuración

El servicio firewalld tiene dos tipos de opciones de configuración:
1. Tiempo de ejecución :Los cambios en la configuración del cortafuegos surten efecto inmediatamente, pero no son permanentes. Los cambios realizados en el modo de configuración de tiempo de ejecución se pierden cuando se reinicia el servicio firewalld.
2. Permanente :Los cambios en la configuración del cortafuegos se escriben en los archivos de configuración. Estos cambios se aplican cuando se reinicia el servicio firewalld.

Archivos de configuración

Los archivos de configuración para firewalld existen en dos directorios:
/usr/lib/firewalld :contiene archivos de configuración predeterminados. No realice cambios en estos archivos. Una actualización del paquete firewalld sobrescribe este directorio.
/etc/firewalld :Los cambios en los archivos de configuración predeterminados se almacenan en este directorio. Los archivos de este directorio sobrecargan los archivos de configuración predeterminados.

zonas cortafuegos

El servicio firewalld le permite separar las redes en diferentes zonas según el nivel de confianza que desea depositar en los dispositivos y el tráfico dentro de una red específica. Para cada zona puede definir las siguientes características:
Servicios :Servicios predefinidos o personalizados en los que confiar. Los servicios de confianza son una combinación de puertos y protocolos a los que se puede acceder desde otros sistemas y redes.
Puertos :Puertos adicionales o intervalos de puertos y protocolos asociados a los que se puede acceder desde otros sistemas y redes.
Enmascaramiento :Traducir direcciones IPv4 a una sola dirección externa. Con el enmascaramiento habilitado, las direcciones de una red privada se asignan y ocultan detrás de una dirección pública.
Reenvío de puertos :reenviar el tráfico de red entrante desde un puerto específico o rango de puertos a un puerto alternativo en el sistema local o a un puerto en otra dirección IPv4.
Filtro ICMP :bloquee los mensajes seleccionados del Protocolo de mensajes de control de Internet.
Reglas enriquecidas :Amplíe las reglas de firewalld existentes para incluir direcciones de origen y destino adicionales y acciones de registro y auditoría.
Interfaces :Interfaces de red vinculadas a la zona. La zona de una interfaz se especifica con la ZONE=opción en /etc/sysconfig/network-scripts/ifcfg expediente. Si falta la opción, la interfaz está vinculada a la zona predeterminada.

Zonas cortafuegos predefinidas

El paquete de software firewalld incluye un conjunto de zonas de red predefinidas en el siguiente directorio:

#  ls -lrt /usr/lib/firewalld/zones/
total 36
-rw-r----- 1 root root 342 Sep 15  2015 work.xml
-rw-r----- 1 root root 162 Sep 15  2015 trusted.xml
-rw-r----- 1 root root 315 Sep 15  2015 public.xml
-rw-r----- 1 root root 415 Sep 15  2015 internal.xml
-rw-r----- 1 root root 400 Sep 15  2015 home.xml
-rw-r----- 1 root root 304 Sep 15  2015 external.xml
-rw-r----- 1 root root 291 Sep 15  2015 drop.xml
-rw-r----- 1 root root 293 Sep 15  2015 dmz.xml
-rw-r----- 1 root root 299 Sep 15  2015 block.xml

Los archivos de zona contienen configuraciones predeterminadas, que se pueden aplicar a una interfaz de red. Por ejemplo:

# grep –i service /usr/lib/firewalld/zones/public.xml 
<service name=“ssh”/>
<service name=“dhcpv6-client”/>

En este ejemplo, las interfaces de red vinculadas a la zona pública confían solo en dos servicios, ssh y dhcpv6-client.

A continuación se incluye una breve explicación de cada zona:
soltar :Cualquier paquete de red entrante se descarta, no hay respuesta. Solo son posibles
las conexiones de red salientes.
bloquear :Cualquier conexión de red entrante se rechaza con un mensaje icmp-host-prohibido para IPv4 e icmp6-adm-prohibido para IPv6. Solo son posibles las conexiones de red iniciadas desde dentro del sistema.
inicio :Para uso en áreas del hogar. En su mayoría, confía en que las otras computadoras en las redes no dañarán su computadora. Solo se aceptan conexiones entrantes seleccionadas.
público :Para uso en áreas públicas. No confía en que las otras computadoras en la red no dañen su computadora. Solo se aceptan conexiones entrantes seleccionadas.
trabajo :Para uso en áreas de trabajo. En su mayoría, confía en que las otras computadoras en las redes no dañarán su computadora. Solo se aceptan conexiones entrantes seleccionadas.
dmz :para computadoras en su zona desmilitarizada que son de acceso público con acceso limitado a su red interna. Solo se aceptan conexiones entrantes seleccionadas.
externo :Para uso en redes externas con enmascaramiento habilitado especialmente para enrutadores. No confía en que las otras computadoras en la red no dañen su computadora. Solo se aceptan conexiones entrantes seleccionadas.
interno :Para uso en redes internas. En su mayoría, confía en que las otras computadoras en las redes no dañarán su computadora. Solo se aceptan conexiones entrantes seleccionadas.
de confianza :Se aceptan todas las conexiones de red.

Configuración de la zona cortafuegos predeterminada

Después de una instalación inicial, la zona pública es la zona predeterminada como se especifica en el archivo de configuración, /etc/firewalld/firewalld.conf .

# grep –i defaultzone /etc/firewalld/firewalld.conf 
DefaultZone=public

Las interfaces de red están vinculadas a la zona predeterminada a menos que se especifique con ZONE=[zone] en el archivo ifcfg. El siguiente comando muestra las interfaces que están vinculadas a la zona pública:

# firewall-cmd --get-active-zone
public
      interfaces: eth0 eth1

Puede usar el comando firewall-cmd para cambiar la zona predeterminada:

# firewall-cmd --set-default-zone=work 
success

También puede usar la GUI de configuración del firewall para cambiar la zona predeterminada. En la barra de menú, seleccione Opciones->Cambiar zona predeterminada y luego seleccione una zona de una lista emergente.

Servicios de cortafuegos

– Un servicio de firewalld es una combinación de puertos y protocolos locales y direcciones de destino.
– Un servicio de firewalld también puede incluir módulos de kernel de Netfilter que se cargan automáticamente cuando se habilita un servicio.
– El paquete de software de firewalld incluye un conjunto de servicios predefinidos en el siguiente directorio:

# ls -lrt /usr/lib/firewalld/zones/
total 36
-rw-r----- 1 root root 342 Sep 15  2015 work.xml
-rw-r----- 1 root root 162 Sep 15  2015 trusted.xml
-rw-r----- 1 root root 315 Sep 15  2015 public.xml
-rw-r----- 1 root root 415 Sep 15  2015 internal.xml
-rw-r----- 1 root root 400 Sep 15  2015 home.xml
-rw-r----- 1 root root 304 Sep 15  2015 external.xml
-rw-r----- 1 root root 291 Sep 15  2015 drop.xml
-rw-r----- 1 root root 293 Sep 15  2015 dmz.xml
-rw-r----- 1 root root 299 Sep 15  2015 block.xml

– Los servicios se pueden habilitar para una zona en modo de tiempo de ejecución.
– Las definiciones de servicio solo se pueden editar en modo permanente.

Iniciar cortafuegos

Para iniciar firewalld:

# systemctl start firewalld

Para garantizar que firewalld se inicie en el momento del arranque:

# systemctl enable firewalld

Para verificar si firewalld se está ejecutando:

# systemctl status firewalld
# firewall-cmd --state

Tres métodos para configurar el servicio firewalld:
firewall-cmd :interfaz de línea de comandos
firewall-config :Interfaz gráfica de usuario
– Editar varios XML archivos de configuración.

CentOS/RHEL 7:Cómo iniciar/detener Firewalld

La utilidad firewall-cmd

La herramienta de línea de comandos firewall-cmd es parte de la aplicación firewalld, que se instala de manera predeterminada. Para obtener ayuda sobre el comando firewall-cmd:

# firewall-cmd --help

El comando firewall-cmd ofrece categorías de opciones como General, Estado, Permanente, Zona, IcmpType, Servicio, Adapt and Query Zones, Direct, Lockdown, Lockdown Whitelist y Panic. Para listar información para todas las zonas:

# firewall-cmd --list-all-zones public (default, active)
      interfaces: eth0 eth1
      sources:
      services: dhcpv6-client ssh
      ports:
  ...

Para permitir el acceso de clientes HTTP para la zona pública:

# firewall-cmd --zone=public --add-service=http 
success

Para enumerar los servicios que están permitidos para la zona pública:

# firewall-cmd --zone=work --list-services
    dhcpv6-client http ssh

El uso de este comando solo cambia la configuración de Runtime y no actualiza los archivos de configuración.
Los cambios de configuración realizados en el modo de configuración de Runtime se pierden cuando se reinicia el servicio firewalld:

# systemctl restart firewalld
# firewall-cmd --zone=work --list-services dhcpv6-client ssh

Para hacer que los cambios sean permanentes, utilice la opción –permanente. Ejemplo:

# firewall-cmd --permanent --zone=public --add-service=http 
success

Los cambios realizados en el modo de configuración Permanente no se implementan inmediatamente. Sin embargo, los cambios realizados en la configuración Permanente se escriben en los archivos de configuración. Reiniciar el servicio firewalld lee los archivos de configuración e implementa los cambios. Ejemplo:

# systemctl restart firewalld
# firewall-cmd --zone=work --list-services 
dhcpv6-client http ssh


Cent OS
  1. Instale TeamViewer en CentOS 5 / RHEL 5

  2. Cómo instalar TeamViewer en CentOS 6 / RHEL 6

  3. Restablecer contraseña de root en CentOS 7 / RHEL 7

  4. Guía para principiantes para ajustar perfiles en CentOS/RHEL

  5. Guía para principiantes sobre la gestión de secuencias de módulos de paquetes en CentOS/RHEL 8

RHEL 8/CentOS 8 puerto FTP abierto 21 con firewalld

RHEL 8 / CentOS 8 recuperar contraseña raíz

Cómo instalar MariaDB en CentOS 8 / RHEL 8

Cómo instalar MariaDB en CentOS 6 / RHEL 6

CentOS / RHEL 7:Cómo restablecer la contraseña de root

CentOS / RHEL 7:Guía para principiantes de unidades de servicio systemd