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
Tabla de Contenidos
Nuestro entorno de prueba
Operating System : Red Hat Enterprise Linux release 9.0 (Plow) IP Address : 192.168.0.159 Host-name : tecmint-rhel9
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
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
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
Listar las zonas predeterminadas del cortafuegos
# firewall-cmd --get-default-zone
Listar todas las zonas de cortafuegos
# firewall-cmd --list-all-zones
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
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
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
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
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/
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
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.
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
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
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
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
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
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.