在 Windows 中啟用並設定 Sysmon

本文說明如何啟用並設定 Sysmon,以在 Windows 系統上收集詳細的安全遙測數據。 內容涵蓋安裝選項、服務行為及組態要求,以開始捕捉高保真度事件資料以供安全監控與鑑識分析。

Sysmon 預設是被關閉的。 你必須明確安裝並設定它來產生事件。 有效的部署需要選擇合適的配置、了解包含與排除過濾行為,並確保服務受到保護並可靠地記錄資料以供下游分析。

Sysmon 做了什麼,什麼不做

  • Sysmon 會記錄系統活動並將事件寫入 Windows 事件日誌。

  • Sysmon 不會分析事件或產生警報。

  • Sysmon 不會阻擋或阻止活動。

要分析 Sysmon 事件,請將其轉發至 Windows 事件集合或 SIEM) (安全資訊與事件管理解決方案,例如 Splunk

必要條件

啟用內建 Sysmon 前,請確保:

  • 運行支援版本 Windows 11 或更新版本的裝置。

  • 你在裝置上擁有管理員權限或等效權限。

  • 獨立的 Sysmon 沒有安裝。 內建的 Sysmon 不支援與獨立 Sysmon 共存。

檢查現有安裝

內建的 Sysmon 設計為原生 Windows 功能,不支援與獨立 Sysmon 共存。

要確認 Sysmon 沒有在運行,請依照步驟操作。

  1. 以管理員身份開啟 PowerShell 視窗。

  2. 請使用以下指令檢查 Sysmon 服務。

    Get-Service sysmon* 
    
  3. 檢查輸出,你不應該回傳任何結果。 如果有,務必先卸載獨立的 Sysmon 再繼續。

啟用內建 Sysmon

內建 Sysmon 預設為停用,且必須明確啟用。 要啟用 Sysmon,請依照步驟操作。

  1. 要安裝 Sysmon 的可選功能,請執行以下指令。

    Enable-WindowsOptionalFeature -Online -FeatureName Sysmon 
    
  2. 要依預設設定安裝 Sysmon,請執行以下指令。

    sysmon –i 
    

提供 Sysmon 配置

Sysmon 使用設定檔來判斷哪些事件被記錄,哪些事件被過濾掉。

設定檔以 XML 撰寫,並定義了記錄特定 Sysmon 事件的規則。 一些事件類型範例包括:流程建立、網路連接和檔案建立。 欲了解更多關於設定檔運作方式的資訊,請參閱 《理解 Sysmon 設定檔》。

  1. 建立或取得 Sysmon 設定檔。 配置通常包括:

    1. 啟用事件類型

    2. 包含與排除過濾規則

    3. 雜湊演算法與元資料選項

  2. 以下是可用的範例設定與指南:

    1. Sysmon-config – 由 SwiftOnSecurity 維護的預設高品質 Sysmon 事件設定:

      https://github.com/SwiftOnSecurity/sysmon-config

    2. Sysmon-modular – 模組化 Sysmon 配置,搭配 MITRE ATT&CK 覆蓋,由 Olaf Hartong 維護

      https://github.com/olafhartong/sysmon-modular

    3. SysmonCommunityGuide – 由 Carlos Perez 維護的 Sysmon 指南、技術細節及範例

      https://github.com/trustedsec/SysmonCommunityGuide

    4. Sysmon 配置深度解析

設定檔通常包括:

  • 啟用事件類型

  • 包含與排除過濾規則

  • 雜湊演算法與元資料選項

您可以在以下資源中找到範例設定檔與指南:

  1. 將設定檔放入你選擇的任何目錄中,例如:

    C:\Sysmon\sysmonconfig.xml

  2. 以管理員身份開啟 PowerShell 視窗

  3. 用指令 cd 將目錄改成你放置設定檔的目錄。 例如, cd c:\Sysmon

  4. 要套用你的設定檔,請執行以下其中一項:

    1. 請使用以下指令設定 Sysmon 的設定檔。 記得用你的設定檔路徑來替換 C:\Sysmon\sysmonconfig.xml
    sysmon – c C:\Sysmon\sysmonconfig.xml 
    

    1. 如果你還沒安裝 Sysmon,可以用以下指令用設定檔安裝 Sysmon。 記得用你的設定檔路徑來替換 C:\Sysmon\sysmonconfig.xml

      sysmon -i C:\Sysmon\sysmonconfig.xml 
      

    套用後,該配置立即生效。 不需要重啟。

重要

限制性或未優化的配置可能會產生大量事件量。 在廣泛部署前,先檢視並測試設定。

範例配置

以下範例展示了一個最小的 Sysmon 配置,使常見事件類型得以實現:


<Sysmon schemaversion="4.90"> 
   <HashAlgorithms>SHA256</HashAlgorithms> 
   
   <EventFiltering>   
     <ProcessCreate onmatch="exclude" />
     <NetworkConnect onmatch="exclude" />
     <FileCreate onmatch="exclude" />
   </EventFiltering> 
</Sysmon>   

此範例可實現基本可見性,並可擴充包含與排除規則以降低雜訊。 

提示

Process create on match -exclude 無子參數時包含所有製程建立事件

確認 Sysmon 是否已啟用並設定

啟用並設定內建 Sysmon 後,請依照以下步驟確認其正常運作。

  1. 選擇 開始 按鈕,輸入 事件檢視器,然後從最佳配對清單中開啟 活動檢視 器。

  2. 在事件檢視器中,請前往 Microsoft > Windows > 系統運作>中的應用程式與服務日誌>

  3. 確認 Sysmon 事件是否存在,例如程序建立、網路連接、檔案建立。 若事件發生,表示內建 Sysmon 已啟用並使用主動設定。

更新 Sysmon 設定

要更新 Sysmon 設定,請依照以下步驟操作。

  1. 請依照 「了解 sysmon 設定檔」中的指引修改 Sysmon 設定檔。

  2. 請使用以下指令套用更新後的設定。 記得替換 C:\Sysmon\sysmonconfig.xml 成你的設定檔路徑。

sysmon -c C:\Sysmon\sysmonconfig.xml 

設定更新是動態執行的,不需要重啟系統。

後續步驟

  • 調整 Sysmon 濾波器以平衡可見性與事件音量。

  • 將 Sysmon 事件轉發到集中式日誌收集(SIEM)。

  • 請參閱設定後的 Sysmon 讀取 /轉發與調整教學。