„dockerfile“ paslaptys – „dockerfile“ paslapčių aplinkos kintamieji

„Dockerfile“ paslaptys: kodėl sluoksniai saugo jūsų jautrius duomenis amžinai

Paslėptas paslapčių išlikimas Docker sluoksniuose – Dockerfile paslaptys

Kiekvienas „Docker“ kompiliavimas sukuria nekintamus sluoksnius. Net jei „ištrinate“ slaptą raktą, „Docker“ išsaugo ankstesnį sluoksnį vaizdo istorijoje. Štai kodėl „Dockerfile“ slapti raktai, o ypač „Dockerfile“ slaptų raktų aplinkos kintamieji, yra pavojingi: jūsų prisijungimo duomenys arba privatūs raktai gali likti įterpti į senus sluoksnius, kuriuos galima visiškai atkurti naudojant „Docker“ istoriją arba eksportuotus vaizdo archyvus.

⚠️Nesaugus pavyzdys, skirtas tik edukaciniams tikslams. Nenaudoti gamybinėje aplinkoje.

Šiame pavyzdyje įterpiami jautrūs duomenys į ENV kintamasis. Slaptas kodas yra visam laikui saugomas sluoksnio metaduomenyse ir jį galima atkurti iš vaizdo istorijos. Saugi versija:

Edukacinė pastaba: Venkite saugoti paslapčių Docker sluoksniuose. Naudokite „BuildKit“ –slaptas saugiai tvarkyti Dockerfile slaptasis kodas duomenys kūrimo metu nepaliekant pėdsakų.

Dažnos kūrėjų klaidos: ARG, ENV ir kietojo kodo paslaptys

Kūrėjai dažnai leak secrets per „Dockerfile“ paslapčių aplinkos kintamieji, .env failus arba kietai užkoduoti prisijungimo duomenysĮterpus šias reikšmes į paveikslėlį, jų negalima saugiai pašalinti.

⚠️Nesaugus pavyzdys, skirtas tik edukaciniams tikslams. Nenaudoti gamybinėje aplinkoje.

Šios instrukcijos tiesiogiai atskleidžia prisijungimo duomenis ir juos nukopijuoja. .NS į paveikslėlį, kad jį matytų visi, kas jį traukia ar tikrina. Saugi versija:

Edukacinė pastaba: Pagal numatytuosius nustatymus „Dockerfile secrets“ aplinkos kintamuosius laikyti nesaugiais. Naudoti. .dockeris ignoruoti kad būtų neįtraukti jautrūs failai ir dinamiškai įkelti kredencialus vykdymo metu, o ne kūrimo metu.

Sekti paslaptis CI/CD Pipelines

Paslaptys dažnai nuteka dėl automatizavimo. Sukuriamos talpyklos, neteisingai sukonfigūruoti registrai arba pipeline žurnalai gali neribotą laiką saugoti slaptus „Dockerfile“ duomenis.

⚠️Nesaugus pavyzdys, skirtas tik edukaciniams tikslams. Nenaudoti gamybinėje aplinkoje.

Tai naudoja –build-arg, įterpiant slaptą kodą į vaizdo metaduomenis. Jį gali išgauti kiekvienas, turintis prieigą prie registro. Saugi versija:

Edukacinė pastaba: Išvengti –build-arg paslaptims. „BuildKit“ paslaptis užtikrina, kad paslaptys naudojamos tik atmintyje kūrimo metu, niekada nėra saugomos sluoksniuose.

Praktinė prevencija: švarios versijos ir saugus slaptų duomenų valdymas

Švarūs kompiliavimai yra saugių „Docker“ praktikų pagrindas. Saugus darbo eiga anksti pašalina paslaptis ir apsaugo nuo netyčinio išsaugojimo tarpiniuose sluoksniuose.

Geriausia praktika

  1. Visada naudokite „BuildKit“ –slaptas stovas jautriems duomenims.
  2. Nenaudokite ARG arba ENV kaip kredencialų.
  3. papildyti .NS, paslaptys/, config/ į .dockeris ignoruoti.
  4. Išvalyti laikinus failus prieš paskutinius vaizdo etapus.
  5. Izoliuoti kūrimo talpyklas kiekvienoje aplinkoje, kad būtų išvengta kryžminio užteršimo.

Mini prevencinis kontrolinis sąrašas

  • Audituokite visus „Dockerfile“ paslapčių aplinkos kintamuosius.
  • Įsitikinkite, kad nėra jokių įgaliojimų ENV, ARGarba KOPIJA.
  • Naudokite „BuildKit“ slaptus prijungimo taškus privatiems duomenims.
  • Prieš stumdami nuskaitykite vaizdus.
  • patvirtinti .dockeris ignoruoti neįtraukiami privatūs failai.

Edukacinė pastaba: Docker sluoksniai yra nekeičiami. Visada atlikite švarius, trumpalaikius kūrinius ir laikykite paslaptis už vaizdų istorijos ribų.

Atskleistų paslapčių aptikimas naudojant automatinį nuskaitymą

Automatinis nuskaitymas aptinka nutekėjimą „Dockerfile“ paslaptys prieš diegimą. Tokios priemonės kaip „Trivy“, „Xygeni“ arba „GitHub Advanced Security“ gali aptikti paslaptis vaizdo sluoksniuose arba nesaugius „Dockerfile“ paslapčių aplinkos kintamuosius.

Funkcinis fragmentas, kontekstinio vykdymo pavyzdys

Pridėti šį veiksmą prie CI/CD pipelinekaip apsaugos vartų dalis.

Edukacinė pastaba: Prieš diegdami, derinkite statinę analizę ir konteinerių skenavimą, kad aptiktumėte užkoduotus prisijungimo duomenis arba nesaugias „Dockerfile“ instrukcijas.

Kaip „Xygeni“ padeda apsaugoti jūsų konstrukciją Pipeline

Ksigeni Paslaptys Saugumas sustiprina „Docker“ kompiliavimo apsaugą analizuodama „Docker“ failus ir kompiliavimo konfigūracijas, ieškodama „Docker“ failų paslapčių, nesaugaus ENV/ARG naudojimo ir atskleistų prisijungimo duomenų vaizdų metaduomenyse. Jis integruojasi į CI/CD pipelineužtikrinant švarias, reikalavimus atitinkančias versijas ir blokuojant nesaugius artefaktus prieš išleidimą.

Funkcinis fragmentas, apsauginio turėklo pavyzdys

Edukacinė pastaba: Ksigeni automatiškai užtikrina saugią kompiliavimo higieną, padėdama komandoms palaikyti atitiktį reikalavimams ir užkirsti kelią slaptų duomenų nutekėjimui „Docker“ sluoksniuose.

Išvada: sustabdykite nutekėjimą iš „Dockerfile Secrets“ aplinkos kintamųjų

„Docker“ sluoksniuota struktūra niekada nepamiršta. Įdėjus slaptą raktą, jis lieka net ir po „pašalinimo“. Neteisingai sukonfigūruoti „Dockerfile“ slapti raktai, „Dockerfile“ slapti kintamieji ir nesaugūs „Dockerfile“ slaptų raktų aplinkos kintamieji palieka jautrius duomenis įstrigusius jūsų kompiliacijose ir registruose.

Norėdami apsaugoti savo pipelines:

  • Niekada nenaudokite ARG or ENV dėl įgaliojimų.
  • Visada kurkite su –slaptas.
  • Išskirti jautrius failus per .dockeris ignoruoti.
  • Integruokite automatinius nuskaitymus ir Xygeni Code Security vykdymą.

Kitas jūsų atstatymas neturėtų perduoti jūsų paslapčių; saugokite jas, kol jos dar nepasirodė.

sca-tools-software-composition-analyses-tools
Prioritetizuoti, pašalinti ir apsaugoti savo programinės įrangos rizikas
Gaukite nemokamą paskyrą.
Nebūtina kreditinės kortelės.

Apsaugokite savo programinės įrangos kūrimą ir tiekimą

su „Xygeni“ produktų rinkiniu