Udostępnij przez


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

W tym artykule pokazano, jak używać syslogu za pośrednictwem złączy AMA i Common Event Format (CEF) za pośrednictwem złączy AMA w celu filtrowania i pozyskiwania komunikatów syslog i CEF z maszyn z systemem Linux, urządzeń sieciowych i urządzeń 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

Uwaga

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

Wymagania wstępne

Przed rozpoczęciem musisz mieć skonfigurowane zasoby i przypisane odpowiednie uprawnienia zgodnie z opisem w tej sekcji.

Wymagania wstępne usługi Microsoft Sentinel

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

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 na nim agenta maszyny połączonej z usługą Azure Arc.

  • 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 dziennika dziennika usługi przesyłania dalej dziennika zamiast do lokalnego demona dziennika systemowego.

Uwaga

Podczas wdrażania usługi AMA w zestawie skalowania maszyn wirtualnych (VMSS) zdecydowanie zaleca się użycie 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ć, 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 systemu i dzienniki 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 systemowego 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 (DCR)

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

  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ę

  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 dziennika nie jest wyświetlana na liście, może nie mieć zainstalowanego agenta połączonej maszyny platformy Azure.

  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 dziennika systemowego, jak i komunikatów 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

    Jeśli używasz języka Python 3 i nie jest ono ustawione jako domyślne polecenie na maszynie, zastąp wartość w python3python wklejonym poleceniu. Zobacz Wymagania wstępne modułu przesyłania dalej dzienników.

    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.

  4. Sprawdź stan usługi.

    Sprawdź stan usługi AMA w usłudze przesyłania dalej dziennika:

    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 zabezpieczeń

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

Aby uzyskać więcej informacji o sprzęcie lub urządzeniu, skontaktuj się z dostawcą rozwiązania.

Testowanie łącznika

Sprawdź, czy wiadomości logów z komputera z systemem Linux lub urządzeń zabezpieczających i narzędzi są pozyskiwane przez usługę 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:

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

Wysyłanie komunikatów testowych

Aby wysł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 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
    
  2. Użyj polecenia logger. 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|rt=$common=event-formatted-receive_time"
    

    Przetestuj pozyskiwanie danych z Cisco ASA przy użyciu 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ą do portu 514 i przesyłają dalej do portu 28330.

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

W przypadku dzienników CEF:

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

W przypadku dzienników Cisco ASA:

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

Dodatkowe procedury rozwiązywania problemów

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