Zarządzanie przekazywaniem dziennika systemowego dla usługi Azure Local
Dotyczy: Azure Local, wersja 23H2
W tym artykule opisano sposób konfigurowania zdarzeń zabezpieczeń, które mają być przekazywane do systemu zarządzania informacjami i zdarzeniami zabezpieczeń przez klienta (SIEM) przy użyciu protokołu syslog dla usługi Azure Local w wersji 23H2.
Przekazywanie dziennika systemowego umożliwia integrację z rozwiązaniami do monitorowania zabezpieczeń i pobieranie odpowiednich dzienników zdarzeń zabezpieczeń w celu przechowywania ich na własnej platformie SIEM. Aby uzyskać więcej informacji na temat funkcji zabezpieczeń w tej wersji, zobacz Funkcje zabezpieczeń dla platformy Azure Local w wersji 23H2.
Konfigurowanie przekazywania dziennika systemowego
Agenci przekazujący dziennik systemowy są domyślnie wdrażani na każdym hoście lokalnym platformy Azure gotowym do skonfigurowania. Każdy z agentów będzie przekazywać zdarzenia zabezpieczeń w formacie dziennika systemowego z hosta do serwera syslog skonfigurowanego przez klienta.
Agenci przekazujący dziennik systemowy działają niezależnie od siebie, ale mogą być zarządzani razem na jednym z hostów. Użyj poleceń cmdlet programu PowerShell z uprawnieniami administracyjnymi na dowolnym hoście, aby kontrolować zachowanie wszystkich agentów usługi przesyłania dalej.
Usługa przesyłania dalej dziennika systemowego w usłudze Azure Local obsługuje następujące konfiguracje:
Przekazywanie dziennika systemowego przy użyciu protokołu TCP, wzajemnego uwierzytelniania (klienta i serwera) i szyfrowania TLS: w tej konfiguracji zarówno serwer syslog, jak i klient syslog weryfikują tożsamość siebie za pośrednictwem certyfikatów. Komunikaty są wysyłane za pośrednictwem szyfrowanego kanału TLS. Aby uzyskać więcej informacji, zobacz Przekazywanie usługi Syslog przy użyciu protokołu TCP, wzajemnego uwierzytelniania (klienta i serwera) i szyfrowania TLS.
Przekazywanie dziennika systemowego przy użyciu protokołu TCP, uwierzytelniania serwera i szyfrowania TLS: w tej konfiguracji klient dziennika systemowego weryfikuje tożsamość serwera syslog za pośrednictwem certyfikatu. Komunikaty są wysyłane za pośrednictwem szyfrowanego kanału TLS. Aby uzyskać więcej informacji, zobacz Przekazywanie dziennika systemowego przy użyciu protokołu TCP, uwierzytelniania serwera i szyfrowania TLS.
Przekazywanie dziennika systemowego przy użyciu protokołu TCP i bez szyfrowania: w tej konfiguracji tożsamości klienta dziennika systemu i serwera syslog nie są weryfikowane. Komunikaty są wysyłane w postaci zwykłego tekstu za pośrednictwem protokołu TCP. Aby uzyskać więcej informacji, zobacz Przekazywanie dziennika systemowego przy użyciu protokołu TCP i bez szyfrowania.
Dziennik systemowy z protokołem UDP i bez szyfrowania: w tej konfiguracji tożsamości klienta dziennika systemu i serwera syslog nie są weryfikowane. Komunikaty są wysyłane w postaci zwykłego tekstu za pośrednictwem protokołu UDP. Aby uzyskać więcej informacji, zobacz Przekazywanie usługi Syslog przy użyciu protokołu UDP i brak szyfrowania.
Ważne
Aby chronić przed atakami typu man-in-the-middle i podsłuchiwaniem komunikatów, firma Microsoft zdecydowanie zaleca używanie protokołu TCP z uwierzytelnianiem i szyfrowaniem w środowiskach produkcyjnych. Wersja szyfrowania TLS zależy od uzgadniania między punktami końcowymi. Protokoły TLS 1.2 i TLS 1.3 są domyślnie obsługiwane.
Polecenia cmdlet do konfigurowania przekazywania dziennika systemowego
Konfigurowanie usługi przesyłania dalej dziennika systemowego wymaga dostępu do hosta fizycznego przy użyciu konta administratora domeny. Zestaw poleceń cmdlet programu PowerShell został dodany do wszystkich hostów lokalnych platformy Azure w celu kontrolowania zachowania usługi przesyłania dalej dziennika systemowego.
Polecenie Set-AzSSyslogForwarder
cmdlet służy do ustawiania konfiguracji usługi przesyłania dalej dziennika systemowego dla wszystkich hostów. W przypadku powodzenia wystąpienie planu działania zostanie uruchomione w celu skonfigurowania agentów usługi przesyłania dalej dziennika systemowego na wszystkich hostach. Zostanie zwrócony identyfikator wystąpienia planu działania.
Użyj następującego polecenia cmdlet, aby przekazać informacje o serwerze syslog do usługi przesyłania dalej i skonfigurować protokół transportu, szyfrowanie, uwierzytelnianie i opcjonalny certyfikat używany między klientem a serwerem:
Set-AzSSyslogForwarder [-ServerName <String>] [-ServerPort <UInt16>] [-NoEncryption] [-SkipServerCertificateCheck | -SkipServerCNCheck] [-UseUDP] [-ClientCertificateThumbprint <String>] [-OutputSeverity {Default | Verbose}] [-Remove]
Parametry polecenia cmdlet
Poniższa tabela zawiera parametry polecenia Set-AzSSyslogForwarder
cmdlet:
Parametr | Opis | Type | Wymagania |
---|---|---|---|
ServerName | Nazwa FQDN lub adres IP serwera syslog. | String | Tak |
ServerPort | Numer portu, na który nasłuchuje serwer syslog. | UInt16 | Tak |
NoEncryption | Wymuś wysłanie komunikatów dziennika systemowego przez klienta w postaci zwykłego tekstu. | Flaga | Nie. |
SkipServerCertificateCheck | Pomiń walidację certyfikatu dostarczonego przez serwer syslog podczas początkowego uzgadniania protokołu TLS. | Flaga | Nie. |
SkipServerCNCheck | Pomiń walidację wartości nazwy pospolitej certyfikatu dostarczonego przez serwer syslog podczas początkowego uzgadniania protokołu TLS. | Flaga | Nie. |
UseUDP | Użyj dziennika systemowego z protokołem UDP jako protokołem transportu. | Flaga | Nie. |
ClientCertificateThumbprint | Odcisk palca certyfikatu klienta używanego do komunikowania się z serwerem syslog. | String | Nie |
Niezależnie od danych wyjściowych | Poziom rejestrowania danych wyjściowych. Wartości są wartościami domyślnymi lub pełnymi. Ustawienie domyślne obejmuje poziomy ważności: ostrzeżenie, krytyczne lub błąd. Pełne zawiera wszystkie poziomy ważności: pełne, informacyjne, ostrzegawcze, krytyczne lub błędy. | String | Nie |
Usuń | Usuń bieżącą konfigurację usługi przesyłania dalej dziennika syslog i zatrzymaj usługę przesyłania dalej syslog. | Flaga | Nie. |
Przekazywanie dziennika systemowego przy użyciu protokołu TCP, wzajemnego uwierzytelniania (klienta i serwera) i szyfrowania TLS
W tej konfiguracji klient dziennika systemu w usłudze Azure Local przekazuje komunikaty do serwera dziennika systemu za pośrednictwem protokołu TCP przy użyciu szyfrowania TLS. Podczas początkowego uzgadniania klient sprawdza, czy serwer zapewnia prawidłowy, zaufany certyfikat. Klient udostępnia również certyfikat serwerowi jako dowód tożsamości.
Ta konfiguracja jest najbezpieczniejsza, ponieważ zapewnia pełną walidację tożsamości zarówno klienta, jak i serwera, i wysyła komunikaty za pośrednictwem zaszyfrowanego kanału.
Ważne
Firma Microsoft zaleca użycie tej konfiguracji dla środowisk produkcyjnych.
Aby skonfigurować usługę przesyłania dalej dziennika systemowego przy użyciu protokołu TCP, wzajemnego uwierzytelniania i szyfrowania TLS, skonfiguruj serwer i przekaż klientowi certyfikat do uwierzytelniania na serwerze.
Uruchom następujące polecenie cmdlet względem hosta fizycznego:
Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -ClientCertificateThumbprint <Thumbprint of the client certificate>
Ważne
Certyfikat klienta musi zawierać klucz prywatny. Jeśli certyfikat klienta jest podpisany przy użyciu certyfikatu głównego z podpisem własnym, należy również zaimportować certyfikat główny.
Przekazywanie dziennika systemowego przy użyciu protokołu TCP, uwierzytelniania serwera i szyfrowania TLS
W tej konfiguracji usługa przesyłania dalej dziennika systemowego na platformie Azure lokalnie przekazuje komunikaty do serwera syslog za pośrednictwem protokołu TCP przy użyciu szyfrowania TLS. Podczas początkowego uzgadniania klient sprawdza również, czy serwer udostępnia prawidłowy, zaufany certyfikat.
Ta konfiguracja uniemożliwia klientowi wysyłanie komunikatów do niezaufanych miejsc docelowych. Protokół TCP przy użyciu uwierzytelniania i szyfrowania jest konfiguracją domyślną i reprezentuje minimalny poziom zabezpieczeń zalecany przez firmę Microsoft dla środowiska produkcyjnego.
Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening>
Jeśli chcesz przetestować integrację serwera syslog z usługą przesyłania dalej dzienników lokalnych platformy Azure przy użyciu certyfikatu z podpisem własnym lub niezaufanym, użyj tych flag, aby pominąć weryfikację serwera wykonywaną przez klienta podczas początkowego uzgadniania.
Pomiń walidację wartości nazwy pospolitej w certyfikacie serwera. Użyj tej flagi, jeśli podasz adres IP serwera syslog.
Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -SkipServerCNCheck
Pomiń walidację certyfikatu serwera.
Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -SkipServerCertificateCheck
Ważne
Firma Microsoft zaleca, aby nie używać flagi
-SkipServerCertificateCheck
w środowiskach produkcyjnych.
Przekazywanie dziennika systemowego przy użyciu protokołu TCP i bez szyfrowania
W tej konfiguracji klient dziennika systemu w usłudze Azure Local przekazuje komunikaty do serwera syslog za pośrednictwem protokołu TCP bez szyfrowania. Klient nie weryfikuje tożsamości serwera ani nie dostarcza własnej tożsamości do serwera w celu weryfikacji.
Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening on> -NoEncryption
Ważne
Firma Microsoft zaleca, aby nie używać tej konfiguracji w środowiskach produkcyjnych.
Przekazywanie dziennika systemowego przy użyciu protokołu UDP i bez szyfrowania
W tej konfiguracji klient dziennika systemu w usłudze Azure Local przekazuje komunikaty do serwera syslog za pośrednictwem protokołu UDP bez szyfrowania. Klient nie weryfikuje tożsamości serwera ani nie dostarcza własnej tożsamości do serwera w celu weryfikacji.
Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -UseUDP
Protokół UDP bez szyfrowania jest najłatwiejszy do skonfigurowania, ale nie zapewnia żadnej ochrony przed atakami typu man-in-the-middle ani podsłuchiwanie komunikatów.
Ważne
Firma Microsoft zaleca, aby nie używać tej konfiguracji w środowiskach produkcyjnych.
Włączanie przekazywania dziennika systemowego
Uruchom następujące polecenie cmdlet, aby włączyć przekazywanie dziennika systemowego:
Enable-AzSSyslogForwarder [-Force]
Usługa przesyłania dalej dziennika systemowego zostanie włączona z zapisaną konfiguracją dostarczoną przez ostatnie pomyślne Set-AzSSyslogForwarder
wywołanie. Polecenie cmdlet zakończy się niepowodzeniem, jeśli nie podano konfiguracji przy użyciu polecenia Set-AzSSyslogForwarder
.
Wyłączanie przekazywania dziennika systemowego
Uruchom następujące polecenie cmdlet, aby wyłączyć przekazywanie dziennika systemowego:
Disable-AzSSyslogForwarder [-Force]
Parametr dla Enable-AzSSyslogForwarder
poleceń cmdlet i Disable-AzSSyslogForwarder
:
Parametr | Opis | Type | Wymagania |
---|---|---|---|
Force | Jeśli zostanie określony, plan działania będzie zawsze wyzwalany, nawet jeśli stan docelowy jest taki sam jak bieżący. Może to być przydatne do zresetowania zmian poza pasmem. | Flaga | Nie. |
Weryfikowanie konfiguracji dziennika systemowego
Po pomyślnym połączeniu klienta dziennika systemowego z serwerem syslog rozpoczniesz odbieranie powiadomień o zdarzeniach. Jeśli nie widzisz powiadomień, sprawdź konfigurację usługi przesyłania dalej dziennika systemu klastra, uruchamiając następujące polecenie cmdlet:
Get-AzSSyslogForwarder [-Local | -PerNode | -Cluster]
Każdy host ma własnego agenta usługi przesyłania dalej dziennika systemowego, który używa lokalnej kopii konfiguracji klastra. Zawsze powinny być takie same jak konfiguracja klastra. Bieżącą konfigurację na każdym hoście można sprawdzić przy użyciu następującego polecenia cmdlet:
Get-AzSSyslogForwarder -PerNode
Możesz również użyć następującego polecenia cmdlet, aby sprawdzić konfigurację na hoście, z którym masz połączenie:
Get-AzSSyslogForwarder -Local
Parametry polecenia cmdlet dla Get-AzSSyslogForwarder
polecenia cmdlet:
Parametr | Opis | Type | Wymagania |
---|---|---|---|
Lokalny | Pokaż aktualnie używaną konfigurację na bieżącym hoście. | Flaga | Nie. |
PerNode | Pokaż aktualnie używaną konfigurację na każdym hoście. | Flaga | Nie. |
Klaster | Pokaż bieżącą konfigurację globalną na platformie Azure Local. Jest to zachowanie domyślne, jeśli nie podano żadnego parametru. | Flaga | Nie. |
Usuwanie przekazywania dziennika systemowego
Uruchom następujące polecenie, aby usunąć konfigurację usługi przesyłania dalej dziennika systemowego i zatrzymać usługę przesyłania dalej dziennika systemowego:
Set-AzSSyslogForwarder -Remove
Schemat komunikatów i dokumentacja dziennika zdarzeń
Poniższe materiały referencyjne zawierają dokumenty dotyczące schematu komunikatów dziennika systemowego i definicji zdarzeń.
- Schemat komunikatu dziennika systemowego
- Schemat/definicje ładunku w formacie common Event Format
- Mapowanie i przykłady zdarzeń systemu Windows
- Różne zdarzenia
Usługa przesyłania dalej dziennika systemowego infrastruktury lokalnej platformy Azure wysyła komunikaty sformatowane zgodnie z protokołem dziennika systemowego BSD zdefiniowanym w RFC3164. Format CEF służy również do formatowania ładunku komunikatu dziennika systemowego.
Każdy komunikat dziennika systemowego jest ustrukturyzowany na podstawie tego schematu: Priorytet (PRI) | Czas | Host | Ładunek CEF |
Część PRI zawiera dwie wartości: obiekt i ważność. Oba elementy zależą od typu komunikatu, takiego jak zdarzenie systemu Windows itp.
Następne kroki
Dowiedz się więcej na następujące tematy: