Cómo configurar Firewalld en distribuciones basadas en RHEL

Cómo configurar Firewalld en distribuciones basadas en RHEL

Filtro de red Como todos sabemos, es un firewall en Linux. Cortafuegos es un demonio dinámico para administrar firewalls con soporte para zonas de red. En la versión anterior, Rhel Y Cento Hemos estado usando iptables como demonio para el marco de filtrado de paquetes.

En versiones más nuevas de distribuciones basadas en RHEL como Fedora, Rocky Linux, Flujo de centos, Almalinux, y usura de apertura - el iptables la interfaz está siendo reemplazada por cortafuegos.

[También puede gustar: 10 firewalls de seguridad de código abierto útiles para sistemas Linux]

Se recomienda comenzar a usar Cortafuegos en lugar de iptables Como esto puede suspender en el futuro. Sin embargo, iptables todavía son compatibles y se pueden instalar con el comando yum. No podemos mantener Cortafuegos y iptables ambos en el mismo sistema que pueden conducir a conflictos.

En iptables, Solíamos configurar como APORTE, PRODUCCIÓN Y Cadenas de avance Pero aquí en Cortafuegos, El concepto usa Zonas. Por defecto, hay diferentes zonas disponibles en cortafuegos, que se discutirá en este artículo.

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

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

Cortafuegos Funciona muy bien con IPv4, IPv6, y Puentes de Ethernet también. Podemos tener un tiempo de ejecución separado y una configuración permanente en Firewalld.

Comencemos sobre cómo trabajar con zonas y crear nuestros propios servicios y un uso mucho más emocionante de cortafuegos En Linux.

Nuestro entorno de prueba

Sistema operativo : Red Hat Enterprise Linux Release 9.0 (arado) Dirección IP : 192.168.0.159 Nombre de host : tecmint-rhel9 
Sistema de prueba RHEL 9

Paso 1: Instalación de firewalld en sistemas basados ​​en RHEL

1. Cortafuegos El paquete se instala de forma predeterminada en Rhel, Fedora, Rocky Linux, Flujo de centos, Almalinux, y usura de apertura. Si no, puede instalarlo utilizando el siguiente comando yum.

# yum instalar firewalld -y 
Instalar Firewalld en Linux

2. Después de la cortafuegos Se ha instalado el paquete, es hora de verificar si el iptables El servicio se está ejecutando o no, si se ejecuta, debe detenerse y enmascarar (no usar más) el iptables Servicio con los siguientes comandos.

# systemCtl status iptables # SystemCtl Stop IPtables # SystemCtl Mask Iptables 
Deshabilitar iptables en Linux

Paso 2: Comprensión de los componentes de firewalld (zonas y reglas)

3. Antes de dirigirte a cortafuegos configuración, me gustaría discutir cada zonas. Por defecto, hay algunas zonas disponibles. Necesitamos asignar la interfaz a la zona. Una zona define la zona en que se confiaba o se negaba a la interfaz para obtener una conexión. Una zona puede contener servicios y puertos.

Aquí, vamos a describir cada zonas disponibles en Cortafuegos.

  • Zona de descenso: Cualquier paquete entrante se deja caer si usamos una zona de caída. Esto es lo mismo que usamos para agregar iptables -j Drop. Si usamos la regla de caída, significa que no hay respuesta, solo estarán disponibles conexiones de red salientes.
  • Zona de bloque: La zona de bloque negará que las conexiones de red entrantes se rechazen con un ICMP-Host Prohibitado. Solo se permitirán conexiones establecidas dentro del servidor.
  • Zona pública: Para aceptar las conexiones seleccionadas, podemos definir reglas en la zona pública. Esto solo permitirá que el puerto específico se abra en nuestro servidor se eliminará otras conexiones.
  • Zona externa: Esta zona actuará ya que las opciones de enrutador con mascaradas están habilitadas que se eliminarán otras conexiones y no aceptarán, y solo se permitirán conexiones especificadas.
  • Zona DMZ: Si necesitamos permitir el acceso a algunos de los servicios al público, puede definirlo en la zona DMZ. Esto también tiene la característica de solo las conexiones entrantes seleccionadas que se aceptan.
  • Zona de trabajo: en esta zona, solo podemos definir las redes internas I.mi. Se permite el tráfico de redes privadas.
  • Zona de referencia: Esta zona se usa especialmente en áreas de hogar, podemos usar esta zona para confiar en las otras computadoras en las redes para no dañar su computadora como en cada zona. Esto también solo permite las conexiones entrantes seleccionadas.
  • Zona interna: Esta es similar a la zona de trabajo con conexiones permitidas seleccionadas.
  • Zona de confianza: Si establecemos la zona de confianza, todo el tráfico es aceptado.

Ahora tiene una mejor idea sobre las zonas, ahora descubramos zonas disponibles y zonas predeterminadas, y enumere todas las zonas utilizando los siguientes comandos.

Lista de zonas de firewalld

# Firewall-CMD-Zones 
Lista de zonas de firewalld disponibles

Enumere la zona predeterminada de Firewalld

# firewall-cmd --get-default-zone 
Enumere la zona predeterminada de Firewalld

Enumere todas las zonas de firewalld

# firewall-cmd --list-all-zonas 
Lista de zonas de firewalld

Nota: La salida del comando anterior no cabe en una sola página, ya que esto enumerará todas las zonas como Bloque, DMZ, Drop, Exterior, Inicio, Interno, Público, Confiado y Trabajo. Si las zonas tienen reglas ricas, los servicios habilitados o los puertos también se enumerarán con la información de la zona respectiva.

Paso 3: Configuración de la zona de firewalld predeterminada

4. Si desea establecer la zona predeterminada como interna, externa, de caída, trabajo o cualquier otra zona, puede usar el siguiente comando para establecer la zona predeterminada. Aquí usamos el "internoZona como predeterminada.

# firewall-cmd --set-default-zone = interno 

5. Después de configurar la zona, verifique la zona predeterminada usando el siguiente comando.

# firewall-cmd --get-default-zone 
Establecer la zona de firewalld predeterminada

6. Aquí, nuestra interfaz es ENP0S3, Si necesitamos verificar la zona en la que la interfaz está limitada, podemos usar el siguiente comando.

# firewall-cmd --get-zone of-interface = enp0s3 
Verifique la zona de firewalld de la interfaz de red

7. Otra característica interesante de Firewalld es 'ICMPTYPE'es uno de los tipos de ICMP compatibles con Firewalld. Para obtener la lista de tipos ICMP compatibles, podemos usar el siguiente comando.

# firewall-cmd --get-iCmptypes 
Lista de tipos de firewalld ICMP

Paso 4: Creación de servicios propios en Firewalld

8. Los servicios son un conjunto de reglas con puertos y opciones que se utilizan por Cortafuegos. Los servicios que están habilitados se cargarán automáticamente cuando el Cortafuegos El servicio está en funcionamiento.

Por defecto, hay muchos servicios disponibles, para obtener la lista de todos los servicios disponibles, utilice el siguiente comando.

# Firewall-CMD-Servicios 
Lista de servicios de firewalld

9. Para obtener la lista de todos los servicios disponibles predeterminados, vaya al siguiente directorio, aquí obtendrá la lista de servicios.

# CD/usr/lib/firewalld/Services/ 
Lista de servicios predeterminados de firewalld

10. Para crear su propio servicio, debe definirlo en la siguiente ubicación. Por ejemplo, aquí quiero agregar un servicio para RTMP puerto 1935, Primero haga una copia de cualquiera de los servicios.

# CD/ETC/Firewalld/Services/ # CP/USR/Lib/Firewalld/Services/SSH.XML/etc/firewalld/Services/ 

Y luego, navegue a la ubicación donde se copió nuestro archivo de servicio, luego cambie el nombre del archivo 'ssh.xml' a 'RTMP.xml'Como se muestra en la imagen de abajo.

# CD/etc/firewalld/Services/ # MV SSH.XML RTMP.xml # ls -l rtmp.xml 
Crear servicios en firewalld

11. A continuación, abra y edite el archivo como Título, Descripción, Protocolo, y Puerto número, que debemos usar para el RTMP Servicio como se muestra en la imagen a continuación.

Configurar el servicio Firewalld

12. Para que estos cambios se activen, reinicie el servicio Firewalld o vuelva a cargar la configuración.

# Firewall-CMD-Reload 

13. Para confirmar, si se agrega o no un servicio, ejecute el siguiente comando para obtener una lista de servicios disponibles.

# Firewall-CMD-Servicios 
Confirme el servicio agregado en el firewall

Paso 5: Asignación de servicios a zonas de firewalld

14. Aquí vamos a ver cómo administrar el firewall usando el comando firewall-cmd. Para conocer el estado actual del firewall y todas las zonas activas, escriba el siguiente comando.

# firewall-cmd--state # firewall-cmd --get-active-zones 
Verifique el estado de firewalld

15. Para obtener la zona pública para la interfaz ENP0S3, Esta es la interfaz predeterminada, que se define en /etc/firewalld/firewalld.confusión archivo como Defaultzone = público.

Para enumerar todos los servicios disponibles en esta zona de interfaz predeterminada.

# Firewall-CMD-Servicio de Get 
Lista de servicios de firewalld

Paso 6: Agregar servicios a las zonas de firewalld

dieciséis. En los ejemplos anteriores, hemos visto cómo crear nuestros propios servicios creando el RTMP servicio, aquí veremos cómo agregar el RTMP servicio a la zona también.

# firewall-cmd --add-service = rtmp 

17. Para eliminar la zona agregada, escriba.

# firewall-cmd --zone = public--Remove-Service = RTMP 

El paso anterior fue solo un período temporal. Para que sea permanente, debemos ejecutar el siguiente comando con la opción -permanente.

# firewall-cmd --add-service = rtmp --Permanent # firewall-cmd--Reload 

18. Definir reglas para el rango de fuente de red y abrir cualquiera de los puertos. Por ejemplo, si desea abrir una gama de red, digamos '192.168.0.24/04'y puerto'1935'Use los siguientes comandos.

# Firewall-CMD --Permanent --Add-Source = 192.168.0.0/20/24 # firewall-cmd --Permanent --Add-Port = 1935/TCP 

Asegúrese de recargar el servicio de firewalld después de agregar o eliminar cualquier servicio o puerto.

# firewall-cmd--Reload # firewall-cmd --list-all 
Agregar servicios a firewalld

Paso 7: Agregar reglas ricas en firewalld para el rango de red

19. Si quiero permitir los servicios como HTTP, HTTPS, VNC-Server y PostgreSQL, utilizo las siguientes reglas. Primero, agregue la regla y hágala permanente y vuelva a cargar las reglas y verifique el estado.

# firewall-cmd --add-rich-rich-rule 'regla familia = "ipv4" dirección de origen = "192.168.0.0/24 "Service Name =" Http "Aceptar ' # firewall-cmd --add-rich-rule' regla familia =" ipv4 "dirección de origen =" 192.168.0.0/24 "Service Name =" Http "Acept '--Permanent # FireWall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Dirección de origen =" 192.168.0.0/24 "Service Name =" Https "Aceptar ' # firewall-cmd --add-rich-rule' regla familia =" ipv4 "dirección de origen =" 192.168.0.0/24 "Service Name =" Https "Acept '--Permanent # Firewall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Dirección de origen =" 192.168.0.0/24 "Service Name =" VNC-Server "Aceptar ' # FireWall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Dirección de fuente =" 192.168.0.0/24 "Service Name =" VNC-Server "Aceptar '--Permanent # FireWall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Dirección de origen =" 192.168.0.0/24 "Service Name =" PostgreSQL "Aceptar ' # FireWall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Dirección de origen =" 192.168.0.0/24 "" Nombre del servicio = "PostgreSQL" Aceptar '--Permanent 

Ahora, el rango de red 192.168.0.24/04 puede usar el servicio anterior desde mi servidor. La opción -permanente se pueden usar en cada regla, pero tenemos que definir la regla y verificar con el acceso del cliente después de eso tenemos que hacerlo permanente.

20. Después de agregar las reglas anteriores, no olvide recargar las reglas del firewall y enumerar las reglas usando:

# firewall-cmd--Reload # firewall-cmd --list-all 
Enumere todas las reglas activas de Firewalld

Saber más sobre el firewalld.

# Man Firewalld 

Eso es todo, hemos visto cómo configurar un filtro de red usando Cortafuegos en distribuciones basadas en Rhel como Fedora, Rocky Linux, Flujo de centos, Almalinux, y usura de apertura.

Conclusión

Filtro de red es el marco para un firewall para cada distribución de Linux. De vuelta en cada Rhel y Cento edición, usamos iptables Pero en las versiones más nuevas, han introducido Cortafuegos. Es más fácil de entender y usar firewalld. Espero que hayas disfrutado de la redacción.