En el artículo anterior vimos los puentes de Capa 2, su
funcionalidad y sus características. Hoy vamos a ver en detalle uno de los
componentes de gran importancia en NSX Data Center for vSphere: el firewall
lógico.
El firewall lógico es el elemento que proporciona los
mecanismos de seguridad para los data centers virtuales dinámicos, y consta de
dos componentes principales para abordar los diferentes casos de uso en una
implementación NSX: Distributed Firewall, que se centra en los controles de
acceso Este-Oeste y Edge Firewall, que se centra en la aplicación del tráfico
de Norte-Sur en el perímetro del data center o del tenant. En conjunto, estos
componentes cubren las necesidades de firewall de extremo a extremo, pudiendo
optar por implementar cualquiera de estas tecnologías de forma independiente o
ambas en simultáneo.
Veamos ahora en más detalle estos componentes:
Distributed Firewall
El Distributed Firewall es un firewall integrado en el
kernel del hipervisor que proporciona visibilidad y control para las redes y
las cargas de trabajo virtualizadas. Podemos crear directivas de control de
acceso basadas en objetos de vCenter, como data centers y clusters, así como
también nombres de máquinas virtuales, componentes de red como direcciones IP o
IPSet, VLAN (grupos de puertos vDS), VXLAN (switches lógicos), grupos de
seguridad e identidad de grupos de usuarios desde Active Directory. Las reglas
de firewall se aplican en el nivel de la vNIC de cada máquina virtual
individual para proporcionar control de acceso consistente, incluso cuando la
máquina virtual se migra con vMotion.
El Distributed Firewall es un firewall con estado, esto
significa que supervisa el estado de las conexiones activas y utiliza esta
información para determinar qué paquetes de red pueden pasar a través del
firewall. Un flujo se identifica teniendo en cuenta lo siguiente:
- Dirección de origen
- Puerto de origen
- Dirección de destino
- Puerto de destino
- Protocolo
Una instancia de Distributed Firewall en un host ESXi
contiene dos tablas: una tabla de reglas para almacenar las directivas y una
tabla de seguimiento de conexión para almacenar las entradas de flujo
permitidas. Las reglas se aplican de arriba hacia abajo, siguiendo el siguiente
orden:
- El tráfico que tiene que pasar a través de un firewall se compara con una lista de reglas de firewall
- Cada paquete se compara con la regla principal de la tabla antes de aplicar las reglas subsiguientes de esa tabla
- Se aplica la primera regla de la tabla que coincide con los parámetros de tráfico
- La última regla de la tabla es la regla de la directiva predeterminada: a los paquetes que no coincidan con ninguna regla que esté por encima de la regla predeterminada se les aplicará la regla predeterminada
Por defecto, el Distributed Firewall funciona en modo
estricto de TCP y, cuando se utiliza una regla de bloqueo de forma
predeterminada, descarta los paquetes que no cumplen los requisitos de
conexión. Una conexión comienza con un protocolo de enlace de tres vías (SYN,
SYN-ACK, ACK) y, por lo general, termina con un intercambio de dos vías (FIN,
ACK).
Por ejemplo, si un paquete IP coincide con la regla número 2
se envía a través de la máquina virtual, se realiza la búsqueda de directivas y
el flujo de paquetes es el siguiente:
- La búsqueda se lleva a cabo en la tabla de seguimiento de conexión para comprobar si ya existe una entrada para el flujo
- Debido a que el flujo 3 no está presente en la tabla de seguimiento de conexión, se realiza una búsqueda en la tabla de reglas para identificar qué regla se aplica al flujo de 3. Se aplicará la primera regla que coincida con el flujo
- La regla 2 coincide con el flujo 3
- Ya que la acción configurada para el flujo 3 es "Permitir" (Allow), se creará una nueva entrada dentro de la tabla de seguimiento de la conexión. A continuación, se transmite el paquete fuera del firewall distribuido
En el caso de los paquetes de Capa 2, el Distributed
Firewall crea una memoria caché para aumentar el rendimiento. Los paquetes de
Capa 3 se procesan de acuerdo con la siguiente secuencia:
- Se verifica el estado actual de todos los paquetes. Esto también se realiza en los SYN para poder detectar los SYN falsos o retransmitidos de las sesiones existentes
- Si se encuentra una coincidencia de estado, se procesan los paquetes.
- Si no se encuentra una coincidencia de estado, el paquete se procesa por medio de las reglas hasta encontrar una coincidencia
- En el caso de los paquetes TCP, se establece el estado solo para los paquetes con la marca SYN. Sin embargo, las reglas que no especifican un protocolo (ANY), se pueden buscar coincidencias de los paquetes TCP con cualquier combinación de marcas
- En el caso de los paquetes UDP, se extraen los detalles de la 5-tupla del paquete. Si no existe un estado en la tabla de estado, se crea uno nuevo con los detalles de la 5-tupla extraídos. Posteriormente, se buscan coincidencias de los paquetes recibidos con el estado que se acaba de crear
- En el caso de los paquetes ICMP, se utilizan el tipo, el código y la dirección de dichos paquetes para crear un estado
El Distributed Firewall también puede ayudar a crear reglas
basadas en la identidad. Esto es útil para los administradores ya pueden
aplicar el control de acceso en función de la pertenencia al grupo de un
usuario como se define en Active Directory. Veamos entonces algunas situaciones
en las que se pueden utilizar las reglas de firewall basadas en la identidad:
Un usuario que accede a aplicaciones virtuales con un equipo
portátil o un dispositivo móvil en el que se utiliza AD para la autenticación
del usuario
Un usuario que accede a aplicaciones virtuales mediante la
infraestructura de VDI donde las máquinas virtuales están basadas en Microsoft
Windows
Finalmente, esta es la lista de las diferentes características
y tareas que se pueden realizar con este tipo de firewall:
Configurar un firewall relacionado con el contexto sobre la
capa de aplicación
Configurar temporizadores de sesión TCP, UDP e ICMP
Configurar la detección de IP para máquinas virtuales
Excluir máquinas virtuales de la protección de firewall
Ver eventos de umbral de memoria y CPU del firewall
Ver y configurar el uso de recursos (CPU, red y conexiones
por segundo) en el Distributed Firewall
Edge Firewall
Como mencioné al inicio del artículo, Edge Firewall
supervisa el tráfico Norte-Sur para proporcionar la seguridad perimetral, la
traducción de direcciones de red (NAT) y la funcionalidad SSL VPN e IPsec site
to site. Esta solución está disponible como una máquina virtual y se puede
implementar en modo de alta disponibilidad (High Availability).
La compatibilidad con el firewall está limitada en el router
lógico. Por este motivo, solo funcionan las reglas en las interfaces de
administración o uplinks y no en las interfaces internas.
Como nota adicional es importante aclarar que NSX-V Edge es
vulnerable a los ataques SYN-Flood (para aquellos que no están familiarizados
con el término se trata de ataques de denegación de servicio -DDoS- a través
del envío masivo de paquetes SYN desde direcciones IP falsas), que llenan la
tabla de seguimiento de estado del firewall. Este ataque crea una interrupción
del servicio a los usuarios originales. Para defender a Edge de esta situación,
es necesario implementar la lógica correspondiente para que se detecten las
conexiones TCP falsas y se finalicen sin consumir recursos de seguimiento del
estado del firewall. Esta función está deshabilitada de forma predeterminada, y
en caso de necesitar habilitarla en un entorno de riesgo potencial es necesario
configurar el valor enableSynFloodProtection de la API REST en "true"
como parte de la configuración global del firewall (Firewall Global
Configuration).
Trabajar con secciones de reglas de firewall
Se puede agregar una sección para separar las reglas de
firewall. Por ejemplo, para separar los diferentes departamentos dentro de una
compañía. Para eso podemos crear varias secciones de reglas de firewall para
Capa 2 y Capa 3. Como varios usuarios pueden iniciar sesión en el cliente web y
pueden hacer cambios al mismo tiempo en las secciones y las reglas del
firewall, se pueden bloquear las secciones en las que se está trabajando para
impedir que otro administrador modifique las reglas de la sección que se están
modificando.
Los entornos Cross vCenter NSX pueden tener varias secciones
de reglas universales, de esta forma se logran organizar fácilmente las reglas
por uso y aplicación. Si las reglas se modifican o se editan dentro de una
sección universal, solo se sincronizan con las instancias secundarias de NSX
Manager las reglas de Distributed Firewall universales de esa sección. Para
poder agregar reglas universales, primero debemos administrar las reglas
universales en la instancia principal de NSX Manager y crear ahí la sección universal.
Por defecto las secciones universales siempre aparecen por sobre las secciones
locales en las instancias principales y secundarias de NSX Manager. Las reglas
que están fuera de las secciones universales permanecen en el nivel local de la
instancia principal o secundaria de NSX Manager donde se agregaron.
Las tareas que podremos realizar son agregar, combinar,
eliminar, bloquear y desbloquear secciones de regla de firewall.
Trabajar con reglas de firewall
Las reglas de Distributed Firewall y las reglas de Edge
Firewall pueden administrarse de forma centralizada o desde la pestaña
Firewall. En un entorno multitenant, los proveedores pueden definir reglas para
un flujo de tráfico de alto nivel en la interfaz de usuario del firewall
centralizado.
Cada sesión de tráfico se compara con la regla principal de
la tabla de firewall antes de bajar a las reglas subsiguientes de esa tabla.
Luego, se aplica la primera regla de la tabla que coincide con los parámetros
de tráfico. Las reglas se muestran en el siguiente orden:
- Reglas que definen los usuarios en la interfaz de usuario del firewall tienen la prioridad más alta y se aplican en orden descendente según el nivel por vNIC.
- Reglas autoasociadas (permiten que el tráfico de control circule en los servicios Edge)
- Reglas definidas por los usuarios en la interfaz de NSX Edge
- Reglas de Service Composer (una sección aparte para cada directiva). Estas reglas no se pueden editar en la tabla de firewall, pero es posible agregar reglas en la parte superior de una sección de reglas de firewall de una directiva de seguridad. Al hacer eso, es necesario volver a sincronizar las reglas en Service Composer.
- Reglas predeterminadas de Distributed Firewall
Debemos tener en cuenta que las reglas de firewall se
aplican solamente en clusters donde se habilitó el firewall.
Las diferentes tareas que podemos realizar sobre un Edge
Firewall son las siguientes:
- Agregar una regla de firewall
- Editar la regla de Distributed Firewall predeterminada
- Forzar sincronización de las reglas de Distributed Firewall
- Configurar reglas de firewall con un protocolo personalizado de Capa 3
- Guardar una configuración sin publicar
- Cargar una configuración de firewall guardada
- Filtrar reglas de firewall
- Cambiar el orden de una regla de firewall
- Modificar el comportamiento de las reglas de firewall en los grupos de seguridad
- Configurar el restablecimiento y recuento de las reglas del firewall
Y hasta aquí llegamos con el firewall lógico de NSX Data
Center for vSphere, y si bien es un artículo extenso que abarca de forma
compacta los detalles del componente sirve para tener un paneo general del
funcionamiento y configuración de este importante componente. En el próximo artículo
veremos las VPN en detalle.
Hasta la próxima!
Guía de artículos
Parte 1: Introducción
Parte 2: NSX Edge
Parte 3: Servicios de NSX
Parte 4: Zonas de Transporte
Parte 5: Switches lógicos
Parte 6: Configurar una puerta de enlace de hardware
Parte 7: Puentes L2
Parte 8: Firewall lógico
Parte 9: Redes privadas virtuales (VPN)
Parte 10: Balanceador de carga lógico
0 comments:
Publicar un comentario