docker sirlari - docker kompilyatsiya sirlari

Docker sirlari CI/CDMaxfiy ma'lumotlarning sizib chiqishini to'xtating

Docker sirlari qanday ishlaydi va ishlab chiquvchilar ulardan qayerda noto'g'ri foydalanadilar

Docker sirlari API kalitlari, ma'lumotlar bazasi parollari va tokenlar kabi maxfiy ma'lumotlarni xavfsiz boshqarish uchun joriy etildi. Ular sirlarni fayllar sifatida o'rnatish orqali ishlaydi. /yugurish/sirlar konteyner ichida, faqat konteynerlangan xizmatga kirish mumkin. Bu mexanizm, hech bo'lmaganda nazariy jihatdan, muhit o'zgaruvchilari va jurnallarining sirlarini saqlaydi. Muammo ishlab chiquvchilar ushbu mexanizmni chetlab o'tganda boshlanadi. Docker Compose sirlaridan foydalanish o'rniga xususiyati to'g'ri bo'lsa, sirlar ko'pincha qattiq kodlanadi Docker fayli, commitGitga yuboriladi yoki muhit o'zgaruvchilari orqali kiritiladi. Ushbu yorliqlar sirlarni jurnallar, konteyner qatlamlari yoki versiya tarixi orqali tasodifiy oshkor bo'lishga moyil qiladi.

# Risky ENV DB_PASSWORD=mysecretpassword 

⚠️ Xavfsiz misol, ishlab chiqarishda ishlatmang

Ushbu qator qo'shilgandan so'ng, u rasmga qatlamlanadi. Rasmga kirish huquqiga ega bo'lgan har qanday kishi (tuzilma keshi, registr yoki CI/CD logs) uni ajratib olishi mumkin. Bundan ham yomoni, bu naqsh ko'pincha ko'rib chiqishlar paytida e'tiborga olinmaydi, chunki u "shunchaki ishlaydi".

Docker Compose sirlari va umumiy konfiguratsiyalardagi yashirin xavflar

Docker Compose ko'p konteynerli ilovalarni soddalashtiradi, ammo Docker Compose sirlari yashirin xavflar bilan birga keladi. Ishlab chiquvchilar ko'pincha birgalikda foydalanadilar Docker Compose. yml or .NS Git, Slack yoki umumiy disklar orqali jamoalar va muhitlar bo'ylab fayllar.

services: app: image: myapp secrets: - db_password  secrets: db_password: file: ./secrets/db_password.txt 

⚠️ Namoyishiy misol, versiyalangan fayllarga haqiqiy sirlarni kiritmang

Muammo nimada? Bular Docker tuzish sirlari Ma'lumotnomalar mahalliy fayllarni nazarda tutadi, ammo amalda bu fayllar versiyalashtiriladi yoki xavfsiz bo'lmagan tarzda tarqatiladi. Sirlar Git omborlariga yashirincha kirib, paydo bo'ladi pull requestsyoki boshqa papkalarga nusxalanadi. "Biz hammamiz bilamizki, bunday qilmaslik kerak" degan taxmin commit "sirlar" xavfsizlik siyosati emas.

Eng yomoni, sahnalashtirish va ishlab chiqarish kabi muhitlar bir xil muhitlardan qayta foydalanishi mumkin. docker-compose.yml, yolg'on ajralish tuyg'usini yaratadi. Noto'g'ri sozlangan .NS fayl va ishlab chiqarish sirlari sinov muhitiga kiritiladi.

CI/CD Pipelines: Docker maxfiy boshqaruvi buzilgan joy

In CI/CD, Docker sirlari agar yakkalanmasa, parchalanib ketadi. Sirlar ko'pincha oshkor bo'ladi uchta joyda: jurnallar, rasm qatlamlari va umumiy yuguruvchilar.

Qaydlar: CI qadamlarini chop etish $SECRET_KEY aks-sadosi muammolarni tuzatish uchun. Lekin bu jurnallar ba'zan ommaviy ravishda saqlanadi. Masalan, GitHub harakatlari or GitLab jurnallarni kunlar yoki haftalar davomida saqlang.

Rasm qatlamlariAgar Dockerfile yaratish paytida maxfiy ma'lumot qo'shsa:

RUN echo "$SECRET_KEY" > /app/config.txt 

⚠️ Xavfsiz misol, bu rasm qatlamlaridagi sirlarni fosh qiladi

ekan Docker siri endi rasm qatlamining bir qismidir. Faylni keyinroq o'chirsangiz ham, oldingi qatlam rasm tarixida qoladi.

Birgalikda yuguruvchilar: Ko'pchilik CI/CD platformalar umumiy yuguruvchilardan foydalanadi. Agar sirlar to'g'ri miqyoslanmagan yoki tozalanmagan bo'lsa, boshqa tuzilishlar ularga kirishi mumkin. Eng yomoni, sirlar ba'zan barcha bosqichlarga sukut bo'yicha muhit o'zgaruvchilari sifatida uzatiladi.

Kodda Dockerni himoyalash, Pipelineva registrlar

Qulflash uchun Docker sirlari, ishlab chiquvchilar jamoalari qatlamli himoyaga muhtoj:

  • Maxfiy menejerlardan foydalaning masalan, AWS Secrets Manager, HashiCorp Vault yoki Doppler. Ushbu vositalar ish vaqtida sirlarni aylantiradi va konteynerlaringizga xavfsiz tarzda kiritadi.
  • Limit doiralariIshlab chiqarish sirlarini hech qachon ishlab chiqish/sinov muhitida oshkor qilmang. Sirlarni kim kiritishi yoki o'qishi mumkinligini cheklash uchun rolga asoslangan kirishni boshqarish (RBAC) dan foydalaning.
  • Sirlar uchun ENV varslaridan qoching. Foydalanish Docker siri jildlar yoki o'rnatish sirlarini fayllar sifatida aniq ko'rsating.
  • Qurilishlarni tozalashSirlar rasmlarga singib ketmaganligiga yoki oraliq fayllarda qolmaganligiga ishonch hosil qiling.
  • Konteynerlar va omborlarni skanerlangTasvirlarni, git tarixini va boshqalarni tekshiradigan vositalardan foydalaning CI/CD Oqilgan sirlar uchun konfiguratsiyalar.

Docker maxfiy ta'sirining oldini olishning eng yaxshi amaliyotlari

  • Vaqtinchalik sirlarCI ishga tushirilishi paytida bir martalik sirlarni yaratadi. Ularning amal qilish muddati tugaydi va o'g'irlangan taqdirda qayta ishlatib bo'lmaydi.
  • Muhrlangan sirlarGit’da sirlarni shifrlash uchun Kubernetes Sealed Secrets yoki SOPS’dan foydalaning. Bu sirlarning xavfsiz versiyalanishini ta’minlaydi.
  • CI/CD siyosat: Quyidagi kabi siyosatlarni amalga oshirish Dockerfile'da hech qanday sir yo'q, blok maxfiy aniqlash va jurnallardan foydalanishga asoslanadi Docker sirlari har pipeline.
  • Pre-commit hooks: Blok commitkabi vositalardan foydalangan holda sirlar bilan git-sirlari or sirlarni aniqlash.
  • O'zgarmas infratuzilmaKonteynerlardagi sirlarni o'zgartirmang. Yangisi bilan qayta yarating va qayta joylashtiring Docker sirlari Buning o'rniga.

Xulosa

Noto'g'ri ishlatilganda, Docker sirlari xavfsizlik xususiyati o'rniga majburiyatga aylanish. Dan Docker Compose sirlari YAML fayllari orqali oqish CI/CD pipelinejurnallarda yoki qatlamlarda sirlarni oshkor qilish bilan birga, xavflar real va oldini olish mumkin.

kabi vositalardan foydalanish Xygeniy, jamoalar ta'sirlanganlarni aniqlay oladi sirlari erta ishga tushirish, maxfiy ishlov berish siyosatini amalga oshirish va kod, konteynerlar va boshqa joylarda xavfsizlikdagi o'zgarishlarni tekshirish. pipelines. D ni davolangocker siri strategiya muhim infratuzilma sifatida. Uni o'zingiz xohlagandek himoya qiling.

sca-vositalari-dasturiy ta'minot-kompozitsiya-tahlil-vositalari
Dasturiy ta'minot xavflaringizni ustuvorlashtiring, bartaraf eting va himoya qiling
Bepul hisobingizni oling.
Kredit karta talab qilinmaydi.

Dasturiy ta'minotingizni ishlab chiqish va yetkazib berishni ta'minlang

Xygeni mahsulot to'plami bilan