Implementaciones de protección

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En este documento, se describen las prácticas recomendadas para proteger tus implementaciones.

Crea y aplica políticas de implementación

Para proteger los entornos de ejecución, define políticas con criterios de implementación y valida el cumplimiento antes y después de la implementación. Definir una política que solo permita el código firmado por certificadores predefinidos ayuda a implementar implementaciones y a implementar solo código de orígenes confiables.

Estos son algunos ejemplos de criterios de implementación:

  • No hay vulnerabilidades conocidas con una gravedad por encima de la mediana
  • El código fuente proviene de un repositorio de código fuente confiable
  • Un servicio de compilación confiable ejecutó la compilación
  • Los artefactos de compilación que estás implementando provienen de un repositorio de artefactos de confianza

Genera metadatos

Para validar estos requisitos, debes proporcionar metadatos sobre los artefactos de compilación.

Orígenes de compilación

Origen de compilación es una colección de datos verificables sobre una compilación, como los resúmenes de las imágenes compiladas, las ubicaciones de origen de entrada, la cadena de herramientas de compilación y la duración de la compilación. SLSA, un marco de trabajo para evaluar la postura de seguridad, proporciona un modelo de procedencia y requisitos de procedencia. La procedencia es una categoría de requisitos en el framework, y cada requisito está asociado con los niveles de SLSA para que puedas implementar mitigaciones de forma incremental.

  • Para la seguridad de SLSA nivel 1, la procedencia debe estar disponible.
  • Para la seguridad de SLSA nivel 2, se debe generar la procedencia y los consumidores deben poder verificar su autenticidad y su integridad.
  • Los niveles 3 y 4 de la SLSA tienen requisitos más estrictos para la firma de las fuentes y los detalles de sus datos.

Algunos servicios de compilación generan metadatos de origen de compilación.

Vulnerabilidades

El software de análisis de vulnerabilidades verifica tu código fuente y compila artefactos para detectar vulnerabilidades conocidas. Container Analysis puede analizar automáticamente imágenes de contenedor enviadas a Artifact Registry para detectar vulnerabilidades. Para verificar los artefactos en busca de vulnerabilidades antes de almacenarlos, puedes usar la API de análisis a pedido en un entorno de desarrollo local o en una canalización de CI/CD, como un paso de compilación de Cloud Build.

Configura la aplicación de políticas

Una vez que tengas los metadatos sobre los artefactos implementables, necesitarás herramientas para aplicar las políticas.

En Google Cloud, puedes configurar una política en la autorización binaria para tus implementaciones. La autorización binaria aplica la política para los intentos de implementación en las plataformas basadas en contenedores compatibles. También puede realizar una validación continua de la política para las cargas de trabajo que se ejecutan en GKE, Cloud Run y Anthos.

Las verificaciones previas a la implementación pueden bloquear todas las imágenes que no estén en la lista de imágenes exentas, de modo que solo se implementen imágenes de confianza de registros de confianza. Tu política también puede requerir certificaciones, documentos digitales que indiquen que la imagen se compiló correctamente con un proceso específico y obligatorio. Por ejemplo, un certificado puede indicar que una imagen tiene las siguientes características:

La validación continua extiende la validación de la política al entorno posterior a la implementación. Cuando se habilita, la autorización binaria proporciona validación durante el ciclo de vida del pod mediante el registro regular de la cumplimiento de la política en Cloud Logging. Esto es útil en diversas situaciones. Por ejemplo, si cambias tu política después de implementar un contenedor, la validación continua registra los pods que infringen la política actualizada. También registra los incumplimientos de políticas para pods implementados con ejecuciones de prueba o de emergencia.

Usar servicios de implementación cerrada

El control de implementación te permite aprobar o rechazar implementaciones en puntos específicos del proceso de implementación mediante un servicio de CI/CD independiente o un servicio de CI/CD integrado en un sistema de automatización de procesos. Las implementaciones cerradas evitan que los usuarios no autorizados hagan cambios en los entornos de aplicaciones. Proporcionan supervisión adicional del proceso de implementación y una mayor visibilidad de las aprobaciones.

En Google Cloud, Google Cloud Deploy ofrece un servicio completamente administrado para implementar cargas de trabajo en Google Kubernetes Engine. La función de implementación cerrada permite a los usuarios especificar si se necesita una aprobación para una promoción a un destino.

Supervisa tus cargas de trabajo

Las cargas de trabajo son aplicaciones que se ejecutan en plataformas basadas en contenedores, como GKE y Cloud Run. Lo ideal es que las cargas de trabajo que implementes tengan una configuración endurecida que limite su superficie de ataque.

Verificar las cargas de trabajo en los clústeres para detectar problemas de configuración puede ser difícil de hacer de forma manual a gran escala. Software Delivery Shield es una solución de seguridad de cadena de suministro de software completamente administrada en Google Cloud que proporciona paneles en la IU de Cloud Run y GKE en Google Cloud Console para ver las estadísticas de seguridad de las cargas de trabajo.

El panel de postura de seguridad de GKE te proporciona orientación para mejorar la posición de seguridad de tus clústeres según las recomendaciones de Google. Incluye el análisis de la configuración de la carga de trabajo, que busca problemas de configuración conocidos en todas las cargas de trabajo. GKE compara cada carga de trabajo implementada con las prácticas recomendadas de la industria relevantes, como las políticas de los estándares de seguridad de pods. GKE califica la gravedad de los problemas descubiertos y muestra recomendaciones prácticas y registros. Puedes usar Cloud Logging para obtener un registro auditable de las inquietudes a fin de mejorar la observabilidad y los informes. Para obtener instrucciones sobre cómo ver las estadísticas de seguridad en el panel de posición de seguridad de GKE, consulta Implementa en GKE y visualiza las estadísticas de seguridad.

Cloud Run contiene un panel de seguridad que muestra estadísticas de seguridad de la cadena de suministro de software, como la información de cumplimiento a nivel de compilación de SLSA, la procedencia de la compilación y las vulnerabilidades que se encuentran en los servicios en ejecución. Para obtener instrucciones sobre cómo ver las estadísticas de seguridad en el panel de estadísticas de seguridad de Cloud Run, consulta Implementa en Cloud Run y consulta las estadísticas de seguridad.

Software Delivery Shield también proporciona otros servicios y funciones para mejorar tu posición de seguridad en todo el ciclo de vida del desarrollo de software. Para obtener más información, consulta Descripción general de Software Delivery Shield.

¿Qué sigue?