Descripción general de la seguridad de Anthos Service Mesh

La seguridad de Anthos Service Mesh te ayuda a mitigar las amenazas internas y reducir el riesgo de una violación de la seguridad de los datos, ya que garantiza que todas las comunicaciones entre cargas de trabajo estén encriptadas, autenticadas de forma mutua y autorizadas.

La microsegmentación que usa reglas basadas en IP se usó durante mucho tiempo para mitigar los riesgos relacionados con los usuarios con información privilegiada. Sin embargo, la adopción de contenedores, servicios compartidos y entornos de producción distribuidos que se propagan en varias nubes hace que este método sea más difícil de configurar y de mantener.

Con Anthos Service Mesh, puedes configurar una capa de seguridad de red adaptada al contexto del servicio y del contexto de la solicitud que sea independiente de la seguridad de la red subyacente. Debido a esto, Anthos Service Mesh te permite adoptar una postura de defensa en profundidad que sea coherente con los principios de seguridad de confianza cero. Puedes lograr esta postura mediante políticas declarativas y sin modificar ningún código de la aplicación.

TLS mutua

Anthos Service Mesh usa TLS mutua (mTLS) para la autenticación de pares. La autenticación se refiere a la identidad: ¿quién es este servicio? ¿quién es este usuario final?, y ¿puedo confiar en que son quienes dicen ser?

mTLS permite que las cargas de trabajo verifiquen las identidades de las demás y se autentiquen entre sí. Es posible que estés familiarizado con la TLS simple por su uso en HTTPS para permitir que los navegadores confíen en los servidores web y encripten los datos que se intercambian. Cuando se usa la TLS simple, el cliente establece que el servidor es de confianza mediante la validación de su certificado. La mTLS es una implementación de la TLS en la que el cliente y el servidor se presentan certificados y se verifican las identidades entre sí.

La mTLS es el medio por el cual Anthos Service Mesh implementa la autenticación y la encriptación entre servicios.

En Anthos Service Mesh 1.6 y versiones posteriores, la mTLS automática está habilitada de forma predeterminada. Con la mTLS automática, un proxy de sidecar del cliente detecta automáticamente si el servidor tiene un sidecar. El sidecar del cliente envía mTLS a las cargas de trabajo con sidecars y envía texto sin formato a las cargas de trabajo sin sidecars. Sin embargo, ten en cuenta que los servicios aceptan el tráfico de texto sin formato y mTLS. A fin de proteger tu malla de servicios, te recomendamos que migres tus servicios para que solo acepten tráfico mTLS.

Para obtener más información sobre cómo aplicar solo mTLS, consulta Anthos Service Mesh con el ejemplo mTLS.

Configuración del conjunto de algoritmos de cifrado

En la siguiente lista, se incluyen los conjuntos de algoritmos de cifrado predeterminados que cumplen con FIPS y de Anthos Service Mesh:

ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384

Para mejorar la seguridad, la versión mínima de TLS del servidor compatible con las cargas de trabajo de Anthos Service Mesh es 1.2, que admite la personalización de los conjuntos de algoritmos de cifrado. Ten en cuenta que Anthos Service Mesh también admite TLS v1.3, que codifica los conjuntos de algoritmos de cifrado de forma fija y no admite cambiarlos.

Para obtener más información sobre los conjuntos de algoritmos de cifrado, consulta Configuración de TLS común de Envoy y, también, Autenticación mutua de TLS de Istio.

Beneficios de seguridad

Anthos Service Mesh proporciona los siguientes beneficios de seguridad:

  • Se reduce el riesgo ataques de repetición o de robo de identidad con credenciales robadas. Anthos Service Mesh se basa en certificados mTLS para autenticar pares, en lugar de tokens del portador como los tokens web JSON (JWT). Debido a que los certificados de mTLS están vinculados al canal de TLS, no es posible que una entidad dentro del entorno de producción se haga pasar por otra mediante la repetición del token de autenticación sin acceso a las claves privadas.

  • Se garantiza la encriptación en tránsito. El uso de mTLS para la autenticación también garantiza que todas las comunicaciones de TCP estén encriptadas en tránsito.

  • Se garantiza que solo los clientes autorizados puedan acceder a un servicio con datos sensibles. Solo los clientes autorizados pueden acceder a un servicio con datos sensibles, sin importar la ubicación de la red del cliente ni las credenciales a nivel de la aplicación. Puedes especificar que solo los clientes con identidades de servicio autorizadas o en los espacios de nombres autorizados de Kubernetes tengan acceso a un servicio. También puedes usar políticas de acceso basadas en IP para otorgar acceso a clientes implementados fuera del entorno de GKE Enterprise.

  • Se reduce el riesgo de violación de la seguridad de los datos del usuario en tu red de producción. Puedes asegurarte de que los usuarios con información privilegiada solo puedan acceder a datos sensibles a través de clientes autorizados. Además, puedes asegurarte de que ciertos clientes solo puedan obtener acceso a los datos del usuario si el cliente presenta un token de usuario válido y de corta duración. Esto reduce el riesgo de que, si una sola credencial de cliente está en peligro, se permita que un atacante acceda a todos los datos del usuario.

  • Se identifica qué clientes accedieron a un servicio con datos sensibles. El registro de acceso de Anthos Service Mesh captura la identidad de mTLS del cliente, además de la dirección IP. Por lo tanto, puedes descubrir con facilidad qué carga de trabajo accedió a un servicio, incluso si la carga de trabajo es efímera y se implementa de forma dinámica, y si se encuentra en un clúster o una red de nube privada virtual (VPC) diferente.

Funciones

En esta sección, se describen las funciones que proporciona Anthos Service Mesh para obtener sus beneficios de seguridad.

Certificado automático y rotación de claves

El uso de mTLS basado en identidades de servicio permite encriptar todas las comunicaciones de TCP y proporciona una credencial más segura que no se puede repetir para el control de acceso. Uno de los desafíos clave de usar mTLS a gran escala es administrar las claves y los certificados para todas las cargas de trabajo de destino. Anthos Service Mesh se encarga de rotar las claves y certificados de mTLS para las cargas de trabajo de GKE Enterprise sin interrumpir las comunicaciones. La configuración de intervalos de actualización de certificados más pequeños es posible para reducir el riesgo.

Autoridad certificada de Anthos Service Mesh (CA de Mesh)

Anthos Service Mesh incluye una autoridad certificadora privada multirregional administrada, la CA de Mesh, que emite certificados para mTLS. La CA de Mesh es un servicio muy confiable y escalable que está optimizado para cargas de trabajo que se escalan de forma dinámica en una plataforma en la nube. Con la CA de Mesh, Google administra la seguridad y la disponibilidad del backend de CA. La AC de Mesh te permite confiar en una sola raíz de confianza en los clústeres de GKE Enterprise. Cuando usas la CA de Mesh, puedes confiar en los grupos de Workload Identity para proporcionar un aislamiento general. De forma predeterminada, la autenticación falla si el cliente y el servidor no están en el mismo grupo de identidades para cargas de trabajo.

En los certificados de CA de Mesh, se incluyen los siguientes datos sobre los servicios de tu aplicación:

  • El ID del proyecto de Google Cloud
  • El espacio de nombres de GKE
  • El nombre de la cuenta de servicio de GKE

Certificate Authority Service

Como alternativa a la CA de Mesh, puedes configurar Anthos Service Mesh a fin de usar Certificate Authority Service, que es adecuado para los siguientes casos prácticos:

  • Si necesitas que distintas autoridades certificadoras firmen certificados de carga de trabajo en diferentes clústeres.
  • Si deseas usar certificados de complemento de CA personalizadas de Istio.
  • Si necesitas respaldar tus claves de firma en un HSM administrado por Google.
  • Si te encuentras en una industria altamente regulada y estás sujeto a cumplimiento.
  • Si deseas encadenar tu CA de Anthos Service Mesh a un certificado raíz personalizado de empresa para firmar certificados de carga de trabajo.

El costo de la CA de Mesh se incluye en el precio de Anthos Service Mesh. El servicio de CA no está incluido en el precio base de Anthos Service Mesh y se cobra por separado. Además, el servicio de CA viene con un ANS explícito, pero la CA de Mesh no lo hace.

Para esta integración, a todas las cargas de trabajo en Anthos Service Mesh se les otorgan dos roles de IAM:

Políticas de control de acceso adaptadas a la identidad (firewall)

Con Anthos Service Mesh, puedes configurar políticas de seguridad de red basadas en la identidad de mTLS en lugar de en la dirección IP del par. Esto te permite crear políticas que sean independientes de la ubicación de red de la carga de trabajo. Por el momento, solo se admiten las comunicaciones entre clústeres en el mismo proyecto de Google Cloud.

Políticas de control de acceso adaptadas a los reclamos de solicitud (firewall)

Además de la identidad de mTLS, puedes otorgar acceso en función de los reclamos de solicitud en el encabezado JWT de las solicitudes HTTP o gRPC. Anthos Service Mesh te permite confirmar que un JWT está firmado por una entidad de confianza. Esto significa que puedes configurar las políticas que permiten el acceso desde ciertos clientes solo si existe un reclamo de solicitud o si este coincide con un valor especificado.

Autenticación de usuarios con Identity-Aware Proxy

Usa Identity-Aware Proxy (IAP) para autenticar a los usuarios que acceden a cualquier servicio que se expone en una puerta de enlace de entrada de Anthos Service Mesh. IAP puede autenticar a los usuarios que acceden desde un navegador, integrarse en proveedores de identidad personalizados y emitir un token JWT de corta duración o un RCToken que luego se pueda usar a fin de otorgar acceso en la puerta de enlace de Ingress o en un servicio descendente (con un sidecar). Para obtener más información, consulta Integra IAP en Anthos Service Mesh.

Autenticación de usuarios con tu proveedor de identidad existente

Puedes integrar tu proveedor de identidad existente a Anthos Service Mesh para proporcionar autenticación de usuarios finales basada en navegador y control de acceso a tus cargas de trabajo implementadas. Para obtener más información, consulta Configura la autenticación de usuarios de Anthos Service Mesh.

Registro y supervisión de acceso

Anthos Service Mesh garantiza que los registros de acceso y las métricas estén disponibles en la observabilidad de Google Cloud y proporciona un panel integrado para comprender los patrones de acceso de un servicio o una carga de trabajo en función de estos datos. También puedes configurar un destino privado. Anthos Service Mesh te permite reducir la información irrelevante en los registros de acceso, ya que solo se registran una vez los accesos completados de forma correcta en un período configurable. Las solicitudes que se rechazan por una política de seguridad o que generan un error siempre se registran. Esto te permite reducir de forma significativa los costos asociados con la transferencia, el almacenamiento y el procesamiento de registros, sin perder señales de seguridad clave.

Cumple con FIPS

Todos los componentes y proxies del plano de control del clúster en la arquitectura x86 usan módulos de encriptación validados con FIPS 140-2.

Limitaciones

En la actualidad, la seguridad de Anthos Service Mesh tiene la siguiente limitación:

  • La autenticación de usuarios que usa IAP requiere que un servicio se publique en Internet. IAP y Anthos Service Mesh te permiten configurar políticas que pueden restringir el acceso a usuarios y clientes autorizados en un rango de IP. Si eliges exponer el servicio solo a los clientes dentro de la misma red, debes configurar un motor de políticas personalizado para la autenticación de usuarios y la emisión de tokens.

¿Qué sigue?