Integración de GitHub Advanced Security con Microsoft Defender para la nube – Proyecto de espacio aislado

En esta guía se proporcionan pasos de configuración para un proyecto de sandbox que le ayuda a evaluar la integración de GitHub Advanced Security (GHAS) y Microsoft Defender para la nube de extremo a extremo, con un caso de uso sencillo.

Esta integración ayuda a maximizar la seguridad de las aplicaciones nativas de la nube de Microsoft al correlacionar los riesgos y el contexto en tiempo de ejecución con el código originado para una corrección más rápida con tecnología de inteligencia artificial.

Siguiendo esta guía, podrá:

  • Configure el repositorio de GitHub para la cobertura de Defender for Cloud.
  • Cree un factor de riesgo en tiempo de ejecución.
  • Vincule el código a los recursos en tiempo de ejecución.
  • Pruebe casos de uso reales en Defender for Cloud.

Prerequisites

Aspecto Detalles
Requisitos del entorno - Cuenta de GitHub con un conector creado en Defender for Cloud
- Licencia de GHAS
- Defender Cloud Security Posture Management (DCSPM) habilitado en la suscripción
- Microsoft Security Copilot (opcional para la corrección automatizada)
Roles y permisos - Permisos de administrador de seguridad
- Administrador de seguridad en la suscripción de Azure (para ver los resultados en Defender for Cloud)
- Propietario de la organización de GitHub
Entornos en la nube Disponible solo en nubes comerciales (no en Azure Government, Azure operados por 21Vianet u otras nubes soberanas).

Preparación del entorno

Paso 1: Configuración del repositorio de GitHub y ejecución del flujo de trabajo

Para probar la integración, use el repositorio de ejemplo de GitHub para Sandbox que ya tiene todos los contenidos necesarios para construir una imagen de contenedor vulnerable.

Antes de configurar un repositorio, asegúrese de que:

  1. Clona el siguiente repositorio a tu organización de GitHub.
  1. En el repositorio, siga estos pasos:

    1. Vaya a Configuración.
    2. En el panel izquierdo, seleccione Secretos y acciones de variables>. A continuación, seleccione Nuevo secreto de repositorio.
    3. Agregue los siguientes secretos en el nivel de repositorio o organización:
Variable Descripción
ACR_ENDPOINT Servidor de autenticación del registro de contenedor.
ACR_USERNAME Nombre de usuario del registro de contenedor.
ACR_PASSWORD La contraseña del registro de contenedor.

Note

Puede elegir cualquier nombre para estas variables. No necesitan seguir un patrón específico.

Puede encontrar esta información en Azure Portal siguiendo estos pasos:

  1. Seleccione el registro de contenedor en el que desea realizar la implementación.
  2. En Configuración, seleccione Claves de acceso.
  3. En el panel Claves de acceso se muestran las claves del servidor de autenticación, el nombre de usuario y la contraseña.

En tu repositorio, selecciona Acciones, selecciona el flujo de trabajo Compilar y Enviar a ACR y, a continuación, selecciona Ejecutar flujo de trabajo.

Compruebe que la imagen se implementó en el registro de contenedores. Para el repositorio de ejemplo, la imagen debe estar en un registro denominado mdc-mock-0001 con la etiqueta mdc-ghas-integration.

Despliegue la misma imagen como un contenedor en funcionamiento en su clúster. Una manera de completar este paso es conectarse al clúster y usar el kubectl run comando . Este es un ejemplo de Azure Kubernetes Service (AKS):

Establezca la suscripción del clúster:

az account set --subscription $subscriptionID

Establezca las credenciales del clúster:

az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existing

Implemente la imagen:

kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration

Paso 2: Creación del factor de riesgo de ejemplo (regla crítica para la empresa)

Uno de los factores de riesgo que Defender for Cloud detecta para esta integración es la importancia empresarial. Las organizaciones pueden crear reglas para etiquetar los recursos como críticos para la empresa.

  1. En el portal de Defender for Cloud, vaya a Configuración del> entornoImportancia de los recursos.
  2. En el panel derecho, seleccione el vínculo para abrir Microsoft Defender.
  3. Seleccione Crear una nueva clasificación.
  4. Especifique un nombre y una descripción.
  5. En el generador de consultas, seleccione Recurso en la nube. Escriba una consulta para establecer Nombre de recurso igual al nombre del contenedor que implementó en el clúster para su validación. Luego, selecciona Siguiente.
  6. En la página Recursos de vista previa , si Microsoft Defender ya detectó el recurso, el nombre del contenedor aparece con un tipo de recurso de K8s-container o K8s-pod. Incluso si el nombre aún no está visible, continúe con el paso siguiente.
  7. Elija un nivel de importancia crítica y, a continuación, revise y envíe la regla de clasificación.

Note

Microsoft Defender aplica la etiqueta de importancia crítica al contenedor después de detectar el contenedor. Este proceso puede tardar hasta 24 horas.

Paso 3: Validar que el entorno está listo

La validación confirma que el entorno está configurado correctamente para exponer el código en las recomendaciones en tiempo de ejecución y generar resultados accionables.

Durante este paso, Defender comprueba el código completo para la visibilidad en tiempo de ejecución.

  • Microsoft Defender para la nube supervisa continuamente los repositorios de código fuente para detectar vulnerabilidades de seguridad.
  • Los artefactos de compilación, como las imágenes de contenedor, se escanean en registros de contenedores antes de la implementación.
  • Las cargas de trabajo en tiempo de ejecución implementadas en clústeres de Kubernetes se supervisan para detectar riesgos de seguridad.
  • Defender for Cloud correlaciona y realiza un seguimiento de cada artefacto desde el código, a través de la compilación y la implementación, al entorno de ejecución y de vuelta.

Note

Después de aplicar los pasos anteriores, pueden pasar hasta 24 horas para ver los siguientes resultados.

Compruebe que el escaneo sin agente de GitHub detecta el repositorio.

Vaya a Cloud Security Explorer y realice la consulta. Las consultas de validación comprueban si Defender pueden identificar artefactos generados por las canalizaciones y las cargas de trabajo. Si las consultas devuelven resultados, indica que el examen y la correlación funcionan según lo previsto.

Note

Si no se devuelve ningún resultado, podría indicar que aún no se generan artefactos, que el escaneo no está configurado o que faltan permisos.

  • Valide que Defender for Cloud (en Azure Container Registry) examine la imagen de contenedor y la use para crear un contenedor.
  • En tu consulta, añade las condiciones para tu implementación específica.
  • Compruebe que el contenedor se está ejecutando y que Defender for Cloud ha examinado el clúster de AKS.
  • Compruebe que los factores de riesgo están configurados correctamente en el lado de Defender for Cloud. Busque el nombre del contenedor en la página de inventario de Defender for Cloud y debería verlo marcado como crítico.

Note

Este paso solo es necesario si los factores de riesgo aún no están configurados en el entorno.

La validación correcta garantiza que los pasos posteriores, como recomendaciones, campañas y GitHub generación de problemas, generen resultados significativos.

Pasos siguientes