Post by tesek86179 on Nov 12, 2024 4:47:20 GMT
Buna ziua! Oleg Kazakov de la Spectr este în legătură .
Problemele de securitate ale software-ului dezvoltat au devenit foarte acute în ultima vreme, iar introducerea practicilor de dezvoltare sigure în procesele existente devine o necesitate.
Am pregătit o serie de articole în care vă vom împărtăși experiența și cele mai bune practici și vă vom spune în ce constă DevSecOps și cum să îl implementăm în procesul de dezvoltare.
În primul articol vom vorbi despre teoria Lista de e-mail B2B DevSecOps și vom arunca o privire mai atentă asupra Verificărilor pre-commit.
Introducere
Experiența vastă în dezvoltarea personalizată ne permite să vedem un număr mare de cazuri speciale și diverse opțiuni pentru procesele de dezvoltare - există avantaje și dezavantaje în acest sens.
Principalul dezavantaj este că această entropie și un număr mare de particularități ne impun restricții în ceea ce privește aplicabilitatea anumitor instrumente și practici, deoarece trebuie să luăm în considerare, de exemplu, următorii factori:
proiecte diferite (și uneori în cadrul aceluiași proiect) pot folosi o stivă diferită;
structura și stilul codului diferă de la proiect la proiect;
diferite echipe cu propriile lor procese pe diferite proiecte;
infrastructură diferită pentru proiecte diferite cu un set unic de instrumente și microservicii.
Este important pentru noi să avem soluții pe care să le putem configura o singură dată și, cu o adaptare minimă, ar trebui să funcționeze într-un mediu diferit, cu oameni diferiți, cu proiecte diferite și cu o stivă diferită.
Ne-am concentrat pe acele abordări care sunt universale și aplicabile de la proiect la proiect - vor fi descrise într-o serie de articole și cu un grad ridicat de probabilitate le veți putea implementa în procesul dumneavoastră cu modificări minime.
DevSecOps pe scurt
Dacă încercăm să dăm o scurtă definiție a acestui proces, obținem așa ceva.
DevSecOps este o tehnică pentru integrarea diferitelor etape ale testării de securitate în toate etapele procesului CI/CD în DevOps obișnuit. De regulă, vorbim despre următoarele etape: Verificări pre-comitare, Verificări în timpul comiterii, Verificări post-build, Verificări în timpul testării, Verificări în timpul implementării.
Verificări pre-angajare. Verificarea codului pentru informații sensibile (parole, secrete, jetoane etc.) care nu ar trebui să ajungă în istoricul Git.
Verificări la momentul comiterii. Verificări care rulează atunci când se efectuează un commit pentru a monitoriza corectitudinea și securitatea codului din depozit.
Verificări post-construcție. Verificările care sunt efectuate după ce aplicația este construită și includ testarea artefactelor de construcție (de exemplu, imagini docker).
Verificări în timpul testului. Etapa de testare a aplicației implementate pentru vulnerabilități (de exemplu, pentru a scana API-ul pentru vulnerabilități populare).
Verificări la momentul implementării. Se execută atunci când o aplicație este implementată și verifică infrastructura pentru vulnerabilități.
În primul articol, ne vom concentra asupra Verificărilor prealabile și ne vom uita la exemple practice de introducere a acestui lucru în procesul de dezvoltare.
DevSecOps și GitLab
Este un fapt binecunoscut că GitLab este înaintea curbei în ceea ce privește instrumentele încorporate pentru DevSecOps și asta este ceea ce ne vom uita în acest articol.
Dar există o nuanță: o parte semnificativă a instrumentelor încorporate pentru lucrul cu DevSecOps este inclusă în versiunile Premium și Ultimate ale GitLab, iar acest lucru nu ne convine complet. În cadrul articolelor, vom lua în considerare soluții care pot fi aplicate pe orice versiune.
Problemele de securitate ale software-ului dezvoltat au devenit foarte acute în ultima vreme, iar introducerea practicilor de dezvoltare sigure în procesele existente devine o necesitate.
Am pregătit o serie de articole în care vă vom împărtăși experiența și cele mai bune practici și vă vom spune în ce constă DevSecOps și cum să îl implementăm în procesul de dezvoltare.
În primul articol vom vorbi despre teoria Lista de e-mail B2B DevSecOps și vom arunca o privire mai atentă asupra Verificărilor pre-commit.
Introducere
Experiența vastă în dezvoltarea personalizată ne permite să vedem un număr mare de cazuri speciale și diverse opțiuni pentru procesele de dezvoltare - există avantaje și dezavantaje în acest sens.
Principalul dezavantaj este că această entropie și un număr mare de particularități ne impun restricții în ceea ce privește aplicabilitatea anumitor instrumente și practici, deoarece trebuie să luăm în considerare, de exemplu, următorii factori:
proiecte diferite (și uneori în cadrul aceluiași proiect) pot folosi o stivă diferită;
structura și stilul codului diferă de la proiect la proiect;
diferite echipe cu propriile lor procese pe diferite proiecte;
infrastructură diferită pentru proiecte diferite cu un set unic de instrumente și microservicii.
Este important pentru noi să avem soluții pe care să le putem configura o singură dată și, cu o adaptare minimă, ar trebui să funcționeze într-un mediu diferit, cu oameni diferiți, cu proiecte diferite și cu o stivă diferită.
Ne-am concentrat pe acele abordări care sunt universale și aplicabile de la proiect la proiect - vor fi descrise într-o serie de articole și cu un grad ridicat de probabilitate le veți putea implementa în procesul dumneavoastră cu modificări minime.
DevSecOps pe scurt
Dacă încercăm să dăm o scurtă definiție a acestui proces, obținem așa ceva.
DevSecOps este o tehnică pentru integrarea diferitelor etape ale testării de securitate în toate etapele procesului CI/CD în DevOps obișnuit. De regulă, vorbim despre următoarele etape: Verificări pre-comitare, Verificări în timpul comiterii, Verificări post-build, Verificări în timpul testării, Verificări în timpul implementării.
Verificări pre-angajare. Verificarea codului pentru informații sensibile (parole, secrete, jetoane etc.) care nu ar trebui să ajungă în istoricul Git.
Verificări la momentul comiterii. Verificări care rulează atunci când se efectuează un commit pentru a monitoriza corectitudinea și securitatea codului din depozit.
Verificări post-construcție. Verificările care sunt efectuate după ce aplicația este construită și includ testarea artefactelor de construcție (de exemplu, imagini docker).
Verificări în timpul testului. Etapa de testare a aplicației implementate pentru vulnerabilități (de exemplu, pentru a scana API-ul pentru vulnerabilități populare).
Verificări la momentul implementării. Se execută atunci când o aplicație este implementată și verifică infrastructura pentru vulnerabilități.
În primul articol, ne vom concentra asupra Verificărilor prealabile și ne vom uita la exemple practice de introducere a acestui lucru în procesul de dezvoltare.
DevSecOps și GitLab
Este un fapt binecunoscut că GitLab este înaintea curbei în ceea ce privește instrumentele încorporate pentru DevSecOps și asta este ceea ce ne vom uita în acest articol.
Dar există o nuanță: o parte semnificativă a instrumentelor încorporate pentru lucrul cu DevSecOps este inclusă în versiunile Premium și Ultimate ale GitLab, iar acest lucru nu ne convine complet. În cadrul articolelor, vom lua în considerare soluții care pot fi aplicate pe orice versiune.