Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Seguridad en GitHub para devops

Seguridad en GitHub para devops

Charla realizada para el GitHub community day

Avatar for Bianca Torres

Bianca Torres

June 06, 2026

More Decks by Bianca Torres

Other Decks in Technology

Transcript

  1. Soy Bianca Torres DevOps Engineer @ Paramo Technologies AWS User

    Group Leader - Chaclacayo AWS Community Builder (Containers) Organizadora KCD Lima 2026 Voluntaria en WIT Perú, AWS Girls
  2. ¿ALGUNA VEZ TE HA PASADO? Hardcodeado un API key en

    el código Pusheado un .env a GitHub por accidente Compartido credenciales por Slack Usado el mismo token para dev y producción
  3. ¿POR QUÉ IMPORTA? Consecuencias: Bills de AWS de miles de

    dólares (crypto mining) Acceso no autorizado a bases de datos Data breaches Daño reputacional Fuente: https://www.gitguardian.com/state-of-secrets-sprawl-report-2026
  4. LAS 5 CAPAS DE PROTECCIÓN 1.GitHub Secrets 2.OIDC con AWS

    3.Secret Protection 4.Push Protection 5.Dependabot
  5. CAPA 1: GITHUB SECRETS Variables encriptadas. Sólo GitHub Actions puede

    leer. Nunca se muestran en logs (se reemplazan con ***). 3 niveles: Repository, Environment, Organization. Github Secrets
  6. CAPA 2: OIDC CON AWS “Soy el repositorio X, branch

    main.” “Te conozco, toma credenciales temporales (1 hora).” GITHUB ACTIONS Deploya con esas credenciales. Credenciales expiran automáticamente. GITHUB ACTIONS Es un protocolo de autenticación que permite que dos servicios se reconozcan sin compartir credenciales Relación de confianza
  7. CÓMO CONFIGURAR OIDC Paso 1: Crear OIDC Provider en IAM.

    Provider URL: token.actions.githubusercontent.com
  8. CÓMO CONFIGURAR OIDC Paso 2: Crear IAM Role con trust

    policy. Solo permite tu repo específico
  9. CÓMO CONFIGURAR OIDC Paso 3: Usar en el workflow. role-to-assume:

    arn:aws:iam::xxx:role/github-actions-deploy
  10. CAPA 3: SECRET PROTECTION GitHub escanea cada push buscando patrones

    de tokens conocidos. Detecta 200+ tipos de tokens de 100+ proveedores. AWS keys, GitHub tokens, Slack webhooks, API keys de Stripe, etc. Alerta inmediata si detecta algo.
  11. CAPA 4: PUSH PROTECTION Bloquea el push ANTES de que

    el secret llegue al repo. El secret nunca se expone públicamente.
  12. CAPA 5: DEPENDABOT Escanea dependencias buscando vulnerabilidades conocidas. Crea PRs

    automáticos con la actualización. Configurable con dependabot.yml. También actualiza GitHub Actions. Dependabot
  13. Github Secret (SECRET_MESSAGE) DEMO GitHub Actions (OIDC) Build Docker image

    - Push a ECR Update Task Definition (inyecta el secret) Deploy a ECS Fargate App muestra el secret en /secret
  14. RESUMEN: LAS 5 CAPAS 1.GitHub Secrets: Guardar credenciales encriptadas, nunca

    en el código. 2.OIDC con AWS: Deploy sin access keys permanentes. 3.Secret Protection: Detectar leaks automáticamente. 4.Push Protection: Bloquear antes de que lleguen al repo. 5.Dependabot: Vulnerabilidades en dependencias.
  15. LO QUE PUEDES HACER HOY: 1.Habilitar Secret Protection + Push

    Protection (2 clicks) 2.Agregar dependabot.yml a su repo (1 archivo) 3.Migrar de AWS access keys a OIDC (15 min) 4.Mover secrets hardcodeados a GitHub Secrets
  16. 18 DE JULIO EN LA UTEC 18 DE JULIO EN

    LA UTEC 18 DE JULIO EN LA UTEC