Integracja logów audytu Sycope z SIEM w celu zwiększenia zgodności i monitorowania

Jedną z najlepszych praktyk w zakresie bezpieczeństwa jest przechowywanie i analizowanie tych informacji w centralnym miejscu, takim jak SIEM.

Author: Jan Rześny
Obecnie logi audytu są niezbędne do spełnienia wymagań dotyczących bezpieczeństwa i zgodności w niemal każdej organizacji, a jedną z najlepszych praktyk w zakresie bezpieczeństwa jest przechowywanie i analizowanie tych informacji w centralnym miejscu, takim jak SIEM.

Eksportowanie logów audytu do SIEM za pomocą NQL i API

Wszystkie informacje w Sycope dotyczące zarówno zebranych danych z NetFlow, jak i alertów modułu Security, powiadomień systemowych oraz logów audytu są przechowywane w zastrzeżonej bazie danych Sycope, podzielonej na osobne kolekcje zwane strumieniami danych (data streams). Dane w ramach strumienia danych mogą być dostępne za pomocą zastrzeżonego języka zapytań – NQL. Korzystając z API, na przykład za pomocą Postman lub zewnętrznego skryptu wykorzystującego Pythona, możemy użyć NQL do żądania danych ze strumienia danych o nazwie „audit log”, który przechowuje informacje o działaniach systemowych i użytkownika i wysłać je na adres IP SIEM jako plik json.

Aby przygotować taką integrację, należy wykonać 3 stosunkowo proste kroki:

  1. Utworzenie użytkownika do wykonywania zapytań NQL,

  2. Przygotowanie funkcji, która uwierzytelni użytkownika,

  3. Przygotowanie funkcji, która wykona zapytanie NQL dla strumienia danych audit log, wzbogaci i wyśle wyeksportowane logi audytu do SIEM.

Utworzenie użytkownika do wykonywania zapytań NQL

Jako pierwszy krok, zgodnie z najlepszymi praktykami bezpieczeństwa, zdecydowanie zaleca się utworzenie użytkownika dedykowanego wyłącznie do tego rodzaju integracji. Powinniśmy utworzyć użytkownika lokalnego oraz rolę, która określi jego dostęp do zasobów systemowych. Dzięki funkcji RBAC w Sycope możemy utworzyć rolę, która nie będzie miała dostępu do elementów interfejsu Web UI oraz z dodatkowymi ograniczeniami dla wszystkich strumieni danych oprócz niezbędnego logu audytu. W tym przykładzie użytkownik lokalny utworzony na potrzeby integracji nazywa się auditor, a rola, której używa, to Auditor.

Do uwierzytelniania użytkownika oraz wykonywania zapytania NQL używamy dwóch endpointów API:

Pierwszy: https://<sycope_ip>/login for authentication\ for auth and cookie generation,

Drugi: https://<sycope_ip>/pipeline/run for query execution.

Korzystając z endpointu login, uzyskujemy cookie sesji używane do uwierzytelnienia kolejnych żądań do endpointu pipeline/run. Dane logowania (nazwa użytkownika i hasło) muszą być podane w treści żądania HTTP POST. Zwrócone cookie musi zostać zapisane i użyte w nagłówku każdego kolejnego żądania. Poniżej znajduje się przykład funkcji stworzonej w Pythonie, która wykonuje żądanie logowania.

Przygotowanie funkcji, która uwierzytelni użytkownika

Następnie powinniśmy przygotować treść żądania HTTP, które będzie zawierało zapytanie NQL do wykonania, w celu pobrania wpisów logów audytu. Przykład takiej treści znajduje się poniżej.

Czas rozpoczęcia i zakończenia musi być zmiennymi, których wartości w formacie epoch będą obliczane jako poprzednia minuta przy każdym wykonaniu skryptu integracyjnego. Zapewni to, że uzyskujemy dostęp do najnowszych komunikatów i nie powielimy wpisów, które już zostały wyeksportowane do SIEM.

Poniżej znajduje się propozycja funkcji opartej na bibliotece requests w Pythonie, która wykona nasze żądanie z dołączonym zapytaniem NQL.

 

Przygotowanie funkcji, która wykona zapytanie NQL dla strumienia danych audit log, wzbogaci i wyśle wyeksportowane logi audytu do SIEM

Ostatnim krokiem jest przetworzenie pobranych logów, wzbogacenie ich o dodatkowe informacje, które mogą być wymagane przez administratorów SIEM, oraz wysłanie ich na docelowy adres SIEM.

Najbardziej odpowiednim sposobem uruchamiania tego typu integracji jest użycie Crontab lub Harmonogramu zadań, z ustawieniem wykonywania skryptu co minutę. Powinno to zapewnić, że skrypt będzie eksportował komunikaty logów z poprzedniej minuty i nie powieli komunikatów w systemie docelowym.

 

Podsumowanie

Podsumowując, znaczenie logów audytu w dzisiejszym krajobrazie bezpieczeństwa organizacyjnego nie może być przecenione. Jako podstawowy element praktyk w zakresie bezpieczeństwa i zgodności, przechowywanie i analiza tych krytycznych informacji w scentralizowanym miejscu, takim jak system SIEM (Security Information and Event Management), stało się najlepszą praktyką.

W Sycope wszystkie istotne informacje, w tym dane z NetFlow, alerty modułu Security, powiadomienia systemowe oraz logi audytu, są dokładnie przechowywane w zastrzeżonej bazie danych Sycope. Dane te są zorganizowane w odrębne kolekcje znane jako strumienie danych (data streams), dostępne za pomocą zastrzeżonego języka zapytań – NQL. Wykorzystanie NQL za pośrednictwem API, narzędzi takich jak Postman lub zewnętrznych skryptów, takich jak Python, umożliwia ekstrakcję i przesyłanie danych z logów audytu na wskazany adres IP systemu SIEM w formacie JSON.

FAQ

Jakie są główne kroki eksportowania logów audytu do SIEM za pomocą NQL i API?

Są trzy główne kroki: utworzenie użytkownika do wykonywania zapytań NQL, przygotowanie funkcji uwierzytelniającej użytkownika, oraz przygotowanie funkcji wykonującej zapytania NQL dla logów audytu i wysyłającej je do SIEM.

Dlaczego zaleca się utworzenie nowego użytkownika do integracji?

Ze względów bezpieczeństwa zaleca się utworzenie dedykowanego użytkownika, który będzie miał ograniczony dostęp tylko do niezbędnych danych, co zapewnia lepszą kontrolę i zabezpieczenie systemu.

Jakie endpointy API są używane do uwierzytelniania i wykonywania zapytań NQL?

Używane są dwa endpointy API: 'https://<sycope_ip>/login' do uwierzytelniania i generowania ciasteczek oraz 'https://<sycope_ip>/pipeline/run' do wykonywania zapytania.

W jaki sposób można zautomatyzować proces eksportu logów audytu?

Proces można zautomatyzować, używając Crontab lub Harmonogramu zadań do uruchamiania skryptu integracyjnego co minutę, co zapewni eksport najnowszych logów bez powielania komunikatów.

Dlaczego przechowywanie i analiza logów audytu jest ważne?

Przechowywanie i analiza logów audytu jest kluczowe dla praktyk bezpieczeństwa i zgodności, umożliwia monitorowanie działań systemowych oraz dostarcza krytyczne informacje dla zarządzania bezpieczeństwem w centralnym miejscu, tak jak SIEM.

This week top knowledge
Ta witryna jest zarejestrowana pod adresem wpml.org jako witryna rozwojowa. Przełącz się na klucz witryny produkcyjnej na remove this banner.