Implementa la seguridad temprana

Last reviewed 2025-02-05 UTC

Este principio del pilar de seguridad del Google Cloud framework de arquitectura bien definida te ayuda a identificar controles prácticos que puedes implementar al principio del ciclo de vida de desarrollo de software para mejorar tu postura de seguridad. Proporciona recomendaciones que te ayudan a implementar controles de seguridad preventivos y controles de seguridad posteriores a la implementación.

Descripción general de los principios

La seguridad de detección temprana de errores significa adoptar prácticas de seguridad al principio del ciclo de vida del desarrollo de software. Este principio tiene los siguientes objetivos:

  • Evita los defectos de seguridad antes de realizar cambios en el sistema. Implementa barreras de seguridad preventivas y adopta prácticas como la infraestructura como código (IaC), la política como código y las verificaciones de seguridad en la canalización de CI/CD. También puedes usar otras funciones específicas de la plataforma, como el Servicio de políticas de la organización y los clústeres de GKE endurecidos en Google Cloud.
  • Detecta y corrige errores de seguridad de forma anticipada, rápida y confiable después de confirmar los cambios del sistema. Adopta prácticas como revisiones de código, análisis de vulnerabilidades después de la implementación y pruebas de seguridad.

Los principios de seguridad de Implementar la seguridad de forma inherente y de detección temprana están relacionados, pero difieren en el alcance. El principio de seguridad por diseño te ayuda a evitar fallas de diseño fundamentales que requerirían la reestructuración de todo el sistema. Por ejemplo, un ejercicio de modelado de amenazas revela que el diseño actual no incluye una política de autorización y que todos los usuarios tendrían el mismo nivel de acceso sin ella. La seguridad de desplazamiento hacia la izquierda te ayuda a evitar defectos de implementación (errores y parámetros de configuración incorrectos) antes de que se apliquen los cambios y permite realizar correcciones rápidas y confiables después de la implementación.

Recomendaciones

Para implementar el principio de seguridad de desplazamiento hacia la izquierda en tus cargas de trabajo en la nube, ten en cuenta las recomendaciones de las siguientes secciones:

Adopta controles de seguridad preventivos

Esta recomendación es relevante para las siguientes áreas de enfoque:

  • Administración de identidades y accesos
  • Administración, riesgo y cumplimiento de la nube

Los controles de seguridad preventivos son fundamentales para mantener una postura de seguridad sólida en la nube. Estos controles te ayudan a mitigar los riesgos de forma proactiva. Puedes evitar configuraciones incorrectas y acceso no autorizado a los recursos, permitir que los desarrolladores trabajen de manera eficiente y ayudar a garantizar el cumplimiento de los estándares de la industria y las políticas internas.

Los controles de seguridad preventivos son más eficaces cuando se implementan con la infraestructura como código (IaC). Con la IaC, los controles de seguridad preventivos pueden incluir verificaciones más personalizadas en el código de la infraestructura antes de que se implementen los cambios. Cuando se combinan con la automatización, los controles de seguridad preventivos pueden ejecutarse como parte de las verificaciones automáticas de tu canalización de CI/CD.

Los siguientes productos y Google Cloud funciones pueden ayudarte a implementar controles preventivos en tu entorno:

IAM te permite autorizar quién puede actuar sobre recursos específicos en función de los permisos. Para obtener más información, consulta Control de acceso a los recursos de la organización con IAM.

El Servicio de políticas de la organización te permite establecer restricciones en los recursos para especificar cómo se pueden configurar. Por ejemplo, puedes usar una política de la organización para hacer lo siguiente:

Además de usar políticas de la organización, puedes restringir el acceso a los recursos con los siguientes métodos:

  • Etiquetas con IAM: Asigna una etiqueta a un conjunto de recursos y, luego, configura la definición de acceso para la etiqueta, en lugar de definir los permisos de acceso en cada recurso.
  • Condiciones de IAM: Definen el control de acceso condicional basado en atributos para los recursos.
  • Defensa en profundidad: Usa los Controles del servicio de VPC para restringir aún más el acceso a los recursos.

Para obtener más información sobre la administración de recursos, consulta Elige una jerarquía de recursos para tu Google Cloud zona de destino.

Automatiza el aprovisionamiento y la administración de los recursos de la nube

Esta recomendación es relevante para las siguientes áreas de enfoque:

  • Seguridad para aplicaciones
  • Administración, riesgo y cumplimiento de la nube

Automatizar el aprovisionamiento y la administración de recursos y cargas de trabajo de la nube es más efectivo cuando también adoptas la IaC declarativa, en lugar de las secuencias de comandos imperativas. La IaC no es una herramienta ni una práctica de seguridad por sí sola, pero te ayuda a mejorar la seguridad de tu plataforma. Adoptar la IaC te permite crear una infraestructura repetible y le proporciona a tu equipo de operaciones un estado conocido. La IaC también mejora la eficiencia de las reversiones, los cambios de auditoría y la solución de problemas.

Cuando se combina con canalizaciones y automatización de CI/CD, la IaC también te brinda la posibilidad de adoptar prácticas como políticas como código con herramientas como OPA. Puedes auditoría los cambios de infraestructura a lo largo del tiempo y ejecutar verificaciones automáticas en el código de la infraestructura antes de que se implementen los cambios.

Para automatizar la implementación de la infraestructura, puedes usar herramientas como Config Controller, Terraform, Jenkins y Cloud Build. Para ayudarte a compilar un entorno de aplicación seguro con la IaC y la automatización,Google Cloud proporciona el plano de bases empresariales. Este modelo es el diseño definido de Google que sigue todas nuestras configuraciones y prácticas recomendadas. El modelo proporciona instrucciones paso a paso para configurar e implementar tu topología de Google Cloud con Terraform y Cloud Build.

Puedes modificar las secuencias de comandos del plano de base de la empresa para configurar un entorno que siga las recomendaciones de Google y cumpla con tus propios requisitos de seguridad. Puedes desarrollar el plan con planos adicionales o diseñar tu propia automatización. ElGoogle Cloud Architecture Center proporciona otros modelos que se pueden implementar sobre el modelo de bases empresariales. Los siguientes son algunos ejemplos de estos esquemas:

Automatiza las versiones de aplicaciones seguras

Esta recomendación es relevante para el siguiente área de enfoque: seguridad de la aplicación.

Sin herramientas automatizadas, puede ser difícil implementar, actualizar y aplicar parches a entornos de aplicaciones complejos para cumplir con los requisitos de seguridad coherentes. Te recomendamos que compiles canalizaciones de CI/CD automatizadas para tu ciclo de vida de desarrollo de software (SDLC). Las canalizaciones de CI/CD automatizadas te ayudan a quitar errores manuales, proporcionar ciclos de reacción de desarrollo estandarizados y habilitar iteraciones de productos eficientes. La entrega continua es una de las prácticas recomendadas que recomienda el framework de DORA.

Automatizar los lanzamientos de aplicaciones con canalizaciones de CI/CD ayuda a mejorar tu posibilidad de detectar y corregir errores de seguridad de forma anticipada, rápida y confiable. Por ejemplo, puedes analizar vulnerabilidades de seguridad automáticamente cuando se crean artefactos, limitar el alcance de las revisiones de seguridad y revertir a una versión conocida y segura. También puedes definir políticas para diferentes entornos (como entornos de desarrollo, prueba o producción) de modo que solo se implementen los artefactos verificados.

Para ayudarte a automatizar los lanzamientos de aplicaciones y a incorporar verificaciones de seguridad en tu canalización de CI/CD, Google Cloud proporciona varias herramientas, comoCloud Build,Cloud Deploy,Web Security Scanner yBinary Authorization.

Para establecer un proceso que verifique varios requisitos de seguridad en tu SDLC, usa el marco de trabajo de Niveles de cadena de suministro para artefactos de software (SLSA) que definió Google. La SLSA requiere verificaciones de seguridad para el código fuente, el proceso de compilación y el origen del código. Muchos de estos requisitos se pueden incluir en una canalización de CI/CD automatizada. Para comprender cómo Google aplica estas prácticas de forma interna, consulta el enfoque deGoogle Cloudpara el cambio.

Asegúrese de que las implementaciones de la aplicación sigan los procesos aprobados

Esta recomendación es relevante para el siguiente área de enfoque: seguridad de la aplicación.

Si un atacante pone en riesgo tu canalización de CI/CD, toda la pila de aplicaciones puede verse afectada. Para ayudar a proteger la canalización, debes aplicar un proceso de aprobación establecido antes de implementar el código en producción.

Si usas Google Kubernetes Engine (GKE), GKE Enterprise o Cloud Run, puedes establecer un proceso de aprobación mediante la autorización binaria. La autorización binaria adjunta firmas configurables a las imágenes del contenedor. Estas firmas (también llamadas certificaciones) ayudan a validar la imagen. En el momento de la implementación, la autorización binaria usa estas certificaciones para determinar si se completó un proceso. Por ejemplo, puedes usar la autorización binaria para realizar las siguientes acciones:

  • Verificar que un sistema de compilación específico o una canalización de CI hayan creado una imagen de contenedor.
  • Validar que una imagen de contenedor cumpla con la política de firma de vulnerabilidades.
  • Verificar que una imagen de contenedor pase los criterios para ascender al siguiente entorno de implementación, por ejemplo, desde el desarrollo hasta el control de calidad

Con la Autorización binaria, puedes aplicar la política de que solo se ejecute código de confianza en tus plataformas de destino.

Escanea en busca de vulnerabilidades conocidas antes de la implementación de la aplicación

Esta recomendación es relevante para el siguiente área de enfoque: seguridad de la aplicación.

Te recomendamos que uses herramientas automatizadas que puedan realizar análisis de vulnerabilidades de forma continua en artefactos de la aplicación antes de que se implementen en la producción.

En el caso de las aplicaciones en contenedores, usa Artifact Analysis para ejecutar análisis de vulnerabilidades de imágenes de contenedores de forma automática. Artifact Analysis analiza las imágenes nuevas cuando se suben a Artifact Registry. El análisis extrae información sobre los paquetes del sistema en el contenedor. Después del análisis inicial, Artifact Analysis supervisa continuamente los metadatos de las imágenes analizadas en Artifact Registry para detectar vulnerabilidades nuevas. Cuando Artifact Analysis recibe información nueva y actualizada sobre vulnerabilidades de la fuente de vulnerabilidades, hace lo siguiente:

  • Actualiza los metadatos de las imágenes analizadas para mantenerlas actualizadas.
  • Crea casos de vulnerabilidades nuevos para las notas nuevas.
  • Borra los casos de vulnerabilidades que ya no son válidos.

Supervise el código de la aplicación en busca de vulnerabilidades conocidas

Esta recomendación es relevante para el siguiente área de enfoque: seguridad de la aplicación.

Usa herramientas automatizadas para supervisar constantemente el código de la aplicación en busca de vulnerabilidades conocidas, como OWASP Top 10. Para obtener más información sobre los Google Cloud productos y las funciones que admiten las técnicas de mitigación de las 10 principales amenazas de OWASP, consultalas 10 opciones de mitigación de OWASP en Google Cloud.

Usa Web Security Scanner para identificar las vulnerabilidades de seguridad en las aplicaciones web de App Engine, Compute Engine y GKE. El scanner rastrea tu aplicación, sigue todos los vínculos dentro del alcance de las URLs de inicio y trata de ejecutar la mayor cantidad posible de controladores de eventos y entradas del usuario. Puede analizar y detectar automáticamente las vulnerabilidades comunes, entre las que se incluyen secuencias de comandos entre sitios, inyección de código, contenido mixto y bibliotecas desactualizadas o inseguras. Web Security Scanner proporciona una identificación temprana de estos tipos de vulnerabilidades sin distraerte con falsos positivos.

Además, si usas GKE Enterprise para administrar flotas de clústeres de Kubernetes, el panel de postura de seguridad muestra recomendaciones prácticas y bien definidas para ayudarte a mejorar la postura de seguridad de tu flota.