Kopīgojat VPN Compose failu? Noņemiet noslēpumus no renderētās kopijas
Privātā atslēga var būt YAML failā, vides vērtībā vai atrisinātajā izvadē, kurā neviens nav ieskatījies. Pārbaudiet kopiju, kuru tiešām pievienojat.
Katru reizi, kad kopīgojat Compose failu, ir divi artefakti: tas, kuru rakstījāt, un tas, kuru rīks renderē pēc mainīgo aizstāšanas. Otrais bieži ir jutīgāks par pirmo, un tieši to cilvēki ielīmē problēmas ziņojumā to neizlasot. Ja pārskatāt tikai avota failu, jūs pārskatāt nepareizo dokumentu.
Pirms izlemjat, ko noņemt, salīdziniet, ko katra kopija var saturēt.
Renderētais modelis ir cits dokuments
Compose atrisina vides mainīgos, apvieno pārrakstīšanas failus un izveido efektīvu konfigurāciju, ko lasītājs vairs nevar atšķirt no ar roku rakstītām vērtībām. Atsauce, piemēram, mainīgā nosaukums avotā, izvadē kļūst par pašu konta pilnvaru. Struktūra, kas padara failu noderīgu diagnostikai, pārdzīvo šo pārveidi; pārdzīvo arī viss, kam tajā nekad nevajadzēja būt.
Renderējiet failu paši pirms tā pievienošanas un izturieties pret šo izvadi kā pret pārskatāmo artefaktu. Ja nevarat to renderēt, nevarat zināt, ko gatavojaties publicēt.
Noslēpumi atrodas vairāk vietās nekā atslēgas laukā
Sāciet ar acīmredzamo: privātās atslēgas, iepriekš kopīgotās atslēgas, pilnvaras, paroles un savienojuma URL, kuros iegulti akreditācijas dati. Pēc tam apskatiet visu, uz ko fails norāda, jo atsauce nav noņemšana. Pakalpojumā montēts vides fails, no saimnieka piesaistīts konfigurācijas fails, pilnvaru nesoša etiķete un komandas arguments ar paroli visi ceļo kopā ar izvietošanu arī tad, kad YAML izskatās tīrs. Atslēga, kas ielīmēta mainīgajā ar nomierinošu nosaukumu, joprojām ir atslēga.
Saimnieka ceļi un pakalpojumu nosaukumi noplūdina otro informācijas veidu. Mājas direktorija nosaukums, iekšējais saimnieka vārds vai tīkla diapazons var identificēt personu vai organizāciju bez neviena akreditācijas datu, un šis konteksts ir noņemams tā paša iemesla dēļ.
Noslēpuma deklarācija nav pats noslēpums
Compose noslēpumu objekti atdala deklarāciju no materiāla: pakalpojums saņem ceļu vai mērķi, un saturs dzīvo citur. Deklarācijas saglabāšana, materiālu aizstājot, parasti ir pareizā maiņa, jo recenzentam jāredz, ka noslēpums pastāv un kā tas ir montēts. Tam, kam nevajadzētu izdzīvot, ir pats saturs.
Etiķetes un komentāri pelna tādu pašu attieksmi. Komentārs, kas norāda, kurš glabātuves ceļš tur produkcijas atslēgu, pasaka uzbrucējam, kur skatīties, pat ja tajā nav nevienas atslēgas.
Saglabājiet formu, lai fails joprojām diagnosticētu
Noņemšana, kas izņem tīkla režīmu, attēla versiju vai iespēju iestatījumus, rada failu, ar kuru neviens nevar atkļūdot. Aizstājiet jutīgās vērtības un saglabājiet attiecības: kurš pakalpojums ko montē, kuram tīklam pievienojas, kura ierīce tam vajadzīga. Šī ir daļa, ko lasītājs izmanto, lai paskaidrotu trūkstošu maršrutu vai nepieejamu ierīci. Šī ir arī versija, ko kolēģis var salīdzināt ar savu strādājošo izvietojumu.
docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml
Neizvietojiet noņemto kopiju tā, it kā tā būtu strādājošais oriģināls. Tas ir apraksts, un apraksts, kas rediģēts, lai izskatītos droši, neizdosies tā, kā izskatās konfigurācijas kļūdas.
Ja materiāls ir atklāts, aizstājiet to
Pielikuma noņemšana nenoņem kopijas, ko citi jau izveidojuši, un spoguļi un kešatmiņas tur savējās. Izmantojiet izdevēja atsaukšanas un aizstāšanas procesu visam, kas noplūdis, un pēc tam atjauniniet izvietojumu. Secība ir svarīga, jo aizstāšana vispirms un atsaukšana vēlāk atstāj logu ar diviem derīgiem akreditācijas datiem.
Atbalsta sarunās sāciet ar precīzu kļūdu, attēla versiju, tīkla režīmu un vienu ne-noslēpuma iestatījumu, kam ir nozīme. Šī kombinācija izskaidro trūkstošu ierīci vai salauztu maršrutu daudz biežāk nekā atslēga.