AWS CodeBuild controles - AWS Security Hub

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS CodeBuild controles

Estos controles están relacionados con los CodeBuild recursos.

Es posible que estos controles no estén disponibles en todos Regiones de AWS. Para obtener más información, consulte Disponibilidad de los controles por región.

[CodeBuild.1] Las URL del repositorio fuente de CodeBuild Bitbucket no deben contener credenciales confidenciales

importante

El 10 de enero de 2024, el título de este control cambió por el anterior. Para obtener más información, consulte Registro de cambios en los controles de Security Hub.

Requisitos relacionados: PCI DSS v3.2.1/8.2.1, NIST.800-53.r5 SA-3

Categoría: Proteger - Desarrollo seguro

Gravedad: crítica

Tipo de recurso: AWS::CodeBuild::Project

Regla de AWS Config : codebuild-project-source-repo-url-check

Tipo de horario: provocado por un cambio

Parámetros: ninguno

Este control comprueba si la URL del repositorio fuente de Bitbucket de un AWS CodeBuild proyecto contiene tokens de acceso personales o un nombre de usuario y una contraseña. El control falla si la URL del repositorio fuente de Bitbucket contiene tokens de acceso personales o un nombre de usuario y una contraseña.

nota

Este control evalúa tanto la fuente principal como las fuentes secundarias de un proyecto de CodeBuild compilación. Para obtener más información sobre las fuentes del proyecto, consulte el ejemplo de múltiples fuentes de entrada y artefactos de salida en la Guía del AWS CodeBuild usuario.

Las credenciales de inicio de sesión no deben almacenarse ni transmitirse en texto sin cifrar ni aparecer en la URL del repositorio de origen. En lugar de utilizar fichas de acceso personales o credenciales de inicio de sesión, debes acceder a tu proveedor de origen y cambiar la URL del repositorio de origen para que contenga solo la ruta a la ubicación del repositorio de Bitbucket. CodeBuild El uso de tokens de acceso personales o credenciales de inicio de sesión podría provocar la exposición involuntaria de los datos o el acceso no autorizado.

Corrección

Puedes actualizar tu CodeBuild proyecto para usar OAuth.

Para eliminar el token de autenticación básica/(GitHub) de acceso personal de la fuente del proyecto CodeBuild
  1. Abra la CodeBuild consola en https://console.aws.amazon.com/codebuild/.

  2. Elija el proyecto de compilación que contiene tokens de acceso personales o un nombre de usuario y una contraseña.

  3. En Edit (Editar), elija Source (Origen).

  4. Selecciona Desconectar de GitHub /Bitbucket.

  5. Elige Conectar mediante OAuth y, a continuación, selecciona Conectar a GitHub /Bitbucket.

  6. Cuando se le solicite, elija authorize as appropriate (autorizar según corresponda).

  7. Vuelva a configurar la URL de repositorio y los ajustes de la configuración adicional, según sea necesario.

  8. Elija Update source (Actualizar origen).

Para obtener más información, consulta los ejemplos basados en casos de CodeBuild uso en la Guía del usuario.AWS CodeBuild

[CodeBuild.2] Las variables de entorno CodeBuild del proyecto no deben contener credenciales de texto claro

Requisitos relacionados: PCI DSS v3.2.1/8.2.1, NIST.800-53.r5 IA-5(7), NIST.800-53.r5 SA-3

Categoría: Proteger - Desarrollo seguro

Gravedad: crítica

Tipo de recurso: AWS::CodeBuild::Project

Regla de AWS Config : codebuild-project-envvar-awscred-check

Tipo de horario: provocado por un cambio

Parámetros: ninguno

Este control comprueba si el proyecto contiene las variables de entorno AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY.

Las credenciales de autenticación AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY no deben almacenarse nunca en texto sin cifrar, ya que esto podría conducir a una exposición no intencionada de los datos y a un acceso no autorizado.

Corrección

Para eliminar las variables de entorno de un CodeBuild proyecto, consulte Cambiar la configuración de un proyecto de compilación AWS CodeBuild en la Guía del AWS CodeBuild usuario. Asegúrese de que no haya nada seleccionado para las Variables de entorno.

Puede almacenar variables de entorno con valores sensibles en el almacén de AWS Systems Manager parámetros o AWS Secrets Manager , a continuación, recuperarlas de las especificaciones de compilación. Para obtener instrucciones, consulte el cuadro denominado Importante en la sección Medio ambiente de la Guía del usuario de AWS CodeBuild .

[CodeBuild.3] Los registros de CodeBuild S3 deben estar cifrados

Requisitos relacionados: NIST.800-53.r5 CA-9(1), NIST.800-53.r5 CM-3(6), NIST.800-53.r5 SC-13, NIST.800-53.r5 SC-28, NIST.800-53.r5 SC-28(1), NIST.800-53.r5 SI-7(6)

Categoría: Proteger > Protección de datos > Cifrado de data-at-rest

Gravedad: baja

Tipo de recurso: AWS::CodeBuild::Project

Regla de AWS Config : codebuild-project-s3-logs-encrypted

Tipo de horario: provocado por un cambio

Parámetros: ninguno

Este control comprueba si los registros de Amazon S3 de un AWS CodeBuild proyecto están cifrados. El control falla si se desactiva el cifrado de los registros de S3 de un CodeBuild proyecto.

El cifrado de los datos en reposo es una práctica recomendada para añadir una capa de gestión del acceso a los datos. El cifrado de los registros inactivos reduce el riesgo de que un usuario no autenticado acceda AWS a los datos almacenados en el disco. Añade otro conjunto de controles de acceso para limitar la capacidad de los usuarios no autorizados de acceder a los datos.

Corrección

Para cambiar la configuración de cifrado de los registros CodeBuild del proyecto S3, consulte Cambiar la configuración de un proyecto de compilación AWS CodeBuild en la Guía del AWS CodeBuild usuario.

[CodeBuild.4] Los entornos de los CodeBuild proyectos deben tener una duración de registro AWS Config

Requisitos relacionados: NIST.800-53.r5 AC-2(12), NIST.800-53.r5 AC-2(4), NIST.800-53.r5 AC-4(26), NIST.800-53.r5 AC-6(9), NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 AU-9(7), NIST.800-53.r5 CA-7, NIST.800-53.r5 SC-7(9), NIST.800-53.r5 SI-3(8), NIST.800-53.r5 SI-4, NIST.800-53.r5 SI-4(20), NIST.800-53.r5 SI-7(8)

Categoría: Identificar - Registro

Gravedad: media

Tipo de recurso: AWS::CodeBuild::Project

Regla de AWS Config : codebuild-project-logging-enabled

Tipo de horario: provocado por un cambio

Parámetros: ninguno

Este control comprueba si el entorno de un CodeBuild proyecto tiene al menos una opción de registro, ya sea para S3 o para los CloudWatch registros habilitados. Este control falla si un entorno de CodeBuild proyecto no tiene habilitada al menos una opción de registro.

Desde una perspectiva de seguridad, el registro es una característica importante para permitir futuros esfuerzos forenses en caso de cualquier incidente de seguridad. La correlación de las anomalías en los CodeBuild proyectos con las detecciones de amenazas puede aumentar la confianza en la precisión de esas detecciones de amenazas.

Corrección

Para obtener más información sobre cómo configurar los ajustes CodeBuild del registro del proyecto, consulte Crear un proyecto de compilación (consola) en la Guía del usuario. CodeBuild

[CodeBuild.5] Los entornos de CodeBuild proyectos no deberían tener habilitado el modo privilegiado

importante

Security Hub eliminará este control en marzo de 2024. Para obtener más información, consulte Registro de cambios en los controles de Security Hub.

Requisitos relacionados: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6, NIST.800-53.r5 AC-6(10), NIST.800-53.r5 AC-6(2)

Categoría: Proteger > Administración de acceso seguro

Gravedad: alta

Tipo de recurso: AWS::CodeBuild::Project

Regla de AWS Config : codebuild-project-environment-privileged-check

Tipo de horario: provocado por un cambio

Parámetros: ninguno

Este control comprueba si el entorno de un AWS CodeBuild proyecto tiene el modo privilegiado activado o desactivado. El control falla si el entorno de un CodeBuild proyecto tiene habilitado el modo privilegiado.

De forma predeterminada, los contenedores Docker no permiten el acceso a ningún dispositivo. El modo privilegiado otorga acceso al contenedor Docker de un proyecto de compilación a todos los dispositivos. La configuración privilegedMode con un valor true permite que el daemon de Docker se ejecute dentro de un contenedor de Docker. El daemon de Docker escucha las solicitudes de la API de Docker y administra los objetos de Docker, como imágenes, contenedores, redes y volúmenes. Este parámetro solo debe establecerse en true si el proyecto de compilación se utiliza para compilar imágenes de Docker. De lo contrario, esta configuración debe estar deshabilitada para evitar el acceso no deseado a las API de Docker y al hardware subyacente del contenedor. Esta configuración de privilegedMode como false a proteger los recursos críticos contra la manipulación y la eliminación.

Corrección

Para configurar los ajustes CodeBuild del entorno del proyecto, consulte Crear un proyecto de compilación (consola) en la Guía del CodeBuild usuario. En la sección Entorno, no seleccione la configuración Privilegiada.