Ĉu vi kunhavigas VPN-Compose-dosieron? Forigu la sekretojn el la eligita kopio
Privata ŝlosilo povas esti en la YAML, en medivariablo aŭ en la solvita eligo, kiun neniu rigardis. Kontrolu la kopion, kiun vi efektive aldonaĵas.
Ĉiufoje, kiam vi kunhavigas Compose-dosieron, ekzistas du artefaktoj: tiu, kiun vi skribis, kaj tiu, kiun ilo eligas post anstataŭigo de variabloj. La dua ofte estas pli sentema ol la unua, kaj ĝuste ĝin homoj algluas en problemraporton sen legi ĝin. Se vi kontrolas nur la fontodosieron, vi kontrolas la malĝustan dokumenton.
Komparu, kion ĉiu kopio povas enhavi, antaŭ ol decidi, kion forigi.
La eligita modelo estas alia dokumento
Compose solvas medivariablojn, kunfandas anstataŭigajn dosierojn kaj produktas efikan agordon, kiun leganto jam ne povas distingi de permane skribitaj valoroj. Referenco kiel variabla nomo en la fonto fariĝas la konta ĵetono mem en la eligo. La strukturo, kiu faras la dosieron utila por diagnozo, postvivas tiun transformon; same postvivas ĉio, kio neniam devintus esti en ĝi.
Eligu la dosieron mem antaŭ ol aldoni ĝin, kaj traktu tiun eligon kiel la artefakton, kiun vi kontrolas. Se vi ne povas eligi ĝin, vi ne povas scii, kion vi baldaŭ publikigos.
Sekretoj sidas en pli da lokoj ol la ŝlosila kampo
Komencu per la evidenta: privataj ŝlosiloj, antaŭe dividitaj ŝlosiloj, ĵetonoj, pasvortoj kaj konektaj URL-oj, kiuj enhavas legitimilojn. Poste rigardu ĉion, al kio la dosiero montras, ĉar referenco ne estas forviŝo. Medivariabla dosiero muntita en la servon, agorda dosiero ligita de la gastiganto, etikedo portanta ĵetonon kaj komanda argumento, kiu inkluzivas pasvorton, ĉiuj vojaĝas kun la enkonduko eĉ kiam la YAML aspektas pura. Ŝlosilo algluita en variablon kun trankviliga nomo restas ŝlosilo.
Gastigantaj vojoj kaj servaj nomoj likas alian specion de informoj. Hejma dosieruja nomo, interna gastiganta nomo aŭ reta gamo povas identigi personon aŭ organizon sen enhavi eĉ unu legitimilon, kaj tiu kunteksto indas forigi pro la sama kialo.
Deklaro de sekreto ne estas la sekreto
Compose-sekretaj objektoj apartigas la deklaron de la materialo: la servo ricevas vojon aŭ celon, kaj la enhavo vivas aliloke. Reteni la deklaron dum anstataŭigi la materialon kutime estas la ĝusta interŝanĝo, ĉar la kontrolanto devas vidi, ke sekreto ekzistas kaj kiel ĝi estas muntita. Kio ne rajtas postvivi, estas la enhavo mem.
Etikedoj kaj komentoj meritas la saman trakton. Komento, kiu diras, kiu kaseja vojo tenas la produktan ŝlosilon, diras al atakanto, kie rigardi, eĉ se ĝi enhavas neniun ŝlosilon.
Konservu la formon, por ke la dosiero ankoraŭ diagnozu
Forviŝo, kiu forigas la retan reĝimon, la bildan version aŭ la kapablecajn agordojn, produktas dosieron, per kiu neniu povas sencimigi. Anstataŭigu la sentemajn valorojn kaj konservu la rilatojn: kiu servo muntas kion, al kiu reto ĝi aliĝas, kiun aparaton ĝi bezonas. Tio estas la parto, kiun leganto uzas por klarigi mankan vojon aŭ neatingeblan aparaton. Ĝi ankaŭ estas la versio, kiun kolego povas kompari kun sia propra funkcianta enkonduko.
docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml
Ne enkonduku la forviŝitan kopion kvazaŭ ĝi estus la funkcianta originalo. Ĝi estas priskribo, kaj priskribo redaktita por aspekti sekura malsukcesos laŭ manieroj, kiuj aspektas kiel agordaj fuŝoj.
Se materialo malkaŝiĝis, anstataŭigu ĝin
Forigi la aldonaĵon ne forigas la kopiojn, kiujn aliaj jam faris, kaj speguloj kaj staploj tenas siajn proprajn. Uzu la revokedan kaj anstataŭigan procezon de la eldonanto por ĉio, kio likis, poste ĝisdatigu la enkondukon. La ordo gravas, ĉar anstataŭigi unue kaj revoki poste lasas fenestron kun du validaj legitimiloj.
En subtenaj fadenoj, komencu per la preciza eraro, la bilda versio, la reta reĝimo kaj la unu ne-sekreta agordo, kiu gravas. Tiu kombinaĵo klarigas mankan aparaton aŭ rompitan vojon multe pli ofte ol la ŝlosilo.