Siempre que compartes un archivo Compose existen dos artefactos: el que escribiste y el que una herramienta renderiza tras sustituir las variables. El segundo suele ser más sensible que el primero, y es el que la gente pega en un informe de problema sin leerlo. Si solo revisas el archivo de origen, revisas el documento equivocado.

Compara qué puede contener cada copia antes de decidir qué eliminar.

El modelo renderizado es otro documento

Compose resuelve las variables de entorno, fusiona los archivos de sustitución y produce una configuración efectiva que el lector ya no puede distinguir de valores escritos a mano. Una referencia como el nombre de una variable en el origen se convierte en el propio token de la cuenta en la salida. La estructura que hace útil el archivo para el diagnóstico sobrevive a esa transformación; también sobrevive todo lo que nunca debería haber estado en él.

Renderiza el archivo tú mismo antes de adjuntarlo y trata esa salida como el artefacto que revisas. Si no puedes renderizarlo, no puedes saber qué estás a punto de publicar.

Los secretos están en más sitios que el campo de la clave

Empieza por lo obvio: claves privadas, claves precompartidas, tokens, contraseñas y URL de conexión que incrustan credenciales. Luego mira todo aquello a lo que apunta el archivo, porque una referencia no es una redacción. Un archivo de entorno montado en el servicio, un archivo de configuración enlazado desde el anfitrión, una etiqueta que lleva un token y un argumento de comando que incluye una contraseña viajan todos con el despliegue incluso cuando el YAML parece limpio. Una clave pegada en una variable con un nombre tranquilizador sigue siendo una clave.

Las rutas del anfitrión y los nombres de servicio filtran un segundo tipo de información. El nombre de un directorio personal, un nombre de anfitrión interno o un rango de red pueden identificar a una persona o a una organización sin contener ni una sola credencial, y ese contexto merece eliminarse por el mismo motivo.

La declaración de un secreto no es el secreto

Los objetos de secreto de Compose separan la declaración del material: el servicio recibe una ruta o un destino, y el contenido vive en otro sitio. Mantener la declaración mientras se sustituye el material suele ser el intercambio correcto, porque el revisor necesita ver que un secreto existe y cómo se monta. Lo que no debe sobrevivir es el contenido mismo.

Las etiquetas y los comentarios merecen el mismo trato. Un comentario que dice qué ruta de la cámara acorazada guarda la clave de producción indica a un atacante dónde mirar aunque no contenga ninguna clave.

Conserva la forma para que el archivo aún diagnostique

Una redacción que elimina el modo de red, la versión de la imagen o los ajustes de capacidades produce un archivo con el que nadie puede depurar. Sustituye los valores sensibles y conserva las relaciones: qué servicio monta qué, a qué red se une, qué dispositivo necesita. Esa es la parte que el lector usa para explicar una ruta que falta o un dispositivo no disponible. Es también la versión que un colega puede comparar con su propio despliegue en funcionamiento.

docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml

No despliegues la copia redactada como si fuera el original en funcionamiento. Es una descripción, y una descripción editada para parecer segura fallará de formas que parecen errores de configuración.

Si el material quedó expuesto, sustitúyelo

Eliminar el adjunto no elimina las copias que otros ya hicieron, y los espejos y las cachés guardan las suyas. Usa el proceso de revocación y sustitución del emisor para todo lo que se filtró y después actualiza el despliegue. El orden importa, porque sustituir primero y revocar después deja una ventana con dos credenciales válidas.

En los hilos de soporte, empieza por el error exacto, la versión de la imagen, el modo de red y el único ajuste no secreto que importa. Esa combinación explica un dispositivo que falta o una ruta rota mucho más a menudo que la clave.

Artículos relacionados