Security Master Class Secure Configuration Life Cycle Marcin Piebiak Senior Solutions Architect Linux Polska Sp. z o.o. 1
Secure Configuration Life Cycle Wykorzystanie narzędzi do automatyzacji w procesie wdrożenia i utrzymania standardów bezpieczeństwa oraz likwidacji podatności 2
Proces zmiany A procedura > A' Wielofazowy proces zarządzania zmianą obejmuje: 3 fazę przygotowania podjęcie decyzji o konieczności przeprowadzenia zmiany, dokonanie wyboru najlepszego rozwiązania oraz jego zaprojektowanie, analiza stanu infrastruktury oraz zasięgu planowanej zmiany, fazę wdrożenia stworzenie szczegółowego projektu zmian oraz projektu wdrożeniowego, opracowanie harmonogramu wdrożenia, wprowadzenie zmiany w praktyce oraz odpowiednia kontrola wdrożenia, fazę oceny ocena wyników zmiany i wpływu jej na pozostałe elementy infrastruktury, wzmocnienie dotychczasowych osiągnięć poprzez dalszą adaptację dokonanych zmian,
Proces zmiany A procedura > A' akceptacja problem aktualny stan infrastruktury propozycja rozwiązania problem zmiana potrzeba - konfiguracja - usługi systemowe - funkcje systemu - parametry techniczne - itp,... 4 nowy stan infrastruktury potrzeba weryfikacja zmiany - konfiguracja - usługi systemowe - funkcje systemu - parametry techniczne - itp,...
Proces zmiany A procedura > A' Wady standardowego procesu wdrożenia zmiany 5 Brak cyklicznej weryfikacji obecności zmiany w infrastrukturze i informacji o odstępstwie od polityki Konieczność wielokrotnego ręcznego wdrożenia naraża systemy na błędy typowo ludzkie Trudność w określeniu zasięgu konieczności wprowadzenia zmiany Brak możliwości stworzenia instrukcji wdrożenia pasującej do wszystkich systemów (każdy system może znajdować się w innym stanie początkowym) Możliwość pominięcia wprowadzenia zmiany na systemach czasowo niedostępnych lub nowo utworzonych
Automatyzacja 6 Scentralizowana konfiguracja Bieżąca informacja o infrastrukturze Cykliczna weryfikacja konfiguracji Możliwość audytu Możliwość wymuszania utrzymania konfiguracji Deklaratywny opis stanu Deterministyczny stan infrastruktury A > A' stan stan'
Architektura Centralny serwer przechowujący konfigurację i posiadający informacje o stanie zarządzanych systemów Stan Konfiguracja 7
Odkrywanie Możliwość wyszukiwania systemów spełniających określone charakterystyki 8 Ile jest systemów Red Hat w wersji 6.3? Ile jest systemów Red Hat w wersji 5, w sieci 192.168.2.0/24? Pobierz listę fizycznych hostów z biosem w wersji x.y.z architecture => x86_64 bios_release_date => 03/08/2013 filesystems => ext4,xfs is_virtual => false kernel => Linux Kernelversion => 3.12.21 osfamily => RedHat operatingsystemrelease => 6.5... Stan
Odkrywanie Prosta możliwość rozbudowy mechanizmu pozyskiwania informacji o systemach pozwala automatyczną weryfikowanie wdrożonych polityk bezpieczeństwa OWASP, CIS, STIG, PCI DSS, SANS... Stan 9
Odkrywanie Zalety: 10 Szybkie i proste wykrywanie komponentów infrastruktury podatnych na zagrożenie Aktualne raporty o zgodności systemów z wdrożonymi politykami bezpieczeństwa Automatyczne aktualizacje informacji po dokonanych zmianach w konfiguracji
Raportowanie Pozwala na szybkie wykrycie zmian stanów elementów w infrastrukturze Zasób/element systemu: plik pakiet użytkownik grupa usługa... 11 Każdy zasób znajduje się w jakimś stanie A Każdy zasób może zmienić stan na A' Charakterystykę przejścia określają właściwości zasobu
Raportowanie Pozwala na szybkie wykrycie zmian stanów elementów w infrastrukturze Przykładowy zasób użytkownik marcin właściwości: obecność w systemie przynależność do grup powłoka systemowa ważność hasła... 12
Raportowanie Audyt właściwości zasobów systemowych t0 t1 t2 t3 User[marcin]/groups: audit change: previously recorded value tty,disk has been changed to tty,wheel,disk SIEM 13 t4 t5 czas Package[curl]/ensure: audit change: previously recorded value absent has been changed to 7.36.0 File_line[sshd:X11Forwarding:no]/ensure: audit change: previously recorded value present has been changed to absent
Raportowanie Audyt właściwości zasobów systemowych t0 t1 t2 t3 Service[auditd]/ensure: current_value stopped, should be running Package[wget]/ensure: current_value 1.14, should be absent SIEM 14 t4 t5 czas Wykrywanie nawet czasowych odejść od wdrożonych polityk bezpieczeństwa. W czasie (t1, t4) nie działała usługa auditd.
Raportowanie Zalety: 15 Natychmiastowa informacja o zmianie zasobów systemowych Bieżąca informacja o chociażby chwilowym odejściu od wdrożonych polityk bezpieczeństwa Szybsze odnalezienie okresu, w którym dokonano zmiany
Zarządzanie konfiguracją Deklaratywny język umożliwia opisanie stanu pożądanego odchodząc od konieczności wdawania się w szczegóły opisujące sposób doprowadzenia systemu do tego stanu. Przykłady: na systemach z rodziny Red Hat w wersji 6 pakiet openssl ma być w wersji 1.0.1e-16 Deklaratywny język daje deterministyczną pewność stanu w którym znajduje się system. 16
Zarządzanie konfiguracją t0 t1 t2 t3 t4 t5 czas Service[auditd]/ensure: current state stopped, changing state to running SIEM 17 Możliwość użycia narzędzi do automatyzacji do utrzymania pożądanego stanu systemów.
Zarządzanie konfiguracją czas Natychmiastowa weryfikacja wdrożenia polityk bezpieczeństwa dla nowo dodanych systemów. 18
Zarządzanie konfiguracją Zalety: Opis stanu systemu jest również opisem sposobu realizacji i może być wykorzystany do konfiguracji wielu systemów Każdy nowo dodany system zweryfikuje swój stan ze stanem pożądanym Spójność systemów Historia zmian 19 Możliwość przenoszenia zmian między środowiskami dev test prod
Secure Configuration Life Cycle Pytania? 20
Dziękujemy za uwagę Marcin Piebiak Senior Solutions Architect Linux Polska Sp. z o.o. 21