Para proteger el tráfico entre los pods de un clúster de Antrea Kubernetes, puede crear directivas de firewall distribuido (directivas de seguridad) en NSX y aplicarlas a uno o varios clústeres de Antrea Kubernetes.

Nota: En esta documentación se utiliza el término "clúster de Antrea Kubernetes" para hacer referencia a clústeres de Kubernetes con Antrea CNI. El término "clúster de Kubernetes" es un término genérico que representa los clústeres de Tanzu Kubernetes Grid (TKG) con Antrea CNI, los clústeres de OpenShift con Antrea CNI o los clústeres de Kubernetes DIY con Antrea CNI.

La interfaz de usuario utiliza el término "clúster de contenedores de Antrea" para algunos campos o etiquetas. En la sección Procedimiento de esta documentación, el término "clúster de contenedores de Antrea" se conserva para esos campos o etiquetas de la interfaz de usuario. Para todo el texto libre, se utiliza el término "clúster de Antrea Kubernetes".

Requisitos previos

  • Los clústeres de Antrea Kubernetes se registran en NSX.
  • Aplique una licencia de seguridad adecuada en su implementación de NSX que autorice al sistema a configurar directivas de seguridad de firewall distribuido.

Procedimiento

  1. Desde su navegador, inicie sesión en NSX Manager en https://dirección-ip-de-nsx-manager.
  2. Haga clic en la pestaña Seguridad y, a continuación, debajo de Administración de directivas, haga clic en Firewall distribuido.
    Se mostrará la página Reglas específicas de la categoría.
    Nota: La interfaz de usuario de NSX Manager recupera la información sobre los clústeres de Antrea Kubernetes registrados cuando se inicia la aplicación de NSX Manager en el navegador. Si la interfaz de usuario de la aplicación ya está abierta, no recuperará la información de registro del clúster de Antrea Kubernetes automáticamente. Este comportamiento es el esperado según el diseño de la interfaz de usuario actual. Si registró el primer clúster de Antrea Kubernetes después de abrir la aplicación de NSX Manager, asegúrese de actualizar el navegador después de desplazarse hasta la página Reglas específicas de la categoría. Una actualización manual garantiza que los elementos de la interfaz de usuario específicos de Antrea estén visibles en la interfaz de usuario cuando llegue al paso 4 de este procedimiento.

    Esta actualización manual del navegador solo es necesaria una vez, y no cada vez que se registra un nuevo clúster de Antrea Kubernetes en NSX.

  3. Seleccione la categoría en la que desea crear la directiva de seguridad.
    Actualmente no se admiten reglas de firewall de capa 2 (Ethernet) basadas en direcciones MAC para clústeres de Antrea Kubernetes. Las categorías de NSX corresponden a los niveles de Antrea. Las directivas de seguridad se aplican en los clústeres de Antrea Kubernetes en el siguiente orden descendente de precedencia:
    • Categoría de emergencia (prioridad más alta)
    • Categoría de infraestructura
    • Categoría de entorno
    • Categoría de aplicación (prioridad más baja)

    Dentro de una categoría, las reglas de firewall se procesan de arriba abajo en el orden en el que se establecen las reglas. Las categorías proporcionan un medio para organizar las reglas. Por ejemplo, varios roles de usuario (perfiles) pueden crear directivas de seguridad sin anular ni poner en conflicto las directivas entre sí. Por ejemplo, un administrador de seguridad puede crear directivas en la categoría Emergencia para reglas de cuarentena o de permiso específicas. Un desarrollador de aplicaciones puede crear directivas en la categoría Aplicación para proteger el tráfico entre pods específicos de una aplicación. Un administrador de red puede crear directivas en la categoría Infraestructura para definir reglas de acceso para servicios compartidos, como DHCP, DNS, Active Directory, etc.

  4. Haga clic en Agregar directiva y especifique las opciones de configuración de la directiva.
    1. Introduzca un nombre único para la directiva.
    2. De forma predeterminada, la directiva se aplica al firewall distribuido. Junto a Se aplica a, haga clic en el icono Editar.
      Se abrirá la página Establecer Se aplica a.
    3. Seleccione la opción C clústeres de contenedores de Antrea.
    4. (Requerido) Seleccione al menos un clúster para decidir el intervalo o el ámbito de la aplicación de la directiva de seguridad.
      El intervalo de la directiva puede ser un solo clúster de Antrea Kubernetes o en varios clústeres de Antrea Kubernetes.
    5. (opcional) Para limitar el intervalo de la directiva, seleccione Grupos de Antrea.
      Al seleccionar Grupos de Antrea en la categoría Se aplica a de una directiva, esta configuración se utilizará para todas las reglas de la directiva. Para especificar un conjunto diferente de grupos de Antrea para cada regla de la directiva, omita este paso y especifique Se aplica a al agregar las reglas a la directiva.
      Nota: Los grupos de Antrea con direcciones IP no deben utilizarse en Se aplica a de la directiva, ya que NSX no puede calcular los miembros efectivos del pod desde las direcciones IP.
    6. (opcional) Haga clic en el icono de engranaje en la esquina superior derecha para especificar las opciones de configuración avanzada de la directiva.
      Para las directivas de seguridad que se aplican a clústeres de Antrea Kubernetes, las opciones TCP estricto y Con estado aparecen atenuadas. Actualmente no se admite esta configuración.

      Solo se admiten los ajustes Bloqueado y Comentarios. De forma predeterminada, una directiva no está bloqueada. Para evitar que varios usuarios realicen cambios en la directiva, active la opción Bloqueado.

    7. Haga clic en Publicar.
      Puede agregar varias directivas y, a continuación, publicarlas todas juntas.

      El estado de la directiva cambia inicialmente a En curso y, una vez realizado correctamente en los clústeres de Antrea Kubernetes, el estado cambia a Correcto. Si se produce un error en la realización de la directiva por algún motivo, haga clic en el estado Error para ver los errores en una ventana emergente.

  5. Active la casilla que aparece junto al nombre de la directiva y haga clic en Agregar regla. Introduzca un nombre de regla.
    De forma predeterminada, las columnas Orígenes, Destinos, Servicios y Se aplica a de la regla muestran Cualquiera.
    Nota: Actualmente no se admiten perfiles de contexto para las reglas que se aplican a clústeres de Antrea Kubernetes.
  6. Especifique la configuración de la regla.
    1. En la columna Orígenes o Destinos, haga clic en el icono Editar y seleccione uno o varios grupos de Antrea.
      Las siguientes restricciones se aplican a la especificación de orígenes y destinos de reglas:
      • Solo se pueden seleccionar grupos de Antrea. Los grupos con miembros de NSX no se pueden utilizar en una regla. En otras palabras, una regla no puede contener una combinación de grupos de Antrea y grupos de tipo Genérico, Solo direcciones IP.
      • Cuando se seleccionan grupos en la columna Orígenes, no se puede aplicar la columna Destinos. Puede agregar destinos en la categoría Se aplica a de la regla.
      • Cuando se seleccionan grupos en la columna Destinos, no se puede aplicar la columna Orígenes. Puede agregar orígenes en la categoría Se aplica a de la regla.

      Al configurar Orígenes y Se aplica a en la regla, se filtrará el tráfico procedente de Orígenes a Se aplica a. Al configurar Destinos y Se aplica a en la regla, se filtra el tráfico de Se aplica a a Destinos. La ruta de datos de Antrea filtra los miembros del grupo Se aplica a.

    2. (opcional) En la columna Servicios, haga clic en el icono de edición y seleccione los servicios.
      Si no se selecciona ningún servicio, se utilizará Cualquiera.

      Las siguientes restricciones se aplican a los servicios especificados:

      • Solo se admiten los protocolos TCP y UDP. No se admiten los demás servicios.
      • La combinación de protocolo y puerto sin formato solo admite el tipo de servicio TCP y UDP.
      • Solo se admiten puertos de destino. No se admiten puertos de origen.
    3. En la columna Se aplica a, haga clic en el icono editar y seleccione los grupos de Antrea a los que desea aplicar la regla.

      Si no se selecciona ningún grupo, se utilizará Cualquiera.

      Nota:
      • Los grupos de Antrea con direcciones IP no deben utilizarse en la categoría Se aplica a de la regla porque NSX no puede calcular los miembros efectivos del pod a partir de las direcciones IP.
      • Si especifica grupos de Antrea en la categoría Se aplica a tanto de la directiva como de la regla, los grupos de Se aplica a de la directiva tendrán prioridad sobre los grupos de Se aplica a de la regla.
    4. En el menú desplegable Acción, seleccione una de estas opciones.
      Opción Descripción
      Permitir

      Permite todo el tráfico de capa 3 con el origen, destino y protocolo especificados a través del contexto de firewall presente. Los paquetes que coincidan con la regla y que se acepten, pasarán por el clúster de Kubernetes como si el firewall no estuviera presente.

      Descartar

      Descarta paquetes con el origen, destino y protocolo especificados. Descartar un paquete es una acción silenciosa que no envía ninguna notificación al origen y al destino. Al descartar el paquete, se intentará recuperar la conexión hasta que se alcance el umbral de reintentos.

      Rechazar

      Rechaza paquetes con el origen, destino y protocolo especificados. Rechazar un paquete es una manera más estable para denegarlo, ya que envía un mensaje de destino no alcanzable al remitente. Si el protocolo es TCP, se envía un mensaje TCP RST. Se envían mensajes ICMP con código prohibido de forma administrativa para conexiones UDP, ICMP y otras conexiones IP. Una ventaja de la acción Rechazar es que la aplicación que envía el mensaje recibe una notificación después de que se produzca un único intento de establecer conexión sin éxito.

    5. Haga clic en el botón de alternancia para activar o desactivar la regla.
      De forma predeterminada, la regla está activada.
    6. (opcional) Haga clic en el icono de engranaje para configurar los ajustes de otra regla.
      Configuración de regla Descripción
      Registro De forma predeterminada, el registro está desactivado. Los registros de firewall se incluyen en los registros de Agente Antrea. Si crea una solicitud de paquete de soporte para el clúster de Antrea Kubernetes y selecciona los nodos del clúster, el paquete de soporte incluirá los registros de Agente Antrea para esos nodos.
      Dirección

      Hace referencia a la dirección del tráfico desde la perspectiva del pod de destino.

      La dirección de la regla es de solo lectura en los siguientes casos y no se puede editar:
      • Cuando se especifican orígenes en la regla, la dirección es Entrada.
      • Cuando se especifican destinos en la regla, la dirección es Salida.

      La dirección de la regla se puede editar cuando los orígenes y los destinos se establecen en Cualquiera. En este caso, la dirección predeterminada es Entrada-Salida. Sin embargo, puede cambiar la dirección a Entrada o Salida.

      Comentarios

      Introduzca cualquier nota sobre la regla, si es necesario.

      Estos comentarios no se propagan al clúster de Antrea Kubernetes. Por lo tanto, los comentarios de la regla no aparecerán como anotaciones en las especificaciones de Directiva de red de clústeres de Antrea.

  7. Haga clic en Publicar para insertar las reglas en los clústeres de Antrea Kubernetes.
    Puede agregar varias reglas y, a continuación, publicarlas juntas.
    Nota: Una vez realizada la directiva de seguridad en los clústeres de Antrea Kubernetes, no podrá editar la categoría Se aplica a de la directiva. Es decir, NSX no permite cambiar el alcance de la directiva de seguridad de Clústeres de contenedores de Antrea a DFW o Grupos.

Resultados

Los siguientes resultados se producen en los clústeres de Antrea Kubernetes:
  • El complemento de red de Antrea crea una directiva de red de clúster correspondiente a cada directiva de firewall distribuido que se aplica a los clústeres de Antrea Kubernetes.
  • Si las reglas contienen orígenes, se crearán las correspondientes reglas de entrada en Directiva de red de clústeres de Antrea.
  • Si las reglas contienen destinos, se crearán las correspondientes reglas de salida en Directiva de red de clústeres de Antrea.
  • Si las reglas contienen una configuración Cualquiera-Cualquiera, Controlador Antrea en el clúster dividirá la regla Cualquiera-Cualquiera en dos reglas: una regla de entrada con Cualquiera a Cualquiera y otra regla de salida con Cualquiera a Cualquiera.
Nota: El complemento de red de Antrea no le impide actualizar o eliminar las directivas de red de clúster de Antrea desde la línea de comandos kubectl. Sin embargo, debe evitar hacerlo. El motivo es que las directivas de seguridad se administran mediante NSX. Por lo tanto, el Adaptador del plano de control central del clúster de Antrea Kubernetes sobrescribirá inmediatamente los cambios de directiva realizados desde la línea de comandos kubectl. En otras palabras, NSX es la fuente de la verdad de las directivas. Los cambios realizados en estas directivas de red de clúster a través de la línea de comandos kubectl no se muestran en NSX Manager.

Qué hacer a continuación

Una vez que las directivas de seguridad se han realizado correctamente en los clústeres de Antrea Kubernetes, puede realizar las siguientes tareas opcionales:

  • Compruebe que las directivas de red de clúster de Antrea se muestren en los clústeres de Kubernetes. Ejecute el siguiente comando kubectl en cada clúster de Antrea Kubernetes:
    $ kubectl get acnp
    Nota: El parámetro priority de las directivas de red de clúster de Antrea muestra un valor flotante. Este resultado es el esperado. La interfaz de usuario de NSX Manager no muestra la prioridad de las directivas de firewall distribuido. NSX asigna internamente un valor entero a la prioridad de cada directiva. Este valor entero se asigna desde un rango grande. Sin embargo, el complemento de red de Antrea asigna un número flotante más pequeño (valor absoluto) a la prioridad de directivas de red de clúster de Antrea. Por lo tanto, los valores de prioridad de NSX se normalizan internamente a números flotantes más pequeños. Sin embargo, el orden en el que se agregan las directivas en una categoría de firewall distribuido se conserva para las directivas de red de clúster de Antrea.

    También puede ver los detalles de las directivas de red de clúster de Antrea en el inventario de NSX. En NSX Manager, vaya a Inventario > Contenedores > Clústeres. Expanda el nombre del clúster y haga clic en el número junto a Directivas de red de clúster para ver los detalles de las directivas, incluidas las especificaciones de YAML.

  • Consulte las estadísticas de directivas mediante la API de NSX:
    GET https://{nsx-mgr-ip}/api/v1/infra/domains{domain-id}/security-policies/{security-policy-name}/statistics?container_cluster_path=/infra/sites/{site-id}/enforcement-points/{enforcement-point-id}/cluster-control-planes/{cluster-name}
  • Ver estadísticas de reglas de tiempo de ejecución en la interfaz de usuario:
    1. En NSX Manager, desplácese hasta Seguridad > Firewall distribuido.
    2. Expanda el nombre de la directiva y, a continuación, haga clic en el icono de gráfico en la esquina superior derecha de cada regla.
    3. Seleccione el clúster de Kubernetes en el menú desplegable para ver las estadísticas de reglas de cada clúster de Kubernetes.

      Las estadísticas de la regla se calculan por separado para cada clúster de Kubernetes en el que se aplica la regla. Las estadísticas no se agregan para todos los clústeres de Kubernetes y se muestran en la interfaz de usuario. Las estadísticas de reglas se calculan cada minuto.