Bendrinate VPN „Compose“ failą? Pašalinkite paslaptis iš atvaizduotos kopijos
Privatus raktas gali būti YAML faile, aplinkos kintamojo reikšmėje arba išspręstoje išvestyje, į kurią niekas nepažiūrėjo. Patikrinkite kopiją, kurią tikrai pridedate.
Kiekvieną kartą bendrindami Compose failą turite du artefaktus: tą, kurį parašėte, ir tą, kurį įrankis atvaizduoja pakeitęs kintamuosius. Antrasis dažnai jautresnis už pirmąjį, ir būtent jį žmonės įklijuoja į problemos ataskaitą jo neskaitę. Jei peržiūrite tik šaltinio failą, peržiūrite ne tą dokumentą.
Prieš nuspręsdami, ką pašalinti, palyginkite, ką gali turėti kiekviena kopija.
Atvaizduotas modelis yra kitas dokumentas
Compose išsprendžia aplinkos kintamuosius, sujungia perrašymo failus ir sukuria veiksmingą konfigūraciją, kurios skaitytojas nebegali atskirti nuo ranka rašytų reikšmių. Nuoroda, pavyzdžiui, kintamojo pavadinimas šaltinyje, išvestyje tampa pačiu paskyros žetonu. Struktūra, kuri daro failą naudingą diagnostikai, išgyvena šią transformaciją; išgyvena ir viskas, ko jame niekada neturėjo būti.
Atvaizduokite failą patys prieš jį pridėdami ir traktuokite tą išvestį kaip peržiūrimą artefaktą. Jei negalite jo atvaizduoti, negalite žinoti, ką ketinate paskelbti.
Paslaptys slypi daugiau vietų nei rakto laukelyje
Pradėkite nuo akivaizdaus: privatūs raktai, iš anksto bendrinami raktai, žetonai, slaptažodžiai ir prisijungimo URL, kuriuose įterpti prisijungimo duomenys. Tada pažiūrėkite į viską, į ką failas nurodo, nes nuoroda nėra pašalinimas. Į paslaugą įmontuotas aplinkos failas, iš prieglobos susietas konfigūracijos failas, žetoną nešantis žymeklis ir komandos argumentas su slaptažodžiu keliauja kartu su diegimu net tada, kai YAML atrodo švarus. Į kintamąjį su raminančiu pavadinimu įklijuotas raktas vis tiek yra raktas.
Prieglobos keliai ir paslaugų pavadinimai nutekina antrą informacijos rūšį. Namų katalogo pavadinimas, vidinis prieglobos vardas ar tinklo diapazonas gali identifikuoti asmenį ar organizaciją neturėdami nė vieno prisijungimo duomens, ir tas kontekstas vertas pašalinimo dėl tos pačios priežasties.
Paslapties deklaracija nėra pati paslaptis
Compose paslapčių objektai atskiria deklaraciją nuo medžiagos: paslauga gauna kelią arba tikslą, o turinys gyvena kitur. Palikti deklaraciją keičiant medžiagą paprastai yra teisinga mainai, nes recenzentas turi matyti, kad paslaptis egzistuoja ir kaip ji įmontuota. Tai, kas neturi išgyventi, yra pats turinys.
Žymos ir komentarai nusipelno tokio paties požiūrio. Komentaras, nurodantis, kuriame saugyklos kelyje laikomas produkcijos raktas, pasako užpuolikui, kur žiūrėti, net jei jame nėra jokio rakto.
Išsaugokite formą, kad failas vis dar diagnozuotų
Pašalinimas, kuris panaikina tinklo režimą, atvaizdo versiją ar galimybių nustatymus, sukuria failą, su kuriuo niekas negali derinti. Pakeiskite jautrias reikšmes ir išsaugokite ryšius: kuri paslauga ką montuoja, į kurį tinklą prisijungia, kurio įrenginio jai reikia. Tai dalis, kurią skaitytojas naudoja paaiškinti trūkstamą maršrutą ar nepasiekiamą įrenginį. Tai ir versija, kurią kolega gali palyginti su savo veikiančiu diegimu.
docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml
Nediekite pašalintos kopijos taip, tarsi tai būtų veikiantis originalas. Tai aprašymas, o aprašymas, pakoreguotas atrodyti saugiai, žlugs taip, kaip atrodo konfigūracijos klaidos.
Jei medžiaga buvo atskleista, pakeiskite ją
Priedo pašalinimas nepašalina kopijų, kurias kiti jau padarė, o veidrodžiai ir podėliai laiko savąsias. Naudokite išdavėjo atšaukimo ir pakeitimo procesą viskam, kas nutekėjo, tada atnaujinkite diegimą. Tvarka svarbi, nes pakeitus pirmiau ir atšaukus vėliau lieka langas su dviem galiojančiais prisijungimo duomenimis.
Pagalbos temose pradėkite nuo tikslios klaidos, atvaizdo versijos, tinklo režimo ir vieno ne paslapties nustatymo, kuris svarbus. Šis derinys paaiškina trūkstamą įrenginį ar sudužusį maršrutą daug dažniau nei raktas.