DevSecOps y pruebas con GitHub Actions
Clase 7 de 30 • Curso de Ciberseguridad para Desarrollo Web
Contenido del curso
Funciona en mi local
Introducción a DevSecOps
Seguridad en la arquitectura
- 11

Arquitectura AWS para métricas de Git
02:24 min - 12

Configuración de AWS CLI para Terraform
09:34 min - 13

Terraform IAM: roles y policies automáticos
17:44 min - 14

Modificando main.tf para enlazar módulos IAM en Terraform
06:02 min - 15

Bucket S3 para Lambdas con Terraform
16:44 min - 16

Configuración de Postgres RDS con VPC y seguridad
14:10 min - 17

Configurando VPC para AWS Lambda con Terraform
12:29 min - 18

Cómo configurar API Gateway para Lambdas
05:42 min
Evitando vulnerabilidades en el código
- 19

Configuración completa de Auth0 para tokens
07:14 min - 20

Authorizer Lambda con Auth0 y JWT
16:56 min - 21

Conecta Go a Postgres usando AWS Secrets
13:35 min - 22

Conexión segura de Lambdas a Secrets con VPC
11:27 min - 23

Validación de webhooks desde GitHub con user-agent
12:08 min - 24

Cómo validar integridad de webhooks con HMAC
14:32 min
Controles de seguridad sobre datos
Monitoring y alertas
CORS y cierre
Comprende cómo DevSecOps integra la seguridad en el flujo de DevOps y qué acciones concretas puedes aplicar como desarrollador para fortalecer tus entregas. Aquí verás el rol de las pruebas automatizadas y cómo apoyarte en GitHub Actions para aprobar cambios antes de fusionarlos a la rama main.
¿Qué es DevSecOps y por qué es una cultura?
DevOps es una cultura, no un rol aislado. Su objetivo es que desarrollo y operaciones fluyan con entregas continuas, como continuous delivery y continuous deployment, manteniendo sincronía a lo largo del ciclo. La idea central: que el ciclo repetitivo se cumpla y mejore de forma constante: plan, code, build.
Cuando se suma seguridad, DevSecOps no significa solo tener un equipo especializado. Depende del tamaño de la empresa, sí, pero lo esencial es traer prácticas de seguridad a todas las fases del ciclo y compartirlas con todo el equipo, incluidos los desarrolladores.
¿Cómo se integra el ciclo plan, code, build?
- Mantener un flujo continuo entre desarrollo y operaciones.
- Repetir el ciclo para mejorar calidad y velocidad.
- Sincronizar equipos para reducir fricciones.
¿Por qué seguridad en todo el ciclo?
- Para garantizar seguridad desde el inicio hasta la entrega.
- Para evitar que cambios riesgosos lleguen a producción.
- Para convertir la seguridad en práctica diaria del equipo.
¿Qué técnicas de seguridad puede aplicar un desarrollador?
Surgen dudas razonables: si hay muchas técnicas específicas del equipo de seguridad, ¿cuál es el alcance del desarrollador? Aquí destaca el foco en pruebas, especialmente pruebas automatizadas. Así, cuando alguien cambia código, no rompe producción porque los cambios quedan probados automáticamente.
- Técnicas mencionadas: threat modeling, threat intelligence, approval gates y otras.
- Alcance práctico del desarrollador: diseñar y ejecutar pruebas automatizadas.
- Beneficio principal: aprobar o bloquear cambios antes de llegar a main.
¿Qué aportan las pruebas automatizadas?
- Validan que los cambios no introduzcan daños.
- Se ejecutan sin intervención manual.
- Aportan velocidad con control.
¿Cómo usar GitHub Actions para aprobar cambios con pruebas automatizadas?
GitHub Actions ofrece una interfaz para automatizar pruebas del código y aprobar o no los cambios según sus resultados. Así, puedes configurar que solo los cambios que pasan las pruebas se fusionen a la rama main. Este enfoque alinea la cultura DevSecOps con la práctica diaria del equipo.
¿Qué habilita GitHub Actions en el pipeline?
- Automatizar la ejecución de pruebas en cada cambio.
- Definir criterios de aprobación: pasar o no pasar.
- Proteger la rama main con calidad y seguridad.
Próximo paso: configura tu primera pipeline en GitHub Actions y lleva estas prácticas a tu repositorio.
¿Te gustaría compartir qué pruebas automatizadas ya usas o quieres implementar con GitHub Actions? Deja tus comentarios y experiencias.