Descripción general de la seguridad de Cloud Service Mesh
La malla de servicios de Cloud con la seguridad de las APIs de Istio te ayuda a mitigar las amenazas internas y reducen el riesgo de violación de la seguridad de los datos, ya que garantizan que todas las comunicaciones entre cargas de trabajo se encriptan, se autentican mutuamente y se autorizan.
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 Cloud Service Mesh, puedes configurar una capa de servicios Seguridad de red adaptada al contexto y adaptada al contexto que es independiente de la seguridad de la red subyacente. Por este motivo, La malla de servicios de Cloud te permite adoptar una postura de defensa en profundidad que es de forma coherente con los principios de seguridad de confianza cero. Te permite lograr este con políticas declarativas y sin modificar ningún código de la aplicación.
TLS mutua
Cloud Service Mesh usa TLS mutuo (mTLS) para la autenticación entre 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í.
mTLS es el medio por el cual Cloud Service Mesh implementa autenticación y encriptación entre servicios.
En Cloud Service Mesh, la mTLS automática está habilitada de forma predeterminada. Con la mTLS automática, se puede el proxy de sidecar del cliente detecta automáticamente si el servidor tiene un sidecar. El el sidecar del cliente envía mTLS a las cargas de trabajo con sidecars y envía texto sin formato a 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 Cloud Service Mesh por ejemplo: mTLS.
Beneficios de seguridad
Cloud Service Mesh proporciona los siguientes beneficios de seguridad:
Se reduce el riesgo ataques de repetición o de robo de identidad con credenciales robadas. Cloud Service Mesh depende de los certificados de mTLS para autentican pares, en lugar de tokens del portador, como Tokens web JSON (JWT). Debido a que los certificados mTLS están vinculados al canal TLS, no es posible que una entidad dentro de tu entorno de producción se haga pasar por otra volver a reproducir el 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. Tú pueden usar políticas de acceso basadas en IP para otorgar acceso a los clientes implementados fuera de los clientes fuera de la malla.
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 disminuye el riesgo de que una sola credencial de cliente se vea comprometida le otorga al atacante acceso a todos los datos del usuario.
Se identifica qué clientes accedieron a un servicio con datos sensibles. El registro de acceso de la malla de servicios de Cloud captura la identidad de mTLS de la además de la dirección IP. Así, puedes comprender qué carga de trabajo accedió a un servicio incluso si la carga de trabajo es efímera y dinámica en un clúster o una red de nube privada virtual (VPC) diferente.
Funciones
En esta sección, se describen las funciones que proporciona Cloud Service Mesh a aprovechar 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 del uso de mTLS a gran escala es la administración de las claves y certificados para todas las cargas de trabajo de destino. Cloud Service Mesh se encarga de Rotar claves y certificados mTLS para cargas de trabajo en malla sin interrumpir las comunicaciones. Es posible configurar intervalos de actualización de certificados más pequeños y reducir el riesgo.
Autoridad certificadora de Cloud Service Mesh
Cloud Service Mesh incluye una red privada multirregional certificadora, autoridad certificadora de Cloud Service Mesh, para emitir certificados para mTLS. La autoridad certificadora de Cloud Service Mesh es un servicio altamente confiable y escalable que está optimizado para cargas de trabajo que se escalan de forma dinámica en una plataforma en la nube. Con autoridad certificadora de la malla de servicios de Cloud, Google administra la seguridad y disponibilidad del de la AC. La autoridad certificadora de Cloud Service Mesh te permite confiar en una única raíz de confianza entre los clústeres. Cuando usas la autoridad certificadora de Cloud Service Mesh, puedes confiar en las cargas de trabajo grupos de identidades para brindar 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.
Los certificados de la autoridad certificadora de Cloud Service Mesh 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 autoridad certificadora de Cloud Service Mesh, puedes configurar Cloud Service Mesh usa Certificate Authority Service, que es adecuado para los siguientes casos de uso:
- Si necesitas que distintas autoridades certificadoras firmen certificados de carga de trabajo en diferentes clústeres.
- 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 quieres encadenar la CA de Cloud Service Mesh a una certificado raíz de la empresa para firmar certificados de carga de trabajo.
El costo de la autoridad certificadora de la malla de servicios de Cloud se incluye en Precios de Cloud Service Mesh. El costo del servicio de AC no es se incluye en el precio base de Cloud Service Mesh y se cobra por separado. Además, CA Service incluye un ANS explícito, pero la autoridad certificadora de Cloud Service Mesh no.
Para esta integración, a todas las cargas de trabajo de Cloud Service Mesh se les otorgan dos Roles de IAM:
Políticas de control de acceso adaptadas a la identidad (firewall)
Con Cloud Service Mesh, puedes configurar políticas de seguridad de red que se basan en la identidad de mTLS en comparación con la dirección IP del intercambio de tráfico. Esto permite crearás políticas que son independientes de la ubicación de red de la carga de trabajo. 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. Cloud Service Mesh te permite declarar que un JWT está firmado por una entidad de confianza Esto significa que puedes configurar políticas que permitan el acceso desde ciertos clientes solo si una solicitud el reclamo existe o coincide con un valor especificado.
Autenticación de usuarios con Identity-Aware Proxy
Autenticas a los usuarios que acceden a cualquier servicio expuesto en un de entrada de Cloud Service Mesh con Identity-Aware Proxy (IAP). IAP puede autenticar usuarios que acceden desde un navegador, integrarlos en proveedores de identidad personalizados y emitir un token JWT de corta duración o un RCToken que se pueda usar para otorgar en la puerta de enlace de Ingress o en un servicio downstream (con un sidecar). Para obtener más información, consulta Integra IAP en Cloud Service Mesh.
Autenticación de usuarios con tu proveedor de identidad existente
Puedes integrar tu proveedor de identidad existente en Cloud Service Mesh para proporcionar autenticación de usuario final basada en el navegador y control de acceso a su las cargas de trabajo implementadas. Para obtener más información, consulta Configura la autenticación de usuario de Cloud Service Mesh.
Registro y supervisión de acceso
Cloud Service Mesh garantiza que los registros de acceso y las métricas estén disponibles en Google Cloud Observability, y proporciona un panel integrado para comprender los patrones de acceso a un servicio o carga de trabajo según estos datos.
Cumple con FIPS
El componente del plano de datos usa Encriptación validada por FIPS 140-2 módulos.
Limitaciones
La seguridad de Cloud Service Mesh tiene las siguientes limitaciones:
- La autenticación de usuarios que usa IAP requiere que un servicio se publique en Internet. IAP y Cloud Service Mesh te permiten configurar políticas que pueden restringir el acceso a los usuarios autorizados y clientes en un rango de IP permitido. Si decides exponer el Service solo a en 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?
- Prácticas recomendadas para la seguridad de Cloud Service Mesh
- Configura la seguridad del transporte
- Actualiza tus políticas de autorización