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

Cómo configurar FirewallD en RHEL, CentOS y Fedora

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 CentOS 6 hemos estado usando iptables como un demonio para el marco de filtrado de paquetes. En RHEL /Cent OS 7/8 y Fedora iptables la interfaz está siendo reemplazada por firewalld .

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

En iptables , solíamos configurar como CADENAS DE ENTRADA, SALIDA Y ADELANTE pero aquí en Firewalld , el concepto utiliza Zonas . De forma predeterminada, hay diferentes zonas disponibles en firewalld, que se analizará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, necesitamos agregar la interfaz con el soporte de zona especificado y luego podemos agregar los servicios a firewalld.

De forma predeterminada, hay muchos servicios disponibles, una de las mejores características de firewalld Es decir, 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 Ethernet también. Podemos tener un tiempo de ejecución separado y una configuración permanente en firewalld.

Empecemos a trabajar con zonas y crear nuestros propios servicios y un uso mucho más emocionante de firewalld.

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

Paso 1:Instalación de Firewalld en CentOS

1. Cortafuegos el paquete se instala de forma predeterminada en RHEL/CentOS 7/8 y Fedora . Si no, puedes instalarlo usando el siguiente comando yum.

# yum install firewalld -y

2. Después del cortafuegos se ha instalado el paquete, es hora de verificar si iptables el servicio 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:hablar sobre los componentes del cortafuegos

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

Aquí, vamos a describir cada zona disponible en Firewalld.

  • Zona de descenso :Todos los paquetes entrantes se eliminan si usamos esta zona de descarga. 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 las conexiones de red salientes.
  • Zona de bloqueo :La zona de bloqueo negará que las conexiones de red entrantes se rechacen con un icmp-host-prohibited. 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 se abra el puerto específico en nuestro servidor; se eliminarán otras conexiones.
  • Zona Externa :esta zona actuará como opciones de enrutador con el enmascaramiento habilitado, otras conexiones se eliminarán y no aceptarán, solo se permitirá la conexión especificada.
  • Zona DMZ :Si necesitamos permitir el acceso a algunos de los servicios al público, puedes definirlo en la zona DMZ. Esto también tiene la característica de que solo se aceptan conexiones entrantes seleccionadas.
  • Zona de trabajo:en esta zona, podemos definir solo redes internas, es decir, se permite el tráfico de redes privadas.
  • Zona de inicio :Esta zona se usa especialmente en áreas domésticas, podemos usar esta zona para confiar en las otras computadoras en las redes para que no dañen su computadora como todas las zonas. Esto también permite solo las conexiones entrantes seleccionadas.
  • Zona Interna :Esta es similar a la zona de trabajo con conexiones permitidas seleccionadas.
  • Zona de confianza :Si configuramos la zona de confianza, se acepta todo el tráfico.

Ahora que tiene una mejor idea acerca de las zonas, busquemos las zonas disponibles, las zonas predeterminadas y enumeremos todas las zonas usando los siguientes comandos.

Lista de zonas cortafuegos

# firewall-cmd --get-zones

Lista de zonas predeterminadas de cortafuegos

# firewall-cmd --get-default-zone

Lista de todas las zonas cortafuegos

# firewall-cmd --list-all-zones

Nota :La salida del comando anterior no cabe en una sola página, ya que enumerará todas las zonas como bloque, dmz, soltar, externo, hogar, interno, público, confiable y trabajo. Si las zonas tienen reglas enriquecidas, los servicios o puertos habilitados también se enumerarán con la información de la zona respectiva.

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

4. Si desea configurar la zona predeterminada como interna, externa, de paso, de trabajo o cualquier otra zona, puede usar el siguiente comando para configurar la zona predeterminada. Aquí usamos el "interno ” zona por defecto.

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

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

# firewall-cmd --get-default-zone

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

# firewall-cmd --get-zone-of-interface=enp0s3

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

# firewall-cmd --get-icmptypes

Paso 4:Creación de servicios propios en Firewalld

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

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

# firewall-cmd --get-services

9. Para obtener la lista de todos los servicios disponibles por defecto, vaya al siguiente directorio, aquí obtendrá la 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 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/

11. A continuación, abra y edite el archivo como Encabezado, Descripción, Protocolo y Número de puerto , que necesitamos usar para el servicio RTMP como se muestra en la imagen a continuación.

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

# firewall-cmd --reload

13. Para confirmar si el servicio está agregado o no, ejecute el siguiente comando para obtener una lista de los servicios disponibles.

# firewall-cmd --get-services

Paso 5:Asignación de servicios a zonas cortafuegos

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

# firewall-cmd --state
# firewall-cmd --get-active-zones

15. Para obtener la zona pública para la interfaz enp0s3 , esta es la interfaz predeterminada, que se define en /etc/firewalld/firewalld.conf archivo como DefaultZone=public .

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

# firewall-cmd --get-service

Paso 6:Adición de servicios a zonas cortafuegos

16. 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 añadida, escriba.

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

El paso anterior fue un período temporal solamente. Para hacerlo permanente, debemos ejecutar el siguiente comando con la opción –permanente .

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

18. Defina reglas para el rango de origen de la red y abra cualquiera de los puertos. Por ejemplo, si desea abrir un rango de red, diga "192.168.0.0/24 ‘ y puerto ‘1935 ‘ usa los siguientes comandos.

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

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

# firewall-cmd --reload 
# firewall-cmd --list-all

Paso 7:agregar reglas enriquecidas para el rango de red

19. Si quiero permitir los servicios como http, https, vnc-server, PostgreSQL, use las siguientes reglas. Primero, agregue la regla y hágala permanente, vuelva a cargar las reglas 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, la gama Red 192.168.0.0/24 Puedo usar el servicio anterior desde mi servidor. La opción –permanente se puede usar en todas las reglas, pero tenemos que definir la regla y verificar con el acceso del cliente después de eso, 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 usando:

# firewall-cmd --reload
# firewall-cmd --list-all

Para saber más sobre Firewalld.

# man firewalld

Eso es todo, hemos visto cómo configurar un filtro de red usando Firewalld en RHEL/CentOS y Fedora .

Conclusión

Net-filter es el marco para un firewall para todas y cada una de las distribuciones de Linux. De vuelta en cada RHEL y CentOS ediciones, usamos iptables pero en versiones más nuevas, han introducido Firewalld . Es más fácil de entender y usar firewalld. Espero que hayas disfrutado el artículo.


Cent OS
  1. Cómo instalar y configurar Fail2Ban en CentOS 8 y Fedora 33

  2. Cómo instalar Python 3.5 en CentOS/RHEL y Fedora

  3. Cómo instalar, configurar y ejecutar WordPress 3.8 en RHEL/CentOS/Fedora

  4. CentOS/RHEL 7:Cómo instalar y configurar telnet

  5. Cómo configurar el inicio de sesión de firewalld en CentOS/RHEL 8

Cómo instalar y configurar Checkmk en CentOS 8 / RHEL 8

Cómo instalar y configurar Nagios Core en CentOS 8 / RHEL 8

Cómo instalar y configurar el servidor VNC en CentOS 7 / RHEL 7

Cómo instalar y usar Firewalld en CentOS / RHEL

Cómo instalar y configurar Jenkins en CentOS 8 / RHEL 8

Cómo instalar Wine 5.0 en CentOS, RHEL y Fedora