Bienvenida al curso
"Tranquilo, ya la borré", dice el practicante de Cafetal Digital (caso inventado) cuando usted le pregunta por la llave de AWS que subió ayer al repositorio público de scripts. En la versión actual del archivo ya no está. Pero Git no olvida:
$ git log -S "AKIA" --oneline
9c1e2f4 quitar credenciales
3a7b0d1 conexion a S3 para respaldos
$ git show 3a7b0d1:config.py | grep AKIA
AWS_ACCESS_KEY_ID = "AKIAIOSFODNN7EXAMPLE"Dos comandos y la llave aparece completa. (Esa es la de ejemplo de la documentación de AWS; la del practicante no lo era.) Lo correcto era revocarla de inmediato y limpiar después: en los repositorios públicos hay bots buscando claves con ese formato, y el orden importa más que la limpieza.
Bienvenido a Git y GitHub para ciberseguridad. Aprenderá Git como lo usa un equipo de seguridad: para versionar scripts y reglas de detección, colaborar sin pisar el trabajo de nadie y cuidar el repositorio mismo, que también es un blanco.
Qué va a lograr
- Explicar qué es el control de versiones y en qué se diferencian Git y GitHub.
- Usar el ciclo
init,add,commit,log,diffy un.gitignoreque impida subir lo que no debe. - Trabajar con ramas, resolver conflictos y proponer cambios con pull requests revisados.
- Detectar secretos con gitleaks, responder en el orden correcto y bloquearlos con un hook pre-commit.
- Proteger cuenta y repositorio con commits firmados, 2FA, ramas protegidas, Dependabot y GitHub Actions.
Para quién es y qué necesita
Es para quien nunca ha usado Git, o lo usa copiando comandos sin saber qué hacen. Conviene haber hecho Linux básico: 15 comandos para empezar. No necesita saber programar.
Necesita Linux, macOS o Windows (con Git Bash o WSL2) y una cuenta gratuita de GitHub creada por usted. Active la verificación en dos pasos de esa cuenta antes del módulo 2: el curso la da por hecha.
Cómo está organizado
| Módulo | Qué aprende | Laboratorio |
|---|---|---|
| 1. Control de versiones con Git | Qué es el control de versiones, instalar y configurar Git, el ciclo init, add, commit, log y diff | Su primer repositorio de scripts con .gitignore |
| 2. Ramas y colaboración | switch, branch y merge, conflictos, remotos con clone, push y pull | Pull request y revisión de código |
| 3. Seguridad del repositorio | Secretos en el historial, commits firmados, 2FA, permisos y ramas protegidas | Cazar secretos con gitleaks y un hook pre-commit |
| 4. Git en el trabajo de seguridad | Reglas Sigma y YARA versionadas, Dependabot, leer repositorios ajenos, más la conclusión | GitHub Actions con un linter |
| Evaluación | 6 preguntas sobre todo el curso | Aprueba con 70 % |
Cómo aprovecharlo
Lea la salida de git status cada vez. Casi todos los sustos de quien empieza, como un commit en la rama equivocada, se ven venir ahí una línea antes.
El primer conflicto de merge del módulo 2 suele asustar: Git llena el archivo de marcas raras. No se rompió nada; resuélvalo a mano, despacio. El laboratorio de gitleaks pide instalar una herramienta y escribir un hook que hay que probar fallando antes de darlo por bueno: resérvele una sesión completa.
Al aprobar la evaluación final recibe el certificado y la insignia del curso.
Tiempo estimado
Unas 5 horas, hora y media en laboratorios. Haga el módulo 1 en días seguidos, para que add, commit y log se vuelvan automáticos antes de meter ramas.