Qurma prosesinə mühit dəyişənlərini yeritmək birdir standard müasir təcrübə CI/CD pipelines. Komandalar, sirləri, tokenləri və icra müddəti konfiqurasiyasını sərt kodlaşdırma dəyərləri olmadan quruluşlara ötürmək üçün quruluş prosesinə mühit dəyişənləri yeridirlər. Səthdən bu, sadə və təhlükəsiz bir nümunə kimi görünür.
Lakin, praktikada, bu, çox vaxt proqram təminatı təchizatı zəncirində ən az qiymətləndirilən risklərdən birinə çevrilir.
Çünki komandalar mühit dəyişənlərini build prosesinə daxil etdikdən sonra, bu dəyərlər təcrid olunmağı dayandırır. Onlar həmin prosesdə işləyən hər şey üçün əlçatan olur. pipeline. Quruluş skriptləri, CLI alətləri, üçüncü tərəf hərəkətləri və hətta asılılıqlar onları oxuya bilər.
İşlər burada pozulmağa başlayır.
Bu təlimatda, komandaların real olaraq mühit dəyişənlərini qurma prosesinə necə yeritdiyini izah edirik pipelines, sızmaların əslində harada baş verdiyi və inkişafı ləngitmədən tikinti prosesini necə təmin etmək olar.
Quraşdırma Prosesinə Ətraf Mühit Dəyişənlərini Yerləşdirmək Nə Deməkdir
Əsasən, mühit dəyişənlərinin inyeksiya edilməsi dəyərlərin a-ya ötürülməsi deməkdir pipeline iş zamanı işlərin onlara daxil ola bilməsi üçün iş vaxtında.
Bu dəyərlərə adətən API açarları, verilənlər bazası etimadnamələri, tokenlər və ya mühitə xas konfiqurasiya daxildir. Onları birbaşa kodda saxlamaq əvəzinə, CI/CD Sistem qurulma başlayanda onları dinamik şəkildə yükləyir.
Bu, əsl problemi həll edir. Kodu təmiz saxlayır, təkrarlanmanın qarşısını alır və eyni şeyi etməyə imkan verir. pipeline səhnələşdirmə, sınaq və istehsal mühitlərində işləmək üçün.
Lakin, bu model artıq qüvvədə olmayan bir fərziyyəyə əsaslanır: qurulma mühitinin idarə olunduğu və proqnozlaşdırıla biləcəyi.
Müasir pipelines heç biri deyil. Bunlara çoxsaylı addımlar, xarici inteqrasiyalar və kodu dinamik şəkildə icra edən asılılıqlar daxildir. Nəticədə, dəyişən yeridildikdən sonra artıq sadəcə konfiqurasiya deyil. O, icra kontekstinin bir hissəsinə çevrilir.
Ətraf Mühit Dəyişkənlərinin Quruluş Prosesində Sızması
Sızmaların əksəriyyəti kimsə açıq şəkildə sirri ifşa etdiyi üçün baş vermir. Onlar baş verir, çünki pipelines, tərtibatçıların tam olaraq gözləmədiyi şəkildə davranır.
Məsələn, bir geliştirici, uğursuz bir quruluşu ayıklamaq üçün ətraflı qeydiyyatı aktivləşdirə bilər. CLI aləti mühit dəyişənlərini çıxışının bir hissəsi kimi çap edə bilər. Asılılıq, icrasının bir hissəsi olaraq proses dəyişənlərinə səssizcə daxil ola bilər.
Bu hərəkətlərin heç biri öz-özünə şübhəli görünmür. Lakin, birlikdə bir neçə sızma yolu yaradırlar.
Sirrlər aşağıdakılarla nəticələnə bilər:
- saxlanılan və indekslənən qeydlər yaradın
- Komandalar arasında paylaşılan debug çıxışı
- xarici kodu işlədən üçüncü tərəf CI əməliyyatları
- quraşdırma və ya işləmə zamanı icra olunan asılılıqlar
- tikinti zamanı yaranan müvəqqəti artefaktlar
Sirr jurnallarda peyda olduqda, nadir hallarda gizli qalır. Jurnallar kopyalanır, saxlanılır və birdən çox sistemdə saxlanılır. Bu zaman ifşa orijinaldan daha da genişlənir. pipeline.
Buna görə də ətraf mühit dəyişkən sızmaları çox vaxt gec və zərər artıq dəydikdən sonra aşkar edilir.
Niyə Komandalar Qurma Prosesinə Ətraf Mühit Dəyişənlərini Yerləşdirirlər
Bu risklərə baxmayaraq, komandalar ətraf mühit dəyişkən inyeksiyasından çox asılıdırlar. Və bunun yaxşı səbəbi var.
Bu imkan verir pipelineÇevik qalmaq üçün s. Tək bir iş axını müxtəlif mühitlərə uyğunlaşa, birdən çox xidmətə qarşı identifikasiya edə və kodu dəyişdirmədən davranışı dinamik olaraq dəyişə bilər.
Sürətlə dəyişən DevOps mühitlərində bu elastiklik vacibdir. Bununla belə, elastiklik həmişə güzəştlərlə gəlir. Daha dinamik a pipeline nə qədər çox olarsa, onun daxilində baş verənləri idarə etmək bir o qədər çətinləşir. Hər əlavə addım, inteqrasiya və ya asılılıq həssas məlumatların əldə edilə biləcəyi yerlərin sayını artırır.
Nəticədə, mühit dəyişkəninin inyeksiyası konfiqurasiya detalından təhlükəsizlik məsələsinə keçir.
Quraşdırma Prosesinə Ətraf Mühit Dəyişənləri Yerləşdirərkən Ümumi Risklər
Risklər nəzəri deyil. Onlar real həyatda görünürlər pipelinehər gün.
Sirrlər ağaclara sızır
Günlüklər bunlardan biridir ən çox yayılmış məruz qalma mənbələri. Sazlama bayraqları, CLI alətləri və yığın izləri çox vaxt inkişaf etdiricilərin fərqinə varmadan həssas dəyərləri aşkar edir.
Açıldıqdan sonra bu dəyərlər sistemlər arasında sürətlə yayılır.
Həddindən artıq icazə verilən giriş
Çox pipelines bütün dəyişənləri bütün işlərə məruz qoyur. Bu, lazımsız risk yaradır.
Əgər addımlardan biri təhlükəyə məruz qalarsa, əslində ehtiyac duymadığı etimadnamələrə daxil ola bilər.
Asılılıq və hərəkət sui-istifadəsi
Müasir pipelines, üçüncü tərəf alətlərinə və inteqrasiyalarına çox güvənir. Bu komponentlər sirləriniz ilə eyni mühitdə işləyir.
Əgər onlardan biri zərərli davranarsa, daxil edilmiş dəyişənlərə səssizcə daxil ola bilər.
Uyğun olaraq OWASP, təchizat zənciri hücumları tez-tez qurulma prosesində etibarlı komponentləri istismar edir. Ətraf mühit dəyişənləri çox vaxt ən asan hədəfə çevrilir.
Kodda ehtiyat sirləri
Dəyişənlərin olmaması səbəbindən quruluşlar uğursuz olduqda, komandalar bəzən saxlamaq üçün ehtiyat dəyərlər əlavə edirlər pipelineqaçır.
Zamanla bu dəyərlər formalaşır commituzunmüddətli təsir yaradır və ya yerləşdirilir.
Ətraf Mühit Dəyişənlərini Quraşdırma Prosesinə Təhlükəsiz şəkildə Yerləşdirmək üçün Ən Yaxşı Təcrübələr
| Kateqoriya | Ən yaxşı təcrübə | Niyə məsələdir |
|---|---|---|
| Sirrlərin saxlanması | Seyf və ya CI sirləri menecerindən istifadə edin | Kodda ifşa olunmasının qarşısını alır |
| Nəzarət imkanı | Hər iş üçün girişi məhdudlaşdırın | Hücum səthini azaldır |
| Logging | Maska həssas dəyərlər | Sızmaların qarşısını alır |
| Əhatə dairəsi və ömürlük | Qısamüddətli etimadnamələrdən istifadə edin | Partlayış radiusunu məhdudlaşdırır |
| Qiymətləndirmə | Dəyişənlər çatışmazsa, xəta qurulur | Təhlükəli ehtiyatların qarşısını alır |
Niyə çoxlu CI/CD Təhlükəsizlik Alətləri Miss Env Var Sızıntıları
Əksər təhlükəsizlik vasitələri, quruluş tamamlandıqdan sonra kodu və ya asılılıqları skan etməyə yönəlmişdir.
Lakin, icra zamanı mühit dəyişkən sızmaları baş verir.
A pipeline sirləri düzgün şəkildə daxil edə və yenə də onları qeydlər və ya icra müddəti davranışı vasitəsilə ifşa edə bilər. Skaner problemi aşkarlayana qədər sirr artıq pozulmuş ola bilər.
Bu, aşkarlama və qarşısının alınması arasında boşluq yaradır.
Komandaların hərəkət edərkən hərəkət edən nəzarətə ehtiyacı var pipeline bitirdikdən sonra deyil, işləyir.
Təhlükəsiz Ətraf Mühit Dəyişkən Enjeksiyasını Necə Tövsiyə Edirik
Praktikada effektiv qorunma bir neçə ardıcıl prinsipə əsaslanır.
Sirləri kənarda saxlayın pipelineOnları yalnız icra zamanı yerləşdirin. Girişi minimum tələb olunan əhatə dairəsi ilə məhdudlaşdırın. Mümkün olduqda qısamüddətli etimadnamələrdən istifadə edin.
Eyni zamanda, necə olduğunu izləyin pipelines giriş həssas dəyərləri. Gözlənilməz giriş nümunələri tez-tez sızma görünməzdən əvvəl riski göstərir.
Bu yanaşma təhlükəsizliyi reaktiv aşkarlamadan proaktiv nəzarətə keçirir.
Xygeni necə qorunmağa kömək edir CI/CD Gizli inyeksiya
Xygeni yalnız quraşdırma sonrası skan etməyə etibar etmək əvəzinə, necə olduğunu təhlil edir pipelines işləyərkən mühit dəyişənlərindən istifadə edir. Buraya sirlərin işlərdə necə hərəkət etməsi, build addımlarının onlara necə daxil olması və asılılıqların icra mühiti ilə necə qarşılıqlı əlaqədə olması daxildir.
Məsələn, Xygeni nə vaxt aşkar edə bilər pipeline dəyişənləri çox geniş şəkildə ifşa edir, bir addım həssas dəyərləri jurnallara çap etmək riski olduqda və ya asılılıq gözlənilmədən etimadnamələrə daxil olmağa çalışdıqda.
Eyni zamanda, guardrails siyasəti birbaşa həyata keçirmək pipelineKomandalar təhlükəli qurğuları bloklaya, müəyyən işlərə gizli girişi məhdudlaşdıra və riskli konfiqurasiyaların istehsala çatmasından əvvəl qarşısını ala bilərlər.
Çünki bu, daxilində baş verir CI/CD iş axını, tərtibatçıların işləmə tərzini dəyişdirməyə ehtiyacı yoxdur. Təhlükəsizlik bir hissəsinə çevrilir pipeline, ayrı bir addım deyil.
Nəticədə, komandalar sirlərin necə istifadə edildiyini görmək imkanı əldə edir, onların necə ifşa olunduğunu nəzarətdə saxlayır və çatdırılmanı yavaşlatmadan sızma riskini azaldır.
Final düşüncələr
Bununla belə, bu, çox vaxt diqqətdən kənarda qalan bir risk təbəqəsi də yaradır.
Problem mühit dəyişənlərindən istifadə etmək deyil, icra zamanı onların təsirini necə idarə etməkdir.
Müasir DevOps mühitlərində, qurulma prosesi zamanı sızmaların qarşısını almaq, sonradan onları aşkar etməkdən daha vacibdir.




