Споделувате Compose датотека за VPN? Отстранете ги тајните од рендерираната копија
Приватен клуч може да стои во YAML, во вредност од околината или во решениот излез што никој не го погледнал. Проверете ја копијата што навистина ја прикачувате.
Секој пат кога споделувате Compose датотека, постојат два артефакта: тој што сте го напишале и тој што алатката го рендерира откако ќе ги замени променливите. Вториот е често почувствителен од првиот, и токму него луѓето го лепат во извештај за проблем без да го прочитаат. Ако прегледувате само изворната датотека, прегледувате погрешен документ.
Споредете што може да содржи секоја копија пред да одлучите што да отстраните.
Рендерираниот модел е друг документ
Compose ги решава променливите од околината, ги спојува датотеките за препишување и создава ефективна конфигурација што читателот повеќе не може да ја разликува од рачно напишани вредности. Референцата, на пример името на променлива во изворот, во излезот станува самиот токен на сметката. Структурата што ја прави датотеката корисна за дијагностика ја преживува таа преобразба; преживува и сѐ што никогаш не требало да биде во неа.
Рендерирајте ја датотеката сами пред да ја прикачите и третирајте го тој излез како артефакт што го прегледувате. Ако не можете да го рендерирате, не можете да знаете што ќе објавите.
Тајните стојат на повеќе места отколку во полето за клуч
Започнете со очигледното: приватни клучеви, однапред споделени клучеви, токени, лозинки и URL-адреси за поврзување што содржат податоци за најава. Потоа погледнете сѐ на што упатува датотеката, зашто референцата не е отстранување. Датотека од околината монтирана во услугата, конфигурациска датотека поврзана од домаќинот, ознака што носи токен и аргумент на команда што содржи лозинка патуваат со распоредувањето дури и кога YAML изгледа чисто. Клуч залепен во променлива со смирувачко име сѐ уште е клуч.
Патиштата на домаќинот и имињата на услугите излеваат втор вид информација. Име на домашна папка, внатрешно име на домаќин или мрежен опсег можат да идентификуваат личност или организација без ниту еден податок за најава, и тој контекст вреди да се отстрани од истата причина.
Објавата на тајна не е самата тајна
Compose објектите за тајни ја одвојуваат објавата од материјалот: услугата добива патека или цел, а содржината живее на друго место. Задржувањето на објавата при замена на материјалот обично е вистинската размена, зашто рецензентот треба да види дека тајна постои и како е монтирана. Она што не смее да преживее е самата содржина.
Ознаките и коментарите заслужуваат ист третман. Коментар што кажува која патека во трезорот го држи производствениот клуч му кажува на напаѓачот каде да гледа, дури и кога не содржи клуч.
Задржете ја формата за датотеката сѐ уште да дијагностицира
Отстранување што го вади мрежниот режим, верзијата на сликата или поставките за можности создава датотека со која никој не може да отстранува грешки. Заменете ги чувствителните вредности и задржете ги врските: која услуга што монтира, на која мрежа ѝ се придружува, кој уред ѝ е потребен. Ова е делот што читателот го користи за да објасни исчезнат маршрута или недостапен уред. Ова е и верзијата што колегата може да ја спореди со сопственото работно распоредување.
docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml
Не распоредувајте ја отстранетата копија како да е работниот оригинал. Таа е опис, а опис уреден за да изгледа безбедно ќе пропадне на начини што личат на конфигурациски грешки.
Ако материјалот бил изложен, заменете го
Отстранувањето на прилогот не ги отстранува копиите што другите веќе ги направиле, а огледалата и кешовите ги држат своите. Користете го процесот за отповикување и замена на издавачот за сѐ што истекло, потоа ажурирајте го распоредувањето. Редоследот е важен, зашто замена прво и отповикување потоа остава прозорец со два важечки податоци за најава.
Во темите за поддршка започнете со точната грешка, верзијата на сликата, мрежниот режим и едната не-тајна поставка што е важна. Таа комбинација објаснува недостапен уред или скршен маршрута многу почесто отколку клучот.