Protege las implementaciones

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

Crea y aplica políticas de implementación

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

Estos son algunos ejemplos de criterios de implementación:

  • No hay vulnerabilidades conocidas con una gravedad superior a Grave
  • El código fuente proviene de un repositorio de fuente de confianza
  • Un servicio de compilación de confianza ejecutó la compilación
  • Los artefactos de compilación que implementas provienen de un repositorio de artefactos de confianza

Genera metadatos

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

Cómo compilar orígenes

La procedencia de la 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 la fuente de entrada, la cadena de herramientas de compilación y la duración de la compilación. SLSA, un framework para evaluar la postura de seguridad, proporciona un modelo de procedencia y requisitos para la procedencia. La procedencia es una categoría de requisito en el framework, y cada requisito está asociado con niveles de SLSA para que puedas implementar mitigaciones de forma incremental.

  • Para la garantía de nivel 1 de SLSA, la procedencia debe estar disponible.
  • Para la garantía de nivel 2 de la SLSA, se debe generar el origen, y los consumidores deben poder verificar su autenticidad e integridad.
  • Los niveles 3 y 4 de la SLSA tienen requisitos más estrictos para la firma de la procedencia y la profundidad de los detalles de los datos de procedencia.

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

Vulnerabilidades

El software de análisis de vulnerabilidades verifica tu código fuente y compila artefactos para detectar vulnerabilidades conocidas. Artifact Analysis puede escanear automáticamente las imágenes de contenedores enviadas a Artifact Registry en busca de vulnerabilidades. Para verificar si los artefactos tienen vulnerabilidades antes de almacenarlos, puedes usar la API de On-Demand Scanning 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 metadatos sobre tus artefactos implementables, necesitarás herramientas para aplicar tus políticas.

En Google Cloud, puedes configurar una política en Autorización binaria para tus implementaciones. La autorización binaria aplica la política para los intentos de implementación en plataformas compatibles basadas en contenedores. 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 GKE Enterprise.

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 confiables desde registros confiables. Tu política también puede requerir certificaciones, documentos digitales que indican que la imagen se compiló correctamente con un proceso obligatorio específico. Por ejemplo, una certificación puede indicar que una imagen tiene las siguientes características:

La validación continua extiende la validación de políticas al entorno posterior a la implementación. Cuando está habilitada, la Autorización Binaria proporciona validación durante todo el ciclo de vida del Pod, ya que registra con regularidad la conformidad con la política en Cloud Logging. Esto es útil en una variedad de situaciones. Por ejemplo, si cambias tu política después de implementar un contenedor, la validación continua registrará los Pods que infrinjan la política actualizada. También registra los incumplimientos de políticas de los Pods implementados con simulaciones o anulaciones de emergencia.

Usa servicios de implementación con control de acceso

El control de acceso Deployment te permite aprobar o rechazar implementaciones en puntos específicos del proceso de implementación con un servicio de CI/CD independiente o un servicio de CI/CD integrado en un sistema de automatización de procesos. Las implementaciones controladas impiden que los usuarios no autorizados realicen cambios en los entornos de la aplicación. Proporcionan supervisión adicional al proceso de implementación y mayor visibilidad de las aprobaciones.

En Google Cloud, Cloud Deploy ofrece un servicio completamente administrado para implementar cargas de trabajo en Google Kubernetes Engine. La función de implementación con control de acceso permite a los usuarios especificar si se necesita una aprobación para la 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.

Puede ser difícil verificar manualmente a gran escala las cargas de trabajo en los clústeres para detectar problemas de configuración. Google Cloud proporciona paneles en Cloud Run y GKE para ver estadísticas de seguridad de las cargas de trabajo.

El panel de postura de seguridad de GKE te brinda orientación para fortalecer la postura de seguridad de tus clústeres en función de las recomendaciones de Google. Incluye el análisis automático de la configuración de la carga de trabajo, que busca problemas de configuración conocidos en todas las cargas de trabajo. GKE verifica cada carga de trabajo implementada en función de las prácticas recomendadas relevantes de la industria, 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 problemas sobre mejores informes y observabilidad. Para obtener instrucciones sobre cómo ver estadísticas de seguridad en el panel de postura de seguridad de GKE, consulta Realiza implementaciones en GKE y consulta 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 la compilación de SLSA, la procedencia de la compilación y las vulnerabilidades que se encuentran en los servicios en ejecución. Si deseas obtener instrucciones para ver las estadísticas de seguridad en el panel de estadísticas de seguridad de Cloud Run, consulta Implementa en Cloud Run y consulta estadísticas de seguridad.

Google Cloud también proporciona otros servicios y funciones para mejorar tu posición de seguridad durante el ciclo de vida del desarrollo de software. Para obtener más información, consulta la descripción general de la cadena de suministro de software.

¿Qué sigue?