Compartes un ficheiro Compose de VPN? Redacta a copia renderizada
Unha chave privada pode estar no YAML, nun valor de contorno ou na saída resolvida que ninguén mirou. Revisa a copia que realmente achégaste.
Sempre que compartes un ficheiro Compose existen dous artefactos: o que escribiches e o que unha ferramenta renderiza despois de substituír as variables. O segundo adoita ser máis sensible que o primeiro, e é o que a xente pega nun informe de problema sen lelo. Se só revisas o ficheiro de orixe, revisas o documento equivocado.
Compara o que pode conter cada copia antes de decidir que eliminar.
O modelo renderizado é outro documento
Compose resolve as variables de contorno, fusiona os ficheiros de substitución e produce unha configuración efectiva que o lector xa non pode distinguir de valores escritos a man. Unha referencia como o nome dunha variable na orixe convértese no propio token da conta na saída. A estrutura que fai útil o ficheiro para o diagnóstico sobrevive a esa transformación; tamén sobrevive todo o que nunca debería ter estado nel.
Renderiza o ficheiro ti mesmo antes de achegalo e trata esa saída como o artefacto que revisas. Se non podes renderizalo, non podes saber que estás a piques de publicar.
Os segredos están en máis sitios que o campo da chave
Comeza polo obvio: chaves privadas, chaves precompartidas, tokens, contrasinais e URL de conexión que incrustan credenciais. Despois mira todo aquilo ao que apunta o ficheiro, porque unha referencia non é unha redacción. Un ficheiro de contorno montado no servizo, un ficheiro de configuración ligado desde o anfitrión, unha etiqueta que leva un token e un argumento de comando que inclúe un contrasinal viaxan todos co despregamento mesmo cando o YAML parece limpo. Unha chave pegada nunha variable cun nome tranquilizador segue a ser unha chave.
As rutas do anfitrión e os nomes de servizo filtran un segundo tipo de información. O nome dun directorio persoal, un nome de anfitrión interno ou un rango de rede poden identificar unha persoa ou unha organización sen conter nin unha soa credencial, e ese contexto merece eliminarse polo mesmo motivo.
A declaración dun segredo non é o segredo
Os obxectos de segredo de Compose separan a declaración do material: o servizo recibe unha ruta ou un destino, e o contido vive noutro sitio. Manter a declaración mentres se substitúe o material adoita ser o intercambio correcto, porque o revisor necesita ver que un segredo existe e como se monta. O que non debe sobrevivir é o contido mesmo.
As etiquetas e os comentarios merecen o mesmo trato. Un comentario que di que ruta da cámara acorazada garda a chave de produción indica a un atacante onde mirar aínda que non conteña ningunha chave.
Conserva a forma para que o ficheiro aínda diagnostique
Unha redacción que elimina o modo de rede, a versión da imaxe ou os axustes de capacidades produce un ficheiro co que ninguén pode depurar. Substitúe os valores sensibles e conserva as relacións: que servizo monta que, a que rede se une, que dispositivo necesita. Ese é o anaco que o lector usa para explicar unha ruta que falta ou un dispositivo non dispoñible. É tamén a versión que un colega pode comparar co seu propio despregamento en funcionamento.
docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml
Non despregues a copia redactada como se fose o orixinal en funcionamento. É unha descrición, e unha descrición editada para parecer segura fallará de xeitos que parecen erros de configuración.
Se o material quedou exposto, substitúeo
Eliminar o anexo non elimina as copias que outros xa fixeron, e os espellos e as cachés gardan as súas. Usa o proceso de revogación e substitución do emisor para todo o que se filtrou e despois actualiza o despregamento. A orde importa, porque substituír primeiro e revogar despois deixa unha xanela con dúas credenciais válidas.
Nos fíos de soporte, comeza polo erro exacto, a versión da imaxe, o modo de rede e o único axuste non secreto que importa. Esa combinación explica un dispositivo que falta ou unha ruta rota moito máis a miúdo que a chave.