Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Dónde vive un secreto (y dónde no)

4 tareas · 25 min · Principiante

La sala anterior cazó un secreto que ya estaba dentro del repositorio. Esta va antes: cómo se consigue que no entre nunca. El trabajo de verdad del oficio no es rotar claves a la carrera, es que la clave no toque el código. En la cadena de Cauce Pagos eso son tres defensas que se montan una sola vez: la clave se inyecta en ejecución y el código solo la nombra, los archivos que llevan secretos locales quedan fuera del repositorio, y un escaneo previo al commit frena el secreto en el portátil, antes de que llegue a tener historial.

0 de 4 · 0%

Objetivo de la sala

La sala anterior cazó un secreto que ya estaba dentro del repositorio. Esta va antes: cómo se consigue que no entre nunca. El trabajo de verdad del oficio no es rotar claves a la carrera, es que la clave no toque el código. En la cadena de Cauce Pagos eso son tres defensas que se montan una sola vez: la clave se inyecta en ejecución y el código solo la nombra, los archivos que llevan secretos locales quedan fuera del repositorio, y un escaneo previo al commit frena el secreto en el portátil, antes de que llegue a tener historial.

Una clave de la pasarela de pagos no vive en el repositorio: vive en un gestor de secretos o en una variable de entorno que se inyecta cuando el servicio arranca. El código no lleva el valor, solo el nombre de la variable de donde lo toma. Así la misma versión del código corre en pruebas y en producción con claves distintas, y el repositorio nunca ve ningún secreto. El valor existe solo en memoria, en el momento en que hace falta.

Que el código nombre el secreto en vez de contenerlo es lo que separa una credencial bajo control de una credencial suelta.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Dónde debe vivir la clave de la pasarela de pagos de Cauce?

Ver pista de ayuda

El código nombra el secreto; no lo contiene. ¿Qué lo inyecta en ejecución?

Hay archivos que por naturaleza llevan secretos locales: el archivo de variables de entorno de cada quien, una configuración de pruebas con una clave propia. Esos se declaran en la lista de archivos ignorados del repositorio para que no se suban por accidente, y en su lugar se versiona una plantilla de ejemplo con los nombres de las variables y los valores vacíos. Quien clona el proyecto copia la plantilla, la rellena con sus valores, y su archivo real nunca entra al repositorio.

Ignorar el archivo que lleva el secreto y versionar solo la plantilla vacía es la defensa que evita el descuido antes de que ocurra.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Qué se gana añadiendo el archivo de variables de entorno a la lista de ignorados y versionando solo una plantilla de ejemplo?

Ver pista de ayuda

La plantilla lleva nombres y valores vacíos. ¿Qué pasa con el archivo que sí tiene los valores?

El escaneo previo al commit corre en el portátil de quien escribe, justo antes de confirmar un cambio. Si detecta un secreto con formato de clave válida en lo que se va a subir, detiene el commit: el secreto no llega a tener historial. Es la defensa más barata de todas, porque atrapa el fallo donde arreglarlo cuesta borrar una línea y volver a intentar. Una vez que el secreto entra al historial, como viste en la sala anterior, ya escapó y toca rotarlo.

Parar el secreto en el commit, y no después en la cadena, es aplicar el shift-left al fallo más repetido del oficio.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Para qué sirve un escaneo de secretos previo al commit en el portátil?

Ver pista de ayuda

Corre antes de confirmar el cambio. ¿Qué evita que el secreto llegue al historial?

Abre el laboratorio del repositorio ya saneado de Cauce. La config referencia la variable de entorno por su nombre, el archivo de ignorados deja fuera los secretos locales, y el informe del gancho previo al commit registra un intento frenado. Lee ese informe hasta el final.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Abre el informe del escaneo previo al commit y escribe el código de la sala que lo cierra, al pie del resumen.

Formato esperado: SEC-____

Ver pista de ayuda

Con la terminal, `cat reportes/pre-commit.txt`. El código está en la última línea, bajo el resumen del secreto frenado.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Preparando el escritorio…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build bcc89e

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad