DevSecOps. Na czym polega rozszerzenie metodyki DevOps?

j-labs

W ostatnich latach zauważamy wiele zmian w środowisku IT. Jedną z istotniejszych transformacji jest to, co dzieje się w świecie cyberbezpieczeństwa, operacji i zarządzania ryzykiem. Szybkość wdrażania nowych rozwiązań idzie w parze z rosnącymi zagrożeniami cybernetycznymi. I podczas gdy dobrze nam już znany (niemal tradycyjny) DevOps koncentruje się na automatyzacji i usprawnieniu procesów wdrożeniowych, to nie zawsze uwzględnia kwestie bezpieczeństwa na wczesnym etapie cyklu życia oprogramowania (później będziemy skrótowo pisać o tym SDLC – Software Development Lifecycle). 

I w tym miejscu pojawia się DevSecOps – co to za rola (lub metodyka, bo sformułowanie może dotyczyć obu)? Na czym polega? Poznaj definicję, różnice i najważniejsze fakty.

Co to DevSecOps i czym różni się od DevOps?

DevSecOps stanowi naturalną ewolucję DevOps. W centrum jego zainteresowań jest bezpieczeństwo: i to bezpieczeństwo rozumiane jako kluczowy element każdej fazy SDLC – od planowania, przez rozwój, testowanie, aż po wdrożenie i utrzymanie. W j‑labs bezpieczeństwo to po prostu standard. Nasze podejście do DevSecOps opiera się na automatyzacji, kulturze współpracy oraz stosowaniu sprawdzonych praktyk i norm, w tym ISO/IEC 27001.

Definicja DevSecOps

DevSecOps to metodyka rozszerzająca DevOps o aspekty bezpieczeństwa na wszystkich etapach SDLC. Głównym założeniem jest „Shift Left Security”, czyli przesunięcie testów bezpieczeństwa na jak najwcześniejsze etapy tworzenia oprogramowania. Dzięki temu zespoły mogą wykrywać i eliminować podatności w kodzie jeszcze zanim ten trafi do środowiska produkcyjnego.

Z drugiej strony możemy też mówić o inżynierze DevSecOps, czyli specjaliście w tej dziedzinie – sformułowanie może odnosić się więc zarówno do metodologii, jak i do roli. 

PS Kiedyś na naszym Talk4Devs omawialiśmy temat DevOps/SysOps – sprawdź nadchodzące konferencje, może coś Cię zainteresuje?

Kluczowe zasady DevSecOps – na czym opiera się ta metodologia?

Żeby najlepiej – i najprościej – wyjaśnić specyfikę DevSecOps, skupmy się na tym, co nowego wnosi cząstka „Sec” do znanych nam procesów. Przede wszystkim nowością (albo udoskonaleniem tego, co było wcześniej) są:

  1. Shift Left Security – integracja bezpieczeństwa od samego początku cyklu życia aplikacji.
  2. Automatyzacja – i to całościowa, od zera; pełna automatyzacja testów bezpieczeństwa w procesach CI/CD.
  3. Ciągłe testowanie – przede wszystkim zabezpieczeń: mowa tutaj o dynamicznej analizie kodu, skanowania zależności czy wreszcie analizy pewnych luk, które mogą przerodzić się w przyszłości w źródła problemów z bezpieczeństwem.
  4. Współpraca międzydziałowa – zespoły Dev, Ops i Sec współpracują między sobą. To dobra praktyka – dzięki niej komunikacja jest przejrzysta i ciągła.
  5. Security as Code – to sformułowanie odnosi się do spójnego, całościowego traktowania bezpieczeństwa i kodu. W praktyce przekłada się na sprawne definiowanie zabezpieczeń w kodzie oraz ich zautomatyzowaną weryfikację. Testy bezpieczeństwa są w DevSecOps równie ważne, co testy funkcjonalności.

Źródło: https://www.splunk.com/en_us/blog/learn/devsecops-concepts-principles.html 

Zobacz też na naszym blogu kategorię wpisów poświęconą DevOps.

Na czym polega DevSecOps? Wyzwania związane z wdrożeniem i działaniem

Umówmy się – choć DevSecOps już za kilka lat stanie się absolutnym priorytetem firm (a nie tylko czymś opcjonalnym), to współcześnie firmy zderzają się z szeregiem wyzwań związanych z samym wdrożeniem tej metodologii do firmy albo przy zatrudnieniu specjalisty DevSecOps. Dlaczego?

Integracja bezpieczeństwa wymaga zmiany mentalności i metod pracy. A co więcej, wymaga wiedzy zarówno z zakresu programowania, jak i bezpieczeństwa – i rzecz jasna kompetencji miękkich (przy tej okazji warto przypomnieć nasz wpis: Interdyscyplinarność w IT. Jak budować swoją karierę). 

Zdarzają się też problemy z wdrożeniem i utrzymaniem procesów bezpieczeństwa – w j‑labs staramy się pokazać kierunek, w którym warto się w tym kontekście rozwijać. Zamiast wahać się, czy warto inwestować w DevOps czy DevSecOps, postaw na skalowalne rozwiązania, aby przy okazji uczyć się nowych narzędzi i praktyk. Bo automatyzacja bezpieczeństwa wymaga wdrożenia nowych technologii i procesów – firma musi być na to gotowa.

Uważamy też, że jednymi z ciekawszych praktyk wdrażania DevSecOps w przedsiębiorstwie jest stopniowe przekształcanie tradycyjnych DevOps – na przykład przez wprowadzenie podejścia Security Champions, które polega na wyznaczaniu w zespołach DevOps osób odpowiedzialnych bezpośrednio za bezpieczeństwo. To ważny krok naprzód. Kolejna sprawa? Integracja narzędzi automatycznych (wykorzystanie SAST, DAST, SCA oraz monitoringu zagrożeń w CI/CD) oraz edukacja – chociażby w formie szkoleń zewnętrznych dla zespołów.

Sprawdź, jak możemy Ci pomóc w ramach IT Team Augmentation – rzuć nam wyzwanie, jak możemy pomóc rozwinąć Twój projekt! Link do formularza: https://www.j-labs.pl/kontakt/.

Poznaj mageek of j‑labs i daj się zadziwić, jak może wyglądać praca z j‑People!

Skontaktuj się z nami