Wazuh jest darmową i otwartą platformą bezpieczeństwa, która integruje możliwości XDR (Extended detection and response) oraz SIEM (Security Information and Event Management).  

XRD ma za zadanie gromadzić i automatycznie korelować w czasie rzeczywistym dane zbierane z zainstalowanych agentów. Umożliwia również remediację, w tym przypadku reakcję na zdarzenie na urządzeniach końcowych.  

SIEM ma za zadanie zapewniać monitorowanie, wykrywanie oraz alarmowanie o zdarzeniach i incydentach bezpieczeństwa.  

Wazuh jest to narzędzie służące do zbierania, agregowania, indeksowania i analizowania danych bezpieczeństwa, tym samym pomagając organizacjom wykrywać włamania, zagrożenia i anomalie behawioralne. Oferuje również ocenę konfiguracji oraz możliwość zarządzania podatnościami. 

Rozwiązanie Wazuh opiera się na agencie Wazuh, który jest wdrażany na monitorowanych punktach końcowych, oraz na trzech centralnych komponentach: serwerze Wazuh, indekserze Wazuh i pulpicie nawigacyjnym Wazuh. 

Agenci Wazuh są instalowani na punktach końcowych, gdzie zbierają informacje z dzienników logów, zainstalowanych aplikacji, konfiguracji systemu i okresowo przesyłają je do menedżera. Zapewniają funkcję zapobiegania zagrożeniom, wykrywania i reagowania. 

Indekser Wazuh to silnik wyszukiwania i analizy. Centralny komponent indeksuje i przechowuje wpisy generowane przez serwer Wazuh. 

Serwer Wazuh analizuje dane otrzymane od agentów. Przetwarza je za pomocą dekoderów i reguł, wykorzystując inteligencję zagrożeń do poszukiwania znanych wskaźników kompromisu (IOC – Indicator of Compromise). Ten centralny komponent służy również do zarządzania agentami, konfigurując je i w razie potrzeby aktualizując. 

Pulpit nawigacyjny Wazuh to interfejs użytkownika, służący do wizualizacji i analizy danych. Zawiera on gotowe pulpity nawigacyjne dla zdarzeń bezpieczeństwa, zgodności z przepisami, wykrytych podatnych aplikacji, danych monitorowania integralności plików, wyników oceny konfiguracji, zdarzeń monitorowania infrastruktury i innych. Służy również do zarządzania konfiguracją Wazuh i monitorowania stanu całego systemu.  

Oprócz możliwości monitorowania opartego na agentach, platforma Wazuh może monitorować urządzenia bezagentowe, zbierając dane poprzez serwer Syslog. 

Poniższy diagram przedstawia komponenty Wazuh i przepływ danych. 

Źródło: https://wazuh.com/

Twórcy Wazuh rekomendują użycie następujących systemów architektury 64-bit pod instalację systemu:

– Amazon Linux 2

– CentOS 7, 8

– Red Hat Enterprise Linux 7, 8, 9

– Ubuntu 16.04, 18.04, 20.04, 22.04

Wymagania sprzętowe zależą od ilości systemów objętych monitoringiem oraz długości przechowywania logów:

Źródło: https://wazuh.com/

Możliwości systemu Wazuh

– Analiza bezpieczeństwa: w czasie rzeczywistym zbieranie, agregowanie, indeksowanie i analizowanie danych dotyczących bezpieczeństwa. Pomaga wykryć włamania, zagrożenia oraz wszelkie anomalie;

– Wykrywanie włamań: skanuje system w poszukiwaniu złośliwego oprogramowania, rootkitów;

– Analiza logów: odczyt logów, przesłanie do centralnego menagera w celu analizy i przechowywania;

– Monitorowanie integralności plików: monitoruje system plików, identyfikuje zmiany w treści;

– Zarządzanie podatnościami: pobieranie danych inwentaryzujących oprogramowanie i bieżące korelowanie ich z aktualizowanymi bazami danych CVE (Common Vulnerabilities and Exposures);

– Ocena konfiguracji: monitorowanie ustawień konfiguracji systemu i aplikacji, aby upewnić się, że są one zgodne z przyjętymi zasadami, alerty mogą zawierać wytyczne dotyczące utwardzenia konfiguracji;

– Reakcja na incydent: podjęcie reakcji na wykryty incydent bezpieczeństwa;

– Zgodność z przepisami: badanie zgodności technicznej z regulacjami NIST 800-53, GPG13, TSC SOC2 i HIPAA;

– Bezpieczeństwo w chmurze: integracja z infrastrukturą chmury na poziomie API (AWS, Azure, GC) i zapewnienie reguł oceny konfiguracji środowiska chmurowego;

– Bezpieczeństwo kontenerów: wgląd w bezpieczeństwo kontenerów Dockera.

Instalacja

Do celów testowych wybrałem instalację systemu Wazuh na najnowszej wersji Ubuntu Serwer.

Podstawowa instalacja rozwiązania jest bardzo prosta, polega na pobraniu skryptu instalacyjnego ze strony producenta i uruchomieniu go na uprawieniach użytkownika root. Skrypt zainstaluje wymagane komponenty i uruchomi serwis.

curl -sO https://packages.wazuh.com/4.3/wazuh-install.sh && sudo bash ./wazuh-install.sh -a

Na stronie domowej rozwiązania opisane są zaawansowane metody instalacji.

https://documentation.wazuh.com/current/quickstart.html#installing-wazuh

Na zakończenie procesu instalacji otrzymamy hasło użytkownika administracyjnego do serwisu.

Pierwszą rzeczą, którą powinniśmy wykonać po uruchomieniu systemu, jest zmiana hasła dla użytkownika admin. Zmianę hasła wykonujemy za pomocą skryptu.

curl -so wazuh-passwords-tool.sh https://packages.wazuh.com/4.3/wazuh-passwords-tool.sh
bash wazuh-passwords-tool.sh -u admin -p mypassword

Cała procedura jest opisana pod poniższym linkiem:

https://documentation.wazuh.com/current/user-manual/securing-wazuh/wazuh-indexer.html

Przyszedł czas na instalację pierwszych agentów. W systemie Wazuh, przechodzimy do zakładki Agents, wybieramy opcję „Deploy new agent”.

System Wazuh udostępnia kreatora, gdzie wybieramy docelowy system operacyjny, definiujemy grupę, do której będzie należał nasz agent oraz paramenty połączenia do serwera.

W przypadku systemu Windows otrzymujemy skrypt PowerShell do wykonania na uprawieniach administracyjnych. Skrypt pobiera najnowsze oprogramowanie agenta ze strony opisywanego rozwiązania oraz konfiguruje połączenie z naszą instancją Wazuh.

W testowym środowisku zainstalowałem oprogramowanie agenta na czterech hostach (Microsoft Windows Serwer 2012r2, Microsoft Windows 10, Debian oraz RedHat).

Zależy nam na tym, by Wazuh oprócz działań związanych z analizą zdarzeń, zbierał też informacje dotyczące podatności. Ta opcja nie jest domyślnie włączona.

Przechodzimy do sekcji Management/Configuration i edytujemy konfigurację.

Musimy odnaleźć sekcję <vulnerability-detector> i ją aktywować. Zapisujemy konfigurację, restartujemy usługi. Musimy teraz cierpliwie poczekać aż agent przeskanuje system, na którym jest zainstalowany i przekaże informacje o znalezionym oprogramowaniu do moduły zarządzającego.

Cała procedura uruchomienia modułu do zarządzania podatnościami jest opisana na blogu Wazuh pod poniższym linkiem.

https://wazuh.com/blog/using-wazuh-for-windows-vulnerability-detection/”>https://wazuh.com/blog/using-wazuh-for-windows-vulnerability-detection/

Poniżej prezentuję dane zebrane przez agenta dla testowo uruchomionego systemu Microsoft Windows 2012r2, system do celów testowych nie był aktualizowany.   

Na pierwszym dashboardzie mamy pełne podsumowanie danych zebranych przez agenta, takich jak: informacje o systemie operacyjnym, wersja agenta, ostatnia synchronizacja, ilość zebranych zdarzeń oraz informacje zebrane przez benchmarki.

Zakładka Vulnerabilities zawiera wykryte podatności, które możemy przefiltrować po kategorii, krytyczności, numerze CVE, czy detekcji.

Każda podatność jest opisana i zawiera referencje do zewnętrznych źródeł, jak i informacje o remediacji.

Powyższy wpis stanowi tylko ogólny opis i przedstawia wstęp do rozwiązania jakim jest Wazuh.

Cały system, oprócz korelacji zdarzeń systemowych, powiązania ich z macierzą MITRE ATT&CK, zawiera informacje z ogólnie dostępnych źródeł dotyczących podatności. Z systemem Wazuh możemy przeprowadzić ogólną oceną konfiguracji bezpieczeństwa (SCA) o dostępne benchmarki, jak i zbadać konfigurację systemu na zgodność z normami takimi jak np. PCI DSS, NIST. System może też działać w ramach prewencji – w momencie wykrycia określonego zdarzenia bezpieczeństwa agent może zabić podejrzany proces lub zablokować określony ruch sieciowy na zaporze.

Łukasz Mazurczak CEH