共用方式為


管理 Azure 本機的 syslog 轉送

適用於:Azure 本機版本 23H2

本文說明如何使用 Azure Local 版本 23H2 的 syslog 通訊協定,設定要轉送至客戶管理的安全性資訊和事件管理 (SIEM) 系統的安全性事件。

使用 syslog 轉送與安全性監視解決方案整合,並擷取相關的安全性事件記錄檔,以將它們儲存在您自己的 SIEM 平臺上。 如需此版本中安全性功能的詳細資訊,請參閱 Azure 本機版本 23H2 的安全性功能。

設定 syslog 轉送

根據預設,系統會在每個 Azure 本機主機上部署 Syslog 轉送代理程式,準備好進行設定。 每個代理程式都會以 syslog 格式將安全性事件從主機轉送至客戶設定的 syslog 伺服器。

Syslog 轉送代理程式彼此獨立運作,但可在任一主機上一起管理。 在任何主機上搭配系統管理許可權使用PowerShell Cmdlet來控制所有轉寄站代理程序的行為。

Azure Local 中的 syslog 轉寄站支援下列設定:

  • 使用 TCP、相互驗證(用戶端和伺服器)和 TLS 加密的 Syslog 轉送: 在此設定中,syslog 伺服器和 syslog 用戶端都會透過憑證驗證彼此的身分識別。 訊息會透過TLS加密通道傳送。 如需詳細資訊,請參閱 使用 TCP、相互驗證(用戶端和伺服器)和 TLS 加密的 Syslog 轉送。

  • 使用 TCP、伺服器驗證和 TLS 加密的 Syslog 轉送: 在此設定中,syslog 用戶端會透過憑證驗證 syslog 伺服器的身分識別。 訊息會透過TLS加密通道傳送。 如需詳細資訊,請參閱 使用 TCP、伺服器驗證和 TLS 加密轉送 Syslog。

  • 使用 TCP 和無加密的 Syslog 轉送: 在此設定中,不會驗證 syslog 用戶端和 syslog 伺服器身分識別。 訊息會透過 TCP 以純文字傳送。 如需詳細資訊,請參閱 使用 TCP 進行 Syslog 轉送,而不使用加密

  • 具有UDP且沒有加密的Syslog: 在此設定中,不會驗證 syslog 用戶端和 syslog 伺服器身分識別。 訊息會透過UDP以純文字傳送。 如需詳細資訊,請參閱 使用UDP的Syslog轉送和無加密

    重要

    若要防範中間人攻擊和竊聽訊息,Microsoft強烈建議您在生產環境中搭配驗證和加密使用 TCP。 TLS 加密版本取決於端點之間的交握。 根據預設,支援 TLS 1.2 和 TLS 1.3。

用以設定 Syslog 轉送的 Cmdlet

設定 syslog 轉寄站需要使用網域系統管理員帳戶存取實體主機。 已將所有 Azure 本機主機新增一組 PowerShell Cmdlet,以控制 syslog 轉寄站的行為。

Cmdlet Set-AzSSyslogForwarder 可用來設定所有主機的 syslog 轉寄站組態。 如果成功,將會啟動行動計劃實例,以在所有主機上設定 syslog 轉寄站代理程式。 將會傳回行動計劃實例標識碼。

使用下列 Cmdlet 將 syslog 伺服器資訊傳遞至轉寄站,並設定傳輸通訊協定、加密、驗證,以及用戶端與伺服器之間所使用的選擇性憑證:

Set-AzSSyslogForwarder [-ServerName <String>] [-ServerPort <UInt16>] [-NoEncryption] [-SkipServerCertificateCheck | -SkipServerCNCheck] [-UseUDP] [-ClientCertificateThumbprint <String>] [-OutputSeverity {Default | Verbose}] [-Remove] 

Cmdlet 參數

下表提供 Cmdlet 的參數 Set-AzSSyslogForwarder

參數 描述 類型​ 必要
ServerName Syslog 伺服器的 FQDN 或 IP 位址。 String Yes
ServerPort Syslog 伺服器正在接聽的連接埠號碼。 UInt16 Yes
NoEncryption 強制用戶端以純文字形式傳送 Syslog 訊息。 旗標 No
SkipServerCertificateCheck 在初始 TLS 信號交換期間,略過 Syslog 伺服器所提供的憑證之驗證。 旗標 No
SkipServerCNCheck 在初始 TLS 信號交換期間,略過 Syslog 伺服器所提供的憑證的 [一般名稱] 值之驗證。 旗標 No
UseUDP 使用 Syslog 搭配 UDP 作為傳輸通訊協定。 旗標 No
ClientCertificateThumbprint 用來與 syslog 伺服器通訊之用戶端憑證的指紋。 String No
OutputSeverity 輸出記錄的層級。 值為 Default 或 Verbose。 預設值包含嚴重性層級: 警告、重大或錯誤。 Verbose 包含所有嚴重性層級: 詳細資訊、資訊、警告、重大或錯誤。 String No
移除 拿掉目前的 syslog 轉寄站組態,並停止 syslog 轉寄站。 旗標 No

使用 TCP、相互驗證和伺服器進行 Syslog 轉送,以及 TLS 加密

在此設定中,Azure 本機中的 syslog 用戶端會使用 TLS 加密,透過 TCP 將訊息轉送至 syslog 伺服器。 在初始信號交換期間,用戶端會確認伺服器是否提供了有效、受信任的憑證。 用戶端也會提供憑證給伺服器,作為其身分識別的證明。

此組態最安全,因為它提供客戶端和伺服器身分識別的完整驗證,並透過加密通道傳送訊息。

重要

Microsoft建議您將此設定用於生產環境。

若要使用 TCP、相互驗證和 TLS 加密設定 syslog 轉寄站,請設定伺服器,並將憑證提供給用戶端,以針對伺服器進行驗證。

針對實體主機執行下列 Cmdlet:

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>

重要

用戶端憑證必須包含私鑰。 如果使用自我簽署跟證書簽署客戶端憑證,您也必須匯入跟證書。

使用 TCP、伺服器驗證和 TLS 加密的 Syslog 轉送

在此設定中,Azure Local 中的 syslog 轉寄站會透過使用 TLS 加密透過 TCP 將訊息轉送至 syslog 伺服器。 在初始交握期間,用戶端也會驗證伺服器是否提供有效的受信任憑證。

此設定可防止用戶端將訊息傳送至不受信任的目的地。 使用驗證和加密的 TCP 是預設組態,代表Microsoft針對生產環境建議的最低安全性層級。

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening>

如果您想要使用自我簽署或未受信任的憑證來測試 syslog 伺服器與 Azure Local syslog 轉寄站的整合,請使用這些旗標來略過用戶端在初始交握期間完成的伺服器驗證。

  1. 略過伺服器證書中 [一般名稱] 值的驗證。 如果您提供 syslog 伺服器的 IP 位址,請使用此旗標。

    Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> 
    -SkipServerCNCheck
    
  2. 略過伺服器證書驗證。

    Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening>  
    -SkipServerCertificateCheck
    

    重要

    Microsoft建議您不要在生產環境中使用 -SkipServerCertificateCheck 旗標。

使用 TCP 和無加密的 Syslog 轉送

在此設定中,Azure 本機中的 syslog 用戶端會透過 TCP 將訊息轉送至 syslog 伺服器,而不加密。 用戶端不會驗證伺服器的身分識別,也不會將自己的身分識別提供給伺服器進行驗證。

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening on> -NoEncryption

重要

Microsoft建議您不要在生產環境中使用此設定。

使用 UDP 和無加密的 Syslog 轉送

在此組態中,Azure 本機中的 syslog 用戶端會透過 UDP 將訊息轉送至 syslog 伺服器,而不需要加密。 用戶端不會驗證伺服器的身分識別,也不會將自己的身分識別提供給伺服器進行驗證。

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -UseUDP

雖然沒有加密的 UDP 是最容易設定的,但它不會提供任何保護,以防止攔截式攻擊或竊聽訊息。

重要

Microsoft建議您不要在生產環境中使用此設定。

啟用 syslog 轉送

執行下列 Cmdlet 以啟用 syslog 轉送:

Enable-AzSSyslogForwarder [-Force]

系統會使用最後一次成功 Set-AzSSyslogForwarder 呼叫所提供的預存組態來啟用Syslog轉寄站。 如果未使用 Set-AzSSyslogForwarder提供任何組態,Cmdlet 將會失敗。

停用 syslog 轉送

執行下列 Cmdlet 以停用 syslog 轉送:

Disable-AzSSyslogForwarder [-Force] 

Enable-AzSSyslogForwarderDisable-AzSSyslogForwarder Cmdlet 的參數:

參數 描述 類型​ 必要
Force 如果指定,即使目標狀態與目前相同,也會一律觸發行動計劃。 這有助於重設頻外變更。 旗標 No

確認 syslog 設定

成功將 syslog 用戶端連線到 syslog 伺服器之後,您就會開始接收事件通知。 如果您沒有看到通知,請執行下列 Cmdlet 來確認叢集 syslog 轉寄站組態:

Get-AzSSyslogForwarder [-Local | -PerNode | -Cluster] 

每個主機都有自己的 syslog 轉寄站代理程式,其使用叢集設定的本機複本。 它們一律與叢集組態相同。 您可以使用下列 Cmdlet 來確認每個主機上的目前組態:

Get-AzSSyslogForwarder -PerNode 

您也可以使用下列 Cmdlet 來驗證所連線主機上的組態:

Get-AzSSyslogForwarder -Local

Cmdlet 的 Get-AzSSyslogForwarder Cmdlet 參數:

參數 描述 類型​ 必要
本機 顯示目前主機上目前使用的組態。 旗標 No
PerNode 顯示每個主機上目前使用的組態。 旗標 No
Cluster 在 Azure 本機上顯示目前的全域設定。 如果沒有提供任何參數,這是預設行為。 旗標 No

拿掉 syslog 轉送

執行下列命令以移除 syslog 轉寄站組態,並停止 syslog 轉寄站:

Set-AzSSyslogForwarder -Remove 

訊息架構和事件記錄檔參考

下列參考數據檔 syslog 訊息架構和事件定義。

Azure 本機基礎結構的 syslog 轉寄站會傳送格式化為遵循 RFC3164 中定義的 BSD syslog 通訊協定的訊息。 CEF 也用來格式化 syslog 訊息承載。

每個 syslog 訊息都是根據此架構進行結構化:優先順序 (PRI) |時間 |主機 |CEF 承載 |

PRI 元件包含兩個值: 設施嚴重性。 兩者都取決於訊息類型,例如 Windows 事件等。

下一步

深入了解: