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 ,
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
# yum install firewalld -y
# systemctl status iptables # systemctl stop iptables # systemctl mask iptables
Paso 2:hablar sobre los componentes del cortafuegos
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
# firewall-cmd --set-default-zone=internal
# firewall-cmd --get-default-zone
# firewall-cmd --get-zone-of-interface=enp0s3
# firewall-cmd --get-icmptypes
Paso 4:Creación de servicios propios en Firewalld
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
# cd /usr/lib/firewalld/services/
# 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/
# firewall-cmd --reload
# firewall-cmd --get-services
Paso 5:Asignación de servicios a zonas cortafuegos
# firewall-cmd --state # firewall-cmd --get-active-zones
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
# firewall-cmd --add-service=rtmp
# 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
# 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
# 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.
# 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.