Pozyskiwanie komunikatów dziennika systemowego i CEF do Microsoft Sentinel za pomocą agenta Azure Monitor

W tym artykule pokazano, jak używać konektorów Syslog via AMA i Common Event Format (CEF) via AMA do filtrowania i pozyskiwania komunikatów syslog i CEF z maszyn z systemem Linux, urządzeń sieciowych i urządzeń zabezpieczających. Zanim zaczniesz, upewnij się, że masz wymagane uprawnienia, agentów i skonfigurowany przekierowanie logów zgodnie z wymaganiami wstępnymi. Aby dowiedzieć się więcej o tych łącznikach danych, zobacz Syslog and Common Event Format (CEF) via AMA connectors for Microsoft Sentinel (Dziennik systemowy i wspólny format zdarzeń (CEF) za pośrednictwem łączników ama dla Microsoft Sentinel.

Uwaga

Usługa Container Insights obsługuje automatyczne zbieranie zdarzeń dziennika systemu z węzłów Linux w klastrach usługi AKS. Dowiedz się więcej w Zbieranie dzienników Syslog za pomocą usługi Container Insights.

Wymagania wstępne

Przed rozpoczęciem zapoznaj się z następującymi wymaganiami wstępnymi dotyczącymi usługi Microsoft Sentinel, modułu przesyłania dalej dzienników i zabezpieczeń maszyny, aby upewnić się, że zasoby są skonfigurowane, a odpowiednie uprawnienia przypisane zgodnie z opisem w sekcjach Wymagania wstępne usługi Microsoft Sentinel, Wymagania wstępne modułu przesyłania dalej dzienników i Wymagania wstępne zabezpieczeń maszyny.

Microsoft Sentinel wymagania wstępne

Zainstaluj odpowiednie rozwiązanie Microsoft Sentinel i upewnij się, że masz uprawnienia do wykonania kroków opisanych w tym artykule.

Wymagania wstępne modułu przekazywania dzienników

Jeśli zbierasz wiadomości z modułu przekazywania logów, obowiązują następujące wymagania wstępne:

  • Aby zbierać dzienniki, musisz mieć wyznaczoną maszynę wirtualną Linux jako usługę przesyłania dalej dzienników.

  • Jeśli moduł przekazywania dzienników nie jest maszyną wirtualną platformy Azure, musi mieć zainstalowanego agenta usługi Azure Arc Connected Machine.

  • Maszyna wirtualna usługi przesyłania dalej dzienników Linux musi mieć zainstalowany język Python 2.7 lub 3. Użyj polecenia python --version lub python3 --version, aby to sprawdzić. Jeśli używasz języka Python 3, upewnij się, że jest ono ustawione jako domyślne polecenie na komputerze, lub uruchom skrypty za pomocą polecenia "python3" zamiast "python".

  • Moduł przekazywania dzienników musi mieć włączony demon syslog-ng lub rsyslog.

  • Aby uzyskać informacje o wymaganiach dotyczących miejsca dla usługi przesyłania dalej dzienników, zapoznaj się z testem porównawczym wydajności agenta Azure Monitor. Możesz również zapoznać się z projektami dotyczącymi skalowalnego pozyskiwania danych w Microsoft Sentinel.

  • Źródła dzienników, urządzenia zabezpieczające oraz urządzenia typu appliance muszą być skonfigurowane tak, aby wysyłały swoje komunikaty dziennika do demona syslog serwera przekazującego logi zamiast do lokalnego demona syslog.

Uwaga

Podczas wdrażania rozwiązania AMA w zestawie skalowania maszyn wirtualnych (VMSS) zdecydowanie zachęcamy do korzystania z modułu równoważenia obciążenia obsługującego metodę działania okrężnego w celu zapewnienia dystrybucji obciążenia we wszystkich wdrożonych wystąpieniach.

Wymagania wstępne dotyczące zabezpieczeń maszyny

Skonfiguruj zabezpieczenia maszyny zgodnie z zasadami zabezpieczeń organizacji. Na przykład skonfiguruj sieć tak, aby była zgodna z zasadami zabezpieczeń sieci firmowej, i zmień porty i protokoły w demonze, aby dostosować je do wymagań. Aby ulepszyć konfigurację zabezpieczeń maszyny, zabezpiecz maszynę wirtualną w Azure lub przejrzyj te najlepsze rozwiązania dotyczące zabezpieczeń sieci.

Jeśli urządzenia wysyłają dzienniki Syslog i CEF za pośrednictwem protokołu TLS, ponieważ na przykład usługa przesyłania dalej dzienników znajduje się w chmurze, musisz skonfigurować demona dziennika syslog (rsyslog lub syslog-ng) do komunikacji w usłudze TLS. Więcej informacji można znaleźć w następujących artykułach:

Konfigurowanie łącznika danych

Proces konfiguracji dziennika systemowego za pośrednictwem usługi AMA lub formatu Common Event Format (CEF) za pośrednictwem łączników danych ama obejmuje następujące kroki:

  1. Zainstaluj agenta Azure Monitor i utwórz regułę zbierania danych (DCR) przy użyciu jednej z następujących metod:
  2. Jeśli zbierasz dzienniki z innych maszyn przy użyciu usługi przesyłania dalej dzienników, uruchom skrypt "instalacji" w usłudze przesyłania dalej dzienników, aby skonfigurować demona dziennika systemu do nasłuchiwania komunikatów z innych maszyn i otwierania niezbędnych portów lokalnych.

Wybierz odpowiednią zakładkę, aby wyświetlić instrukcje.

Użyj portalu Azure lub Defender, aby utworzyć regułę zbierania danych (DCR) i zainstalować Azure Monitor Agent na swoim przekierowaniu logów.

Tworzenie reguły zbierania danych (DCR)

Aby rozpocząć, otwórz dziennik Syslog za pośrednictwem usługi AMA lub Common Event Format (CEF) za pośrednictwem łącznika danych ama w Microsoft Sentinel i utwórz regułę zbierania danych (DCR).

  1. W Microsoft Sentinel w Azure Portal w obszarze Konfiguracja wybierz pozycję Łączniki danych.
    W przypadku Microsoft Sentinel w portalu usługi Defender wybierz pozycję Microsoft Sentinel>Konfiguracja>łączników danych.

  2. W przypadku dziennika systemowego wpisz Syslog w polu Wyszukaj . Z wyników wybierz łącznik Syslog przez AMA.
    W polu Search wpisz CEF. W wynikach wybierz pozycję Common Event Format (CEF) za pośrednictwem łącznika AMA .

  3. Wybierz pozycję Otwórz stronę łącznika w okienku szczegółów.

  4. W obszarze Konfiguracja wybierz pozycję +Utwórz regułę zbierania danych.

    Zrzut ekranu przedstawiający stronę łącznika Syslog za pośrednictwem AMA.

    Zrzut ekranu przedstawiający stronę CEF za pośrednictwem łącznika AMA.

  5. Na karcie Podstawowa :

    • Wpisz nazwę DCR.
    • Wybierz subskrypcję.
    • Wybierz grupę zasobów, w której chcesz umieścić swój obiekt DCR.

    Zrzut ekranu przedstawiający szczegóły DCR na karcie Podstawowe.

  6. Wybierz pozycję Dalej: Zasoby >.

Definiowanie zasobów maszyny wirtualnej

Na karcie Zasoby wybierz maszyny, na których chcesz zainstalować usługę AMA. W tej procedurze wybierz maszynę przekazującą logi. Jeśli moduł przekazywania dzienników nie pojawia się na liście, może nie mieć zainstalowanego agenta Azure Connected Machine.

  1. Użyj dostępnych filtrów lub pola wyszukiwania, aby znaleźć maszynę wirtualną modułu przekazywania dzienników. Rozwiń subskrypcję na liście, aby wyświetlić jej grupy zasobów, a następnie rozwiń grupę zasobów, aby wyświetlić jej maszyny wirtualne.

  2. Wybierz maszynę wirtualną usługi przesyłania dalej dzienników, na którą chcesz zainstalować usługę AMA. Po umieszczeniu wskaźnika myszy nad nią obok nazwy maszyny wirtualnej zostanie wyświetlone pole wyboru.

    Zrzut ekranu przedstawiający sposób wybierania zasobów podczas konfigurowania funkcji DCR.

  3. Przejrzyj wprowadzone zmiany i wybierz Dalej: Zbieranie >.

Wybierz funkcje i poziomy ważności

Należy pamiętać, że użycie tej samej funkcji zarówno w przypadku komunikatów dziennika systemowego, jak i komunikatów CEF może spowodować duplikowanie pozyskiwania danych. Aby uzyskać więcej informacji, zobacz Zapobieganie duplikacji podczas pozyskiwania danych.

  1. Na karcie Collect wybierz minimalny poziom rejestrowania dla każdego facility. Po wybraniu poziomu dziennika Microsoft Sentinel zbiera dzienniki dla wybranego poziomu i innych poziomów o wyższej ważności. Jeśli na przykład wybierzesz LOG_ERR, Microsoft Sentinel zbiera dzienniki dla poziomów LOG_ERR, LOG_CRIT, LOG_ALERT i LOG_EMERG.

    Zrzut ekranu przedstawiający sposób wybierania poziomów dzienników podczas konfigurowania funkcji DCR.

  2. Przejrzyj swoje wybory i wybierz Dalej: Przejrzyj i utwórz.

Przejrzyj i utwórz regułę

Po ukończeniu wszystkich kart przejrzyj wprowadzone elementy i utwórz regułę zbierania danych.

  1. Na karcie Przeglądanie i tworzenie wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający sposób przeglądania konfiguracji środowiska DCR i tworzenia go.

    Łącznik instaluje agenta monitora Azure na maszynach wybranych podczas tworzenia dcr.

  2. Sprawdź powiadomienia w portalu Azure Portal lub Microsoft Defender, aby zobaczyć, kiedy jest tworzone środowisko DCR i agent jest zainstalowany.

  3. Wybierz pozycję Odśwież na stronie łącznika, aby wyświetlić wartość DCR wyświetlaną na liście.

Uruchamianie skryptu "instalacja"

Jeśli używasz usługi przesyłania dalej dzienników, skonfiguruj demona dziennika systemu do nasłuchiwania komunikatów z innych maszyn i otwórz niezbędne porty lokalne.

  1. Na stronie łącznika skopiuj wiersz polecenia wyświetlany w obszarze Uruchom następujące polecenie, aby zainstalować i zastosować moduł zbierający CEF:.

    Zrzut ekranu przedstawiający wiersz polecenia na stronie łącznika.

    Lub skopiuj go stąd:

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. Zaloguj się do maszyny usługi przesyłania dalej dzienników, na której zainstalowano usługę AMA.

  3. Wklej polecenie instalacji skopiowane ze strony łącznika, aby uruchomić skrypt instalacji.
    Skrypt konfiguruje daemon rsyslog lub syslog-ng, aby używał wymaganego protokołu, a następnie uruchamia go ponownie. Skrypt otwiera port 514 w celu nasłuchiwania komunikatów przychodzących zarówno w protokołach UDP, jak i TCP. Aby zmienić to ustawienie, zapoznaj się z plikiem konfiguracji demona syslog zgodnie z typem demona uruchomionym na maszynie:

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    Jeśli używasz Pythona 3 i nie jest on ustawiony jako domyślne polecenie na tym komputerze, w wklejonym poleceniu zastąp python3 elementem python. Zobacz Wymagania wstępne agenta przekazującego logi.

    Uwaga

    Aby uniknąć scenariuszy pełnego dysku , w których agent nie może działać, zalecamy ustawienie syslog-ng lub rsyslog konfiguracji, aby nie przechowywać niepotrzebnych dzienników. Scenariusz z pełnym dyskiem zakłóca działanie zainstalowanej usługi AMA. Aby uzyskać więcej informacji, zobacz RSyslog lub Syslog-ng.

  4. Sprawdź stan usługi.

    Sprawdź stan usługi AMA na serwerze przekazującym dzienniki:

    sudo systemctl status azuremonitoragent.service
    

    Sprawdź stan usługi rsyslog:

    sudo systemctl status rsyslog.service
    

    W przypadku środowisk syslog-ng sprawdź:

    sudo systemctl status syslog-ng.service
    

Konfigurowanie urządzenia lub urządzenia zabezpieczającego

Aby uzyskać instrukcje dotyczące konfigurowania urządzenia lub urządzenia zabezpieczającego, zobacz jeden z następujących artykułów:

Aby uzyskać więcej informacji na temat urządzenia lub urządzenia, skontaktuj się z dostawcą rozwiązania.

Testowanie łącznika

Sprawdź, czy dzienniki z komputera z systemem Linux oraz z urządzeń zabezpieczających są przekazywane do Microsoft Sentinel.

  1. Aby sprawdzić, czy demon dziennika systemu nasłuchuje na wymaganym porcie UDP i czy usługa AMA jest gotowa do odbierania dzienników w usłudze przesyłania dalej systemu Linux, uruchom następujące polecenie, aby wyświetlić aktywne odbiorniki i skojarzone z nimi porty:

     netstat -lnptv
    

    Powinieneś zobaczyć demona rsyslog lub syslog-ng nasłuchującego na porcie 514.

  2. Aby przechwycić komunikaty wysyłane z rejestratora lub połączonego urządzenia, uruchom to polecenie w tle:

    sudo tcpdump -i any port 514 or 28330 -A -vv &
    
  3. Po zakończeniu weryfikacji zatrzymaj tcpdump. Wpisz fg, a następnie wybierz pozycję Ctrl+C.

Wysyłanie komunikatów testowych

Aby wysyłać komunikaty demonstracyjne, wykonaj jedną z następujących czynności:

  1. nc Użyj narzędzia netcat. W tym przykładzie narzędzie odczytuje dane przesłane za pomocą polecenia echo z wyłączonym przełącznikiem nowego wiersza. Narzędzie następnie zapisuje dane na porcie 514 UDP na hoście lokalnym bez przekroczenia limitu czasu. Aby wykonać narzędzie netcat, może być konieczne zainstalowanie innego pakietu.

    echo -n "<164>CEF:0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time" | nc -u -w0 localhost 514
    
  2. Użyj polecenia logger. Ten przykład zapisuje komunikat do obiektu local 4, z poziomem ważności Warning, na port 514, na hoście lokalnym, w formacie RFC CEF. Flagi -t i --rfc3164 są używane do zapewnienia zgodności z oczekiwanym formatem RFC.

    logger -p local4.warn -P 514 -n 127.0.0.1 --rfc3164 -t CEF "0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|rt=$common=event-formatted-receive_time"
    

    Przetestuj pozyskiwanie danych z Cisco ASA za pomocą następującego polecenia:

    echo -n "<164>%ASA-7-106010: Deny inbound TCP src inet:1.1.1.1 dst inet:2.2.2.2" | nc -u -w0 localhost 514
    

    Po uruchomieniu tych poleceń komunikaty docierają na port 514 i przesyłają dalej do portu 28330.

  3. Po wysłaniu komunikatów testowych wykonaj zapytanie dotyczące obszaru roboczego usługi Log Analytics. Wyświetlenie dzienników w obszarze roboczym może potrwać do 20 minut.

Dla logów CEF:

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceProduct == "MOCK"

W przypadku dzienników usługi Cisco ASA:

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceVendor == "Cisco"
| where DeviceProduct == "ASA"

Dodatkowe rozwiązywanie problemów

Jeśli nie widzisz ruchu na porcie 514 lub komunikaty testowe nie są odbierane, zobacz Rozwiązywanie problemów z łącznikami Syslog i CEF za pośrednictwem AMA dla usługi Microsoft Sentinel, aby rozwiązać problem.