Pozyskiwanie dzienników systemowych i komunikatów CEF do usługi Microsoft Sentinel przy użyciu agenta usługi Azure Monitor

W tym artykule opisano sposób używania dziennika systemowego za pośrednictwem protokołu AMA i common event format (CEF) za pośrednictwem łączników usługi AMA w celu szybkiego filtrowania i pozyskiwania komunikatów dziennika systemowego, w tym komunikatów w formacie COMMON Event Format (CEF), z maszyn z systemem Linux oraz urządzeń sieciowych i zabezpieczeń. Aby dowiedzieć się więcej na temat tych łączników danych, zobacz Syslog and Common Event Format (CEF) via AMA connectors for Microsoft Sentinel (Syslog and Common Event Format) via AMA connectors for Microsoft Sentinel (Syslog and Common Event Format( CEF) via AMA connectors for Microsoft Sentinel (Syslog and Common Event Format) via AMA connectors for Microsoft Sentinel (Sys

Wymagania wstępne

Przed rozpoczęciem musisz mieć skonfigurowane zasoby i odpowiednie uprawnienia opisane w tej sekcji.

Wymagania wstępne usługi Microsoft Sentinel

W przypadku usługi Microsoft Sentinel zainstaluj odpowiednie rozwiązanie i upewnij się, że masz uprawnienia do wykonania kroków opisanych w tym artykule.

  • Zainstaluj odpowiednie rozwiązanie — Syslog i/lub Common Event Format z centrum zawartości w usłudze Microsoft Sentinel. Aby uzyskać więcej informacji, zobacz Odnajdywanie gotowej zawartości usługi Microsoft Sentinel i zarządzanie nią.

  • Twoje konto platformy Azure musi mieć następujące role kontroli dostępu opartej na rolach (RBAC) platformy Azure:

    Rola wbudowana Scope Przyczyna
    - Współautor maszyny wirtualnej
    - Maszyna Połączenie platformy Azure
       Administracja istrator zasobów
  • Maszyny wirtualne (VM)
  • Virtual Machine Scale Sets
  • Serwery z obsługą usługi Azure Arc
  • Aby wdrożyć agenta
    Dowolna rola obejmująca akcję
    Microsoft.Resources/deployments/*
  • Subskrypcja
  • Grupa zasobów
  • Istniejąca reguła zbierania danych
  • Aby wdrożyć szablony usługi Azure Resource Manager
    Współautor monitorowania
  • Subskrypcja
  • Grupa zasobów
  • Istniejąca reguła zbierania danych
  • Aby utworzyć lub edytować reguły zbierania danych

Wymagania wstępne usługi przesyłania dalej dzienników

W przypadku zbierania komunikatów z usługi przesyłania dalej dzienników obowiązują następujące wymagania wstępne:

  • Aby zbierać dzienniki, musisz mieć wyznaczoną maszynę wirtualną z systemem Linux jako usługę przesyłania dalej dziennika.

  • Jeśli usługa przesyłania dalej dzienników nie jest maszyną wirtualną platformy Azure, musi mieć zainstalowanego agenta usługi Azure Arc Połączenie ed Machine.

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

  • Usługa przesyłania dalej dziennika musi mieć syslog-ng włączone demona lub rsyslog .

  • Aby uzyskać wymagania dotyczące miejsca dla usługi przesyłania dalej dzienników, zapoznaj się z testem porównawczym wydajności agenta usługi Azure Monitor. Możesz również przejrzeć ten wpis w blogu, który zawiera projekty skalowalnego pozyskiwania.

  • Źródła dzienników, urządzenia zabezpieczeń i urządzenia muszą być skonfigurowane do wysyłania komunikatów dziennika do demona syslog usługi przesyłania dalej dziennika zamiast do lokalnego demona dziennika systemowego.

Wymagania wstępne dotyczące zabezpieczeń maszyny

Skonfiguruj zabezpieczenia maszyny zgodnie z zasadami zabezpieczeń organizacji. Na przykład skonfiguruj sieć, aby dopasować je do zasad zabezpieczeń sieci firmowej i zmienić porty i protokoły w demonie, aby dopasować je do wymagań. Aby poprawić konfigurację zabezpieczeń maszyny, zabezpieczyć maszynę wirtualną na platformie Azure lub zapoznać się z tymi najlepszymi rozwiązaniami dotyczącymi 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 systemowego (rsyslog lub syslog-ng) w celu komunikowania się w protokole TLS. Aby uzyskać więcej informacji, zobacz:

Konfigurowanie łącznika danych

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

  1. Zainstaluj agenta usługi 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 "instalacja" w module przesyłania dalej dziennika, aby skonfigurować demona dziennika do nasłuchiwania komunikatów z innych maszyn i otworzyć niezbędne porty lokalne.

Wybierz odpowiednią kartę, aby uzyskać instrukcje.

Tworzenie reguły zbierania danych

Aby rozpocząć, otwórz łącznik danych w usłudze Microsoft Sentinel i utwórz regułę łącznika danych.

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

  2. W polu Wyszukaj wpisz ciąg Syslogw polu Wyszukiwania . W wynikach wybierz dziennik syslog za pośrednictwem łącznika AMA .
    W polu Wyszukiwania wpisz CEF. W wynikach wybierz typowy format zdarzeń (CEF) za pośrednictwem łącznika usługi 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ę Dziennika systemu za pośrednictwem łącznika usługi AMA.

    Zrzut ekranu przedstawiający stronę cef za pośrednictwem łącznika usługi AMA.

  5. Na karcie Podstawowe:

    • Wpisz nazwę kontrolera domeny.
    • Wybierz subskrypcję.
    • Wybierz grupę zasobów, w której chcesz zlokalizować kontroler domeny.

    Zrzut ekranu przedstawiający szczegóły kontrolera domeny 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 tym przypadku maszynę przekazującą dzienniki. Jeśli usługa przesyłania dalej dzienników nie jest wyświetlana na liście, może nie mieć zainstalowanego agenta usługi Azure Połączenie Maszyny.

  1. Użyj dostępnych filtrów lub pola wyszukiwania, aby znaleźć maszynę wirtualną usługi przesyłania dalej dziennika. Rozwiń subskrypcję na liście, aby wyświetlić jej grupy zasobów i grupę zasobów, aby wyświetlić jej maszyny wirtualne.

  2. Wybierz maszynę wirtualną usługi przesyłania dalej dziennika, na której chcesz zainstalować usługę AMA. Pole wyboru jest wyświetlane obok nazwy maszyny wirtualnej po umieszczeniu na niej wskaźnika myszy.

    Zrzut ekranu przedstawiający sposób wybierania zasobów podczas konfigurowania kontrolera domeny.

  3. Przejrzyj zmiany i wybierz pozycję Dalej: Zbierz >.

Wybieranie obiektów i ważności

Należy pamiętać, że użycie tej samej funkcji zarówno dla komunikatów Syslog, jak i CEF może spowodować duplikowanie pozyskiwania danych. Aby uzyskać więcej informacji, zobacz Unikanie duplikowania pozyskiwania danych.

  1. Na karcie Zbieranie wybierz minimalny poziom dziennika dla każdego obiektu. Po wybraniu poziomu dziennika usługa 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, usługa Microsoft Sentinel zbiera dzienniki dla LOG_ERR, LOG_CRIT, LOG_ALERT i poziomów LOG_EMERG.

    Zrzut ekranu przedstawiający sposób wybierania poziomów dziennika podczas konfigurowania kontrolera domeny.

  2. Przejrzyj wybrane opcje i wybierz pozycję Dalej: Przejrzyj i utwórz.

Przeglądanie i tworzenie reguły

Po zakoń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 kontrolera domeny i tworzenia go.

    Łącznik instaluje agenta usługi Azure Monitor na maszynach wybranych podczas tworzenia kontrolera domeny.

  2. Sprawdź powiadomienia w witrynie Azure Portal lub portalu usługi Microsoft Defender, aby zobaczyć, kiedy kontroler domeny jest tworzony, a agent jest zainstalowany.

  3. Wybierz pozycję Odśwież na stronie łącznika, aby wyświetlić kontroler domeny wyświetlany na liście.

Uruchamianie skryptu "instalacja"

Jeśli używasz usługi przesyłania dalej dzienników, skonfiguruj demona dziennika systemowego, aby nasłuchiwać komunikatów z innych maszyn i otwierać 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.

    Możesz też skopiować go z tego miejsca:

    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 dziennika, na której właśnie zainstalowano usługę AMA.

  3. Wklej polecenie skopiowane w ostatnim kroku, aby uruchomić skrypt instalacji.
    Skrypt konfiguruje demona rsyslog lub syslog-ng tak, aby używał wymaganego protokołu i ponownie uruchamia demona. 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 dziennika systemowego zgodnie z typem demona uruchomionym na maszynie:

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

    Uwaga

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

Testowanie łącznika

Sprawdź, czy dzienniki komunikatów z maszyny z systemem Linux lub urządzeń zabezpieczeń są pozyskiwane do usługi Microsoft Sentinel.

  1. Aby sprawdzić, czy demon dziennika systemowego jest uruchomiony na porcie UDP i czy nasłuchuje ama, uruchom następujące polecenie:

    netstat -lnptv
    

    Powinien zostać wyświetlony rsyslog demon lub syslog-ng nasłuchujący na porcie 514.

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

    tcpdump -i any port 514 -A -vv &
    
  3. Po zakończeniu walidacji zalecamy zatrzymanie ciągu : Wpisz, a następnie naciśnij klawisze Ctrl+C.fgtcpdump

  4. Aby wysłać komunikaty demonstracyjne, wykonaj następujące kroki:

    • Użyj narzędzia netcat. W tym przykładzie narzędzie odczytuje dane publikowane za pomocą echo polecenia z wyłączonym przełącznikiem nowego wiersza. Następnie narzędzie zapisuje dane na porcie 514 UDP na hoście lokalnym bez 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
      
    • Użyj rejestratora. W tym przykładzie komunikat jest zapisywany w local 4 obiekcie na poziomie Warningważności do portu 514na hoście lokalnym w formacie RFC w formacie CEF. Flagi -t i --rfc3164 są używane do zachowania 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|1|rt=$common=event-formatted-receive_time"
      
  5. Aby sprawdzić, czy łącznik jest poprawnie zainstalowany, uruchom skrypt rozwiązywania problemów za pomocą jednego z następujących poleceń:

    • W przypadku dzienników CEF uruchom polecenie:

       sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --cef
      
    • W przypadku dzienników urządzenia Cisco Adaptive Security Appliance (ASA) uruchom polecenie:

      sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --asa
      
    • W przypadku dzienników usługi Cisco Firepower Threat Defense (FTD) uruchom polecenie:

      sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --ftd