Zarządzanie przekazywaniem dziennika systemowego dla usługi Azure Stack HCI
Dotyczy: Azure Stack HCI, wersja 23H2
W tym artykule opisano sposób konfigurowania zdarzeń zabezpieczeń do przekazywania do systemu informacji i zdarzeń zarządzanych przez klienta (SIEM) przy użyciu protokołu syslog dla usługi Azure Stack HCI w wersji 23H2 (wersja zapoznawcza).
Przekazywanie dziennika systemowego umożliwia integrację z rozwiązaniami do monitorowania zabezpieczeń oraz 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 usługi Azure Stack HCI, wersja 23H2 (wersja zapoznawcza).
Konfigurowanie przekazywania dziennika systemowego
Agenci przekazywania dziennika systemowego są domyślnie wdrażani na każdym hoście usługi Azure Stack HCI gotowym do skonfigurowania. Każdy z agentów przekaże zdarzenia zabezpieczeń w formacie dziennika systemowego z hosta do serwera dziennika syslog skonfigurowanego przez klienta.
Agenci przekazujący dziennik systemowy działają niezależnie od siebie, ale mogą być zarządzane 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 systemu w usłudze Azure Stack HCI obsługuje następujące konfiguracje:
Przekazywanie dziennika systemowego przy użyciu protokołu TCP, wzajemnego uwierzytelniania (klienta i serwera) i szyfrowania TLS 1.2: W tej konfiguracji zarówno serwer syslog, jak i klient dziennika systemowego weryfikują tożsamość siebie nawzajem za pośrednictwem certyfikatów. Komunikaty są wysyłane za pośrednictwem szyfrowanego kanału TLS 1.2. Aby uzyskać więcej informacji, zobacz Przekazywanie dziennika systemowego przy użyciu protokołu TCP, wzajemnego uwierzytelniania (klienta i serwera) i szyfrowania TLS 1.2.
Przekazywanie dziennika systemowego przy użyciu protokołu TCP, uwierzytelniania serwera i szyfrowania TLS 1.2: 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 1.2. Aby uzyskać więcej informacji, zobacz Przekazywanie dziennika systemowego przy użyciu protokołu TCP, uwierzytelniania serwera i szyfrowania TLS 1.2.
Przekazywanie dziennika systemowego przy użyciu protokołu TCP i bez szyfrowania: W tej konfiguracji tożsamości klienta dziennika systemowego 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 systemowego 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 dziennika systemowego przy użyciu protokołu UDP i bez szyfrowania.
Ważne
Aby chronić się przed atakami typu man-in-the-middle i podsłuchami komunikatów, firma Microsoft zdecydowanie zaleca używanie protokołu TCP z uwierzytelnianiem i szyfrowaniem w środowiskach produkcyjnych.
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 usługi Azure Stack HCI 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 akcji 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 | Typ | Wymagane |
---|---|---|---|
ServerName | Nazwa FQDN lub adres IP serwera dziennika systemu. | Ciąg | Tak |
ServerPort | Numer portu, na który nasłuchuje serwer syslog. | UInt16 | Tak |
NoEncryption | Wymuś, aby klient wysyłał komunikaty dziennika systemowego 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 pospolitej certyfikatu dostarczonego przez serwer syslog podczas początkowego uzgadniania protokołu TLS. | Flaga | Nie |
UseUDP | Użyj dziennika syslog z protokołem UDP jako protokołu transportowego. | Flaga | Nie |
ClientCertificateThumbprint | Odcisk palca certyfikatu klienta używanego do komunikowania się z serwerem syslog. | Ciąg | Nie |
OutputSeverity | Poziom rejestrowania danych wyjściowych. Wartości są wartościami domyślnymi lub pełnymi. Wartość domyślna 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. | Ciąg | 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 1.2
W tej konfiguracji klient dziennika systemu w usłudze Azure Stack HCI przekazuje komunikaty do serwera dziennika systemu za pośrednictwem protokołu TCP przy użyciu szyfrowania TLS 1.2. Podczas początkowego uzgadniania klient sprawdza, czy serwer zapewnia prawidłowy, zaufany certyfikat. Klient udostępnia również certyfikat serwerowi jako dowód jego tożsamości.
Ta konfiguracja jest najbezpieczniejsza, ponieważ zapewnia pełną weryfikację 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 systemu przy użyciu protokołu TCP, wzajemnego uwierzytelniania i szyfrowania TLS 1.2, skonfiguruj serwer i podaj certyfikat klientowi w celu uwierzytelnienia 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 1.2
W tej konfiguracji usługa przesyłania dalej dziennika systemu w usłudze Azure Stack HCI przekazuje komunikaty do serwera dziennika systemowego za pośrednictwem protokołu TCP z szyfrowaniem TLS 1.2. Podczas początkowego uzgadniania klient sprawdza również, czy serwer zapewnia 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 dziennika systemu z usługą Azure Stack HCI syslog forwarder 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 Nazwa pospolita 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 Stack HCI przekazuje komunikaty do serwera dziennika systemu 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 na potrzeby 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 Stack HCI przekazuje komunikaty do serwera dziennika systemu 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 na potrzeby weryfikacji.
Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -UseUDP
Chociaż protokół UDP bez szyfrowania jest najłatwiejszy do skonfigurowania, 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 konfiguracją przechowywaną 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 | Typ | Wymagane |
---|---|---|---|
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 syslog z serwerem dziennika systemowego 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 zweryfikować 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 | Typ | Wymagane |
---|---|---|---|
Lokalne | 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ą w usłudze Azure Stack HCI. Jest to domyślne zachowanie, 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 systemu i zatrzymać usługę przesyłania dalej dziennika systemowego:
Set-AzSSyslogForwarder -Remove
Dokumentacja schematu komunikatów i dziennika zdarzeń
Poniższy materiał referencyjny dokumentuje schemat komunikatów dziennika systemowego i definicje zdarzeń.
- Schemat komunikatu dziennika systemowego
- Schemat/definicje ładunku w formacie common Event Format
- Mapowanie i przykłady zdarzeń systemu Windows
- Zdarzenia różne
Usługa przesyłania dalej dziennika systemu infrastruktury usługi Azure Stack HCI 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 zależą od typu komunikatu, takiego jak zdarzenie systemu Windows itp.
Następne kroki
Dowiedz się więcej na następujące tematy: