Tutoriales

Cómo configurar FirewallD en RHEL, Rocky y AlmaLinux

filtro web Como todos sabemos, es el firewall en Linux. cortafuegos es un demonio dinámico para administrar firewalls que admiten zonas de red. En versiones anteriores, RHEL & sistema operativo central Hemos estado usando iptables como un demonio para nuestro marco de filtrado de paquetes.

En distribuciones más nuevas basadas en RHEL, p. sombrero de fieltro, Linux rocoso, Flujo de CentOS, AlmaLinuxy abrirSUSE – Este iptables La interfaz se reemplaza con cortafuegos.

[ You might also like: 10 Useful Open Source Security Firewalls for Linux Systems ]

Recomendado para empezar a usar cortafuegos reemplazar iptables Porque esto puede detenerse en el futuro. Sin embargo, iptables Todavía es compatible y se puede instalar con el comando yum.no podemos mantener cortafuegos y iptables Ambos están en el mismo sistema, lo que puede generar conflictos.

existir iptablespreviamente configuramos como ingresar, producción & cadena delantera pero aquí cortafuegosEste concepto utiliza áreaPor defecto, hay diferentes Zonas de Disponibilidad cortafuegosEsto será discutido en este artículo.

Este Área básica me gusta Área pública y área privadaPara abordar estas regiones, necesitamos agregar interfaces con soporte de región específica, y luego podemos agregar servicios a cortafuegos.

Hay muchos servicios disponibles por defecto y esta es una de las mejores características cortafuegos Es decir, viene con servicios predefinidos que podemos tomar como ejemplo y añadir nuestros servicios simplemente duplicándolos.

cortafuegos muy útil IPv4, IPv6, y puente ethernet además. Podemos hacer un tiempo de ejecución separado y una configuración permanente en firewalld.

Comencemos a comprender cómo usar regiones y crear nuestros propios servicios y un uso más emocionante cortafuegos en linux

Nuestro entorno de prueba

Operating System :	Red Hat Enterprise Linux release 9.0 (Plow)
IP Address       :	192.168.0.159
Host-name	:	tecmint-rhel9
Sistema de prueba RHEL 9

Paso 1: Instale Firewalld en sistemas basados ​​en RHEL

1. cortafuegos Los paquetes se instalan por defecto en RHEL, sombrero de fieltro, Linux rocoso, Flujo de CentOS, AlmaLinuxy abrirSUSESi no, puedes instalarlo con el siguiente comando yum.

# yum install firewalld -y
Instalar Firewalld en Linux
Instalar Firewalld en Linux

2. después cortafuegos El paquete está instalado, es hora de verificar que iptables Si el servicio se está ejecutando, si es así, debe detenerse y enmascararse (ya no se usa) iptables Use el siguiente comando para servir.

# systemctl status iptables
# systemctl stop iptables
# systemctl mask iptables
Deshabilitar IPTables en Linux
Deshabilitar IPTables en Linux

Paso 2: Obtenga información sobre los componentes de Firewalld (zonas y reglas)

3. antes de ir cortafuegos Configuración, quiero discutir cada área. Por defecto, hay algunas zonas de disponibilidad. Necesitamos asignar la interfaz a la zona. Una zona define el nivel de confianza o denegación de una interfaz para obtener una conexión. Una zona puede contener servicios y puertos.

Aquí describiremos cada una de las regiones disponibles cortafuegos.

  • zona de descenso: Si usamos la zona de caída, se descartarán todos los paquetes entrantes.Esto es lo mismo que solíamos agregar iptables -j eliminarSi usamos la regla de caída, eso significa que no hay respuesta, solo las conexiones de red salientes están disponibles.
  • Bloqueo: La zona de bloqueo denegará las conexiones de red entrantes con icmp-host-prohibited. Solo se permiten las conexiones establecidas dentro del servidor.
  • Área pública: Para aceptar conexiones seleccionadas, podemos definir reglas en el área pública. Esto solo permitirá que se abran puertos específicos en nuestro servidor, se eliminarán otras conexiones.
  • zona exterior: esta zona actuará como una opción de enrutador, el enmascaramiento está habilitado, otras conexiones se eliminarán y no se aceptarán, y solo se permitirán las conexiones especificadas.
  • Zona desmilitarizada: Si necesitamos permitir el acceso público a algunos servicios, se puede definir en la zona DMZ. Esto también tiene la capacidad de aceptar solo conexiones entrantes seleccionadas.
  • Espacio de trabajo: En esta área solo podemos definir redes internas, es decir, permitir el tráfico de redes privadas.
  • área principal: Esta área está dedicada al área de inicio, podemos usar esta área para confiar en otras computadoras en la red sin dañar su computadora como lo hacemos en todas las áreas. Esto también solo permite conexiones entrantes seleccionadas.
  • zona interior: Esto es similar a un espacio de trabajo con las conexiones permitidas seleccionadas.
  • zona de confianza: Si configuramos la zona de confianza, se acepta todo el tráfico.

Ahora que tiene una mejor comprensión de las regiones, averigüemos las regiones disponibles y predeterminadas y enumeremos todas las regiones con el siguiente comando.

Listar zonas de cortafuegos

# firewall-cmd --get-zones
Lista de zonas de cortafuegos disponibles
Lista de zonas de cortafuegos disponibles

Listar las zonas predeterminadas del cortafuegos

# firewall-cmd --get-default-zone
Listar las zonas predeterminadas del cortafuegos
Listar las zonas predeterminadas del cortafuegos

Listar todas las zonas de cortafuegos

# firewall-cmd --list-all-zones
Listar zonas de cortafuegos
Listar zonas de cortafuegos

notas: El resultado del comando anterior no cabrá en una sola página, ya que enumerará cada zona, como bloque, dmz, soltar, externo, hogar, interno, público, confiable y trabajo. Si la zona tiene reglas enriquecidas, los servicios o puertos habilitados también se enumerarán junto con la información de la zona correspondiente.

Paso 3: establezca la zona de firewall predeterminada

4. Si desea establecer el área predeterminada en interior, exterior, ubicación, trabajo o cualquier otra área, puede usar el siguiente comando para establecer el área predeterminada. Aquí usamos «InternoEl campo ” es el valor predeterminado.

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

5. Después de configurar la región, verifique la región predeterminada con el siguiente comando.

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

6. Aquí, nuestra interfaz es enp0s3Si necesitamos verificar la zona a la que está vinculada la interfaz, podemos usar el siguiente comando.

# firewall-cmd --get-zone-of-interface=enp0s3
Compruebe la zona del cortafuegos de la interfaz de red
Compruebe la zona del cortafuegos de la interfaz de red

7. Otra característica interesante de firewalld es ‘icmptipo‘ es uno de los tipos de icmp admitidos por firewalld. Para obtener una lista de los tipos de icmp admitidos, podemos usar el siguiente comando.

# firewall-cmd --get-icmptypes
Listar tipos ICMP de cortafuegos
Listar tipos ICMP de cortafuegos

Paso 4: Crea tu propio servicio en Firewalld

8. Un servicio es un conjunto de reglas con puertos y opciones, definido por cortafuegosLos servicios habilitados serán cortafuegos El servicio está en funcionamiento.

De manera predeterminada, muchos servicios están disponibles, para obtener una lista de todos los servicios disponibles, use el siguiente comando.

# firewall-cmd --get-services
Listar servicios de cortafuegos
Listar servicios de cortafuegos

9. Para obtener una lista de todos los servicios disponibles por defecto, vaya al siguiente directorio donde obtendrá una lista de servicios.

# cd /usr/lib/firewalld/services/
Listar los servicios de firewall predeterminados
Listar los servicios de firewall predeterminados

10 Para crear su propio servicio, debe definirlo en la siguiente ubicación.Por ejemplo, aquí quiero multidifusión en tiempo real Puerto 1935copie cualquier servicio primero.

# cd /etc/firewalld/services/
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/

Luego, navegue hasta donde se copió nuestro archivo de servicio, luego cambie el nombre del archivo’ssh.xml‘ a ‘rtmp.xml‘ Como se muestra abajo.

# cd /etc/firewalld/services/
# mv ssh.xml rtmp.xml
# ls -l rtmp.xml
Crear un servicio en Firewalld
Crear un servicio en Firewalld

11 A continuación, abra y edite el archivo como título, describir, protocoloy Puerto número que necesitamos usar para multidifusión en tiempo real El servicio se muestra en la siguiente figura.

Configurar el servicio de cortafuegos
Configurar el servicio de cortafuegos

12 Para activar estos cambios, reinicie el servicio firewalld o vuelva a cargar la configuración.

# firewall-cmd --reload

13 Para confirmar que se agregó el servicio, ejecute el siguiente comando para obtener una lista de los servicios disponibles.

# firewall-cmd --get-services
Confirme los servicios agregados en el firewall
Confirme los servicios agregados en el firewall

Paso 5: Asignar servicios a zonas cortafuegos

14 Aquí, veremos 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
Comprobar el estado del cortafuegos
Comprobar el estado del cortafuegos

15. Obtener el área pública de una interfaz enp0s3que es la interfaz predeterminada, definida en /etc/firewalld/firewalld.conf el archivo es DefaultZone=Público.

Enumere todos los servicios disponibles en esta zona de interfaz predeterminada.

# firewall-cmd --get-service
Listar servicios de cortafuegos
Listar servicios de cortafuegos

Paso 6: agregue servicios a la zona de Firewalld

dieciséis. En el ejemplo anterior, hemos visto cómo crear rtmp servicio, aquí veremos cómo agregar rtmp Servir a la zona.

# firewall-cmd --add-service=rtmp

17 Para eliminar un área agregada, escriba .

# firewall-cmd --zone=public --remove-service=rtmp

Los pasos anteriores son solo temporales.Para hacerlo permanente necesitamos ejecutar el siguiente comando con opciones -Eterno.

# firewall-cmd --add-service=rtmp --permanent
# firewall-cmd --reload

18 Defina reglas para rangos de fuentes de red y abra cualquier puerto. Por ejemplo, si desea abrir un rango de red, diga ‘192.168.0.0/24‘y puerto’1935‘ utilice el siguiente comando.

# firewall-cmd --permanent --add-source=192.168.0.0/24
# firewall-cmd --permanent --add-port=1935/tcp

Después de agregar o eliminar servicios o puertos, asegúrese de volver a cargar el servicio firewalld.

# firewall-cmd --reload 
# firewall-cmd --list-all
Agregar el servicio a Firewalld
Agregar el servicio a Firewalld

Paso 7: agregue reglas enriquecidas de Firewalld para el alcance de la red

19 Si quiero permitir servicios como http, https, vnc-server y PostgreSQL, uso las siguientes reglas. Primero, agregue la regla y hágala permanente, luego vuelva a cargar la regla y verifique el estado.

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' 
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' --permanent

Ahora, el rango de red 192.168.0.0/24 El servicio anterior está disponible en mi servidor.Opciones -Eterno Se puede usar en todas las reglas, pero tenemos que definir la regla y comprobar el acceso del cliente, luego tenemos que hacerla permanente.

20 Después de agregar las reglas anteriores, no olvide volver a cargar las reglas del firewall y enumere las reglas con:

# firewall-cmd --reload
# firewall-cmd --list-all
Listar todas las reglas activas de FirewallD
Listar todas las reglas activas de FirewallD

Para obtener más información sobre Firewalld.

# man firewalld

Eso es todo, hemos visto cómo configurar filtro web usar cortafuegos En distribuciones basadas en RHEL, p. sombrero de fieltro, Linux rocoso, Flujo de CentOS, AlmaLinuxy abrirSUSE.

En conclusión

filtro web es el marco de firewall para todas las distribuciones de Linux.volver a cada RHEL y sistema operativo central versión, usamos iptables Pero en versiones más nuevas introdujeron cortafuegosMás fácil de entender y usar firewalld. Espero que disfrutes este artículo.

LEER  Cómo configurar claves SSH para la autenticación de dos factores (U2F/FIDO2) usando una YubiKey

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba