Koncepcje Infrastructure as Code (IaC) oraz Continuous Integration/Continuous Deployment (CI/CD) są od dawna znane i wykorzystywane w wielu projektach, głównie tych realizowanych w chmurze obliczeniowej oraz związanych z tworzeniem oprogramowania. Czy sprawdzą się także w projektach z kategorii cyberbezpieczeństwa? Jak najbardziej – szczególnie przy wdrażaniu i zarządzaniu systemami klasy SIEM i SOAR. W tym artykule znajdziesz kluczowe informacje na temat tego, jak wspierają one nowoczesne zarządzanie Security Operations Center.
Czym są systemy SIEM i SOAR?
Systemy SIEM (ang. Security Information and Event Management) i SOAR ( ang. Security Orchestration, Automation and Response) stanowią jedne z najbardziej podstawowych narzędzi w zespołach security, zarówno w mniejszych, jak i większych organizacjach – wszędzie tam, gdzie pojawia się wątek monitoringu bezpieczeństwa lub analizy logów. SIEM pozwala gromadzić dane i, do pewnego stopnia, automatycznie je analizować w poszukiwaniu podejrzanych wzorców i korelacji (reguły detekcji), natomiast SOAR usprawnia i automatyzuje proces reagowania na wykryte zagrożenia.
Tradycyjnie systemy klasy SIEM lub SOAR wykorzystywane w zespołach SOC są zazwyczaj zarządzane ręcznie, co stwarza ryzyko wystąpienia niespójności, błędów spowodowanych czynnikiem ludzkim oraz trudności ze skalowaniem. Zastosowanie metodologii IaC oraz CI/CD znacząco przyczynia się do rozwiązywania tych problemów.
Infrastructure as Code w kontekście SOC
W kontekście SOC, Infrastructure as Code obejmuje przede wszystkim przechowywanie konfiguracji oraz elementów infrastruktury w kodzie - zgodnie z podstawową ideą IaC. Jeśli chodzi o systemy SIEM i SOAR, poza samymi zasobami (np. instancją Log Analytic Workspace oraz Microsoft Sentinel przechowywanym w formie kodu Terraform), możesz gromadzić także reguły detekcji, parsery lub playbooki SOAR-owe.
Takie podejście może okazać się szczególnie pomocne w przypadku scenariusza, w którym kod przechowywany jest w repozytorium (np. Git) z kontrolą wersji, wpisując się w ten sposób dodatkowo w ideę SCM (Source Control Management). Repozytorium stanowi wówczas pojedyncze, centralne źródło informacji, w którym łatwo zweryfikujesz każdą zmianę wprowadzoną w zasobach i/lub ich konfiguracji.
CI/CD w procesie zarządzania SOC
Kolejnym kluczowym elementem w zmodernizowanym sposobie zarządzania SOC są potoki CI/CD. Ich implementację możemy podzielić na dwie części.
Continuous Integration (CI)
CI (tłum. ciągła integracja) obejmuje rozwijanie i stałe integrowanie zasobów i konfiguracji we wspólnym repozytorium. W celu zapewnienia niezbędnych standardów oraz spełnienia zarówno wymagań formalnych, jak i technicznych (np. uniknięcie wprowadzenia niedziałającej/wadliwej konfiguracji, która mogłaby narazić system na nieplanowaną przerwę w działaniu), każda zmiana może zostać poddana zautomatyzowanym testom przed dostaniem się na gałąź produkcyjną. Ta dodatkowa warstwa kontroli pozwala większej liczbie osób z zespołów SOC jednocześnie pracować nad rozwiązaniami, bez obaw o narażenie systemów produkcyjnych na szkodę.
Continuous Deployment (CD)
CD (tłum. ciągłe wdrażanie) zakłada etap automatycznego wdrażania zmian w konfiguracji do systemów SIEM i SOAR zaraz po przejściu testów opisanych w paragrafie wyżej i potencjalnych testów akceptacyjnych prowadzonych przez zespół inżynierów SOC. Dzięki takiej budowie procesu, wszelkie zmiany, aktualizacje lub nowe reguły są szybko i w kontrolowany sposób wprowadzane do środowiska.
Kluczowe korzyści z zarządzania SOC za pomocą IaC w połączeniu z procesami CI/CD
- Spójność i niezawodność – Zautomatyzowanie procesu wdrażania eliminuje ryzyko błędów ludzkich i zapewnia spójność w przypadku różnych środowisk.
- Szybsze cykle wdrażania – Zmiany i aktualizacje możesz wdrażać szybko, a proces weryfikacji zmiany – częściowo lub w pełni zautomatyzować. To, na przykład, w kontekście wprowadzania nowych reguł detekcji w systemie SIEM, może przekładać się na skrócenie średniego czasu wykrycia (ang. mean time to detect, MTTD).
- Kontrola wersji – Wszystkie zmiany są śledzone i poddawane kontroli wersji. Dodatkowo, przechowywane są w repozytoriach, co pozwala na pełny audyt, monitorowanie każdej zmiany, a – w razie potrzeby – szybki rollback oraz łatwiejszą współpracę w przypadku dużych zespołów.
- Automatyzacja testów – Zintegrowane testowanie nowych zmian w potoku CI/CD pozwala zapobiec zakłóceniu istniejących przepływów pracy, a także może zapobiegać wprowadzaniu wadliwej konfiguracji do środowisk produkcyjnych.
- Skalowalność – Modernizacja i automatyzacja procesu zarządzania SOC zdecydowanie ułatwia skalowalność wraz z rozwojem infrastruktury bezpieczeństwa, a także zarządzanie dużymi środowiskami – nawet wieloma w tym samym czasie.
Rys. 1: Kluczowe korzyści z zarządzania SOC za pomocą IaC w połączeniu z procesami CI/CD
Przykładowy workflow CI/CD dla wdrożenia reguł detekcji w SIEM
Najłatwiejszym sposobem na szybkie zrozumienie tego, jak w praktyce może wyglądać proces łączenia idei IaC i CI/CD, jest przedstawienie go na konkretnym przykładzie. Przyjmijmy, że w danej organizacji zespół SOC korzysta z SIEM (np. Microsoft Sentinel) i zarządza regułami detekcji poprzez wykorzystanie procesów CI/CD. W takim przypadku, cykl życia procesu wdrażania i/lub dostosowywania istniejących reguł mógłby wyglądać następująco:
1. Rozwój i kontrola źródeł
- Opracowanie nowych reguł detekcji przez analityków z zespołu ds. bezpieczeństwa, przechowywanie ich w formie kodu i korzystanie z dedykowanej gałęzi w repozytorium Git.
- Stworzenie pull request, który uruchamia automatyczny potok.
2. Automatyczna walidacja
- Przeprowadzenie automatycznej, statycznej analizy kodu, w poszukiwaniu np. błędów składni.
- Przeprowadzenie testów jednostkowych w celu walidacji logiki reguł wykrywania.
3. Testy integracyjne i akceptacyjne
- Wdrożenie nowych reguł do środowiska testowego; przeprowadzenie symulowanego scenariusza ataków w celu zweryfikowania skuteczności reguł i upewnienia się, że nie generują fałszywych alarmów.
4. Wdrożenie produkcyjne
- Przeprowadzenie dodatkowych testów akceptacyjnych dla zmian przez inżynierów z zespołu SOC (opcjonalnie).
- Automatyczne wdrażanie reguł do środowiska produkcyjnego.
Rys. 2: Przykładowy workflow CI/CD dla wdrożenia reguł detekcji w SIEM
Podsumowanie
Zarządzanie SOC w myśl SOC as a Code przy użyciu procesów CI/CD zwiększa niezawodność procesów, przejrzystość wprowadzanych zmian i skalowalność środowisk, co jest szczególnie zauważalne w przypadku wdrażania i utrzymania systemów klasy SIEM i SOAR. Zastosowanie takiego podejścia pozwala także na efektywną współpracę zespołów i wyeliminowanie błędów typowych dla zarządzania metodą ręczną, przy jednoczesnym monitorowaniu ryzyka wprowadzenia niepożądanej zmiany w środowisku produkcyjnym.
Przyjęcie metodologii IaC oraz CI/CD oznacza krok w stronę znaczącej modernizacji działania zespołów SOC, który pozwala nie tylko pozostawać na bieżąco z nieustannie zmieniającym się krajobrazem usług w sektorze cybersecurity/compliance, ale także zapewnia gotowość na przyszłe wyzwania.