Serie RHCSA Firewall Essentials y control de tráfico de red utilizando Firewalld e Iptables - Parte 11
- 2297
- 718
- Mario Gollum
En palabras simples, un cortafuegos es un sistema de seguridad que controla el tráfico entrante y saliente en una red basado en un conjunto de reglas predefinidas (como el destino / fuente o tipo de tráfico del paquete, por ejemplo).
RHCSA: Control del tráfico de red con Firewalld e Iptables - Parte 11En este artículo revisaremos los conceptos básicos de cortafuegos, el demonio de firewall dinámico predeterminado en Red Hat Enterprise Linux 7, y iptables Servicio, el servicio de firewall heredado para Linux, con el que la mayoría de los administradores de sistemas y redes están bien familiarizados, y que también está disponible en Rhel 7.
Una comparación entre Firewalld e iptables
Debajo del capó, ambos cortafuegos y el iptables Servicio hablar con el netfilter Marco en el núcleo a través de la misma interfaz, como era de esperar, el comando iptables. Sin embargo, a diferencia del servicio iptable, Firewalld puede cambiar la configuración durante la operación normal del sistema sin que se pierdan las conexiones existentes.
Cortafuegos debe instalarse de forma predeterminada en su sistema RHEL, aunque es posible que no se esté ejecutando. Puede verificar con los siguientes comandos (firewall-config es la herramienta de configuración de la interfaz de usuario):
# yum info firewalld firewall-configConsulte la información de Firewalld
y,
# systemCTL status -l firewalld.servicioVerifique el estado de firewalld
Por otro lado, el iptables El servicio no está incluido de forma predeterminada, pero se puede instalar a través de.
# Yum Update && Yum Install Iptables-Services
Ambos demonios se pueden iniciar y habilitarse para comenzar con lo habitual system Comandos:
# SystemCTL iniciar firewalld.servicio | iptable-servicio.Servicio # SystemCTL Habilitar firewalld.servicio | iptable-servicio.servicio
Leer también: Comandos útiles para administrar los servicios Systemd
En cuanto a los archivos de configuración, el servicio iptables usa /etc/sysconfig/iptables
(que no existirá si el paquete no está instalado en su sistema). En un cuadro RHEL 7 utilizado como nodo de clúster, este archivo se ve lo siguiente:
Mientras que Firewalld almacena su configuración en dos directorios, /usr/lib/firewalld
y /etc/firewalld
:
# ls/usr/lib/firewalld/etc/firewalldConfiguración de firewalld
Examinaremos estos archivos de configuración más adelante en este artículo, después de agregar algunas reglas aquí y allá. Por ahora, será suficiente recordarle que siempre puede encontrar más información sobre ambas herramientas con.
# Man Firewalld.conf # hombre firewall-cmd # hombre iptable
Aparte de eso, recuerde echar un vistazo a la revisión de los comandos esenciales y la documentación del sistema: parte 1 de la serie actual, donde describí varias fuentes donde puede obtener información sobre los paquetes instalados en su Rhel 7 sistema.
Uso de iptables para controlar el tráfico de red
Es posible que desee consultar Configurar el firewall iptable - Parte 8 de la Ingeniero certificado de la Fundación Linux (LFCE) Serie para actualizar su memoria sobre iptables Internales antes de continuar. Por lo tanto, podremos saltar directamente a los ejemplos.
Ejemplo 1: permitiendo el tráfico web entrante y saliente
Puertos TCP 80 y 443 son los puertos predeterminados utilizados por el servidor web Apache para manejar la normalidad (Http) y seguro (Https) tráfico web. Puede permitir el tráfico web entrante y saliente a través de ambos puertos en el ENP0S3 interfaz de la siguiente manera:
# iptables -a entrada -i enp0s3 -p tcp --dport 80 -m state - -state nuevo, establecido -j Aceptar # iptables -a output -o enp0s3 -p tcp --sport 80 -m state - -state establecido - - j Aceptar # iptable -a entrada -i enp0s3 -p tcp --dport 443 -m state - -state nuevo, establecido -j Aceptación # iptable -a salida -o enp0s3 -p tcp --esport 443 -m state - -state - -state Establecido -j aceptar
Ejemplo 2: Bloquear todas (o algunas) conexiones entrantes desde una red específica
Puede haber momentos en los que necesite bloquear todo (o algún) tipo de tráfico que se origina en una red específica, digamos 192.168.1.24/04 Por ejemplo:
# iptables -i entrada -s 192.168.1.0/24 -J Drop
dejará caer todos los paquetes provenientes del 192.168.1.24/04 red, mientras que,
# iptables -A entrada -s 192.168.1.0/24 --dport 22 -J aceptar
solo permitirá el tráfico entrante a través del puerto 22.
Ejemplo 3: redirigir el tráfico entrante a otro destino
Si usas tu Rhel 7 Box no solo como un firewall de software, sino también como el real basado en hardware, para que se encuentre entre dos redes distintas, el reenvío de IP ya debe haber sido habilitado en su sistema. Si no, necesitas editar /etc/sysctl.confusión
y establecer el valor de neto.IPv4.ip_forward a 1, como sigue:
neto.IPv4.ip_forward = 1
Luego guarde el cambio, cierre su editor de texto y finalmente ejecute el siguiente comando para aplicar el cambio:
# sysctl -p /etc /sysctl.confusión
Por ejemplo, puede tener una impresora instalada en una caja interna con IP 192.168.0.10, con el TAZAS Servicio que escucha en el puerto 631 (tanto en el servidor de impresión como en su firewall). Para reenviar las solicitudes de impresión de los clientes en el otro lado del firewall, debe agregar la siguiente regla de iptables:
# iptables -t nat -a prelamoring -i enp0s3 -p tcp --dport 631 -j dnat -a 192.168.0.10: 631
Tenga en cuenta que iptables Lee sus reglas secuencialmente, así que asegúrese de que las políticas predeterminadas o las reglas posteriores no anulen las descritas en los ejemplos anteriores.
Comenzando con Firewalld
Uno de los cambios introducidos con cortafuegos son zonas. Este concepto permite separar las redes en diferentes zonas de confianza que el usuario ha decidido colocar en los dispositivos y el tráfico dentro de esa red.
Para enumerar las zonas activas:
# firewall-cmd --get-active-zones
En el ejemplo a continuación, el zona pública está activo y el ENP0S3 La interfaz se ha asignado automáticamente. Para ver toda la información sobre una zona en particular:
# firewall-cmd --zone = public --list-allEnumere todas las zonas de firewalld
Ya que puedes leer más sobre zonas En la Guía de seguridad de RHEL 7, solo enumeraremos algunos ejemplos específicos aquí.
Ejemplo 4: Permitir servicios a través del firewall
Para obtener una lista de los servicios compatibles, use.
# Firewall-CMD-ServiciosEnumere todos los servicios compatibles
Permitir http y https Tráfico web a través del firewall, con efecto inmediato y en botas posteriores:
# firewall-cmd --zone = myzone --add-service = http # firewall-cmd --zone = myzone --permanent --add-service = http # firewall-cmd --zone = myzone --add-service = https # firewall-cmd --zone = myzone --permanent --add-service = https # firewall-cmd--relead
If código> -zone se omite, la zona predeterminada (puede verificar con firewall-cmd -get-default-zone) se usa.
Para eliminar la regla, reemplace la palabra agregar con eliminar en los comandos anteriores.
Ejemplo 5: reenvío de IP / puerto
En primer lugar, debe averiguar si la mascarada está habilitada para la zona deseada:
# firewall-cmd --zone = myzone --query-Masquerade
En la imagen a continuación, podemos ver que disfrazado está habilitado para el zona externa, Pero no para público:
Verifique el estado de mascaramientoPuede habilitar la mascaramiento para el público:
# firewall-cmd --zone = public --add-Masquerade
o usar mascar en externo. Esto es lo que haríamos para replicar Ejemplo 3 con cortafuegos:
# firewall-cmd --zone = externo --add-forward-puert = port = 631: proto = tcp: toport = 631: toaddr = 192.168.0.10
Y no olvides recargar el firewall.
Puede encontrar más ejemplos en la Parte 9 de la serie RHCSA, donde explicamos cómo permitir o deshabilitar los puertos que generalmente utilizan un servidor web y un servidor FTP, y cómo cambiar la regla correspondiente cuando el puerto predeterminado para esos servicios están cambiados. Además, es posible que desee consultar el wiki de firewalld para más ejemplos.
Leer también: Ejemplos de firewalld útiles para configurar el firewall en RHEL 7
Conclusión
En este artículo hemos explicado qué cortafuegos es, ¿cuáles son los servicios disponibles para implementar uno en Rhel 7, y proporcionó algunos ejemplos que pueden ayudarlo a comenzar con esta tarea. Si tiene algún comentario, sugerencia o pregunta, no dude en informarnos con el formulario a continuación. gracias de antemano!
- « La serie RHCSA automatiza las instalaciones de RHEL 7 usando 'Kickstart' - Parte 12
- Panel web de CentOS panel de control de alojamiento web gratuito de todo en uno para CentOS/RHEL 6 »