收集 Synology 記錄

支援的國家/地區:

這個剖析器會使用 grok 模式從 Synology SYSLOG 訊息中擷取欄位,並將這些欄位對應至 UDM。這項服務可處理各種記錄格式、識別使用者登入和資源存取情形,並根據關鍵字將事件分類,同時加入供應商和產品資訊,豐富資料內容。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體。
  • Synology DSM 的特殊存取權。

設定動態饋給

如要設定動態消息,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態饋給」。
  2. 按一下「新增動態饋給」。
  3. 在下一個頁面中,按一下「設定單一動態饋給」。
  4. 在「動態消息名稱」欄位中輸入動態消息名稱,例如「Synology Logs」。
  5. 選取「Webhook」做為「來源類型」。
  6. 選取「Synology」做為「記錄類型」。
  7. 點選「下一步」。
  8. 選用:指定下列輸入參數的值:
    • 分割分隔符號:用於分隔記錄行的分隔符號,例如 \n。
    • 資產命名空間:資產命名空間。
    • 擷取標籤:套用至這個動態饋給事件的標籤。
  9. 點選「下一步」。
  10. 在「完成」畫面中檢查動態消息設定,然後按一下「提交」。
  11. 按一下「產生密鑰」,產生用於驗證這個動態消息的密鑰。
  12. 複製並儲存密鑰。您無法再次查看這組密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使舊密鑰失效。
  13. 在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。您需要在用戶端應用程式中指定這個端點網址。
  14. 按一下「完成」。

為 Webhook 動態饋給建立 API 金鑰

  1. 前往 Google Cloud 控制台 > 憑證。

    前往「憑證」

  2. 按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)。

  3. 將 API 金鑰存取權限制在 Google Security Operations API。

指定端點網址

  1. 在用戶端應用程式中,指定 Webhook 動態饋給提供的 HTTPS 端點網址。
  2. 如要啟用驗證,請在自訂標頭中指定 API 金鑰和密鑰,格式如下:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    建議:請將 API 金鑰指定為標頭,而非網址。

  3. 如果 Webhook 用戶端不支援自訂標頭,您可以使用下列格式的查詢參數指定 API 金鑰和密鑰:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    更改下列內容:

    • ENDPOINT_URL:動態消息端點網址。
    • API_KEY:用於向 Google Security Operations 進行驗證的 API 金鑰。
    • SECRET:您產生的密鑰,用於驗證動態饋給。

在 Synology 中為 Google SecOps 建立 Webhook

  1. 在 Synology NAS 上登入 DiskStation Manager (DSM)。
  2. 依序前往「控制台」>「通知」>「Webhook」。
  3. 按一下「新增」。
  4. 指定下列參數的值:

    • 供應商:選取「自訂」。
    • 規則:選取要在 Webhook 中傳送的訊息類型。

    • 點選「下一步」。

    • 供應商名稱:為 Webhook 命名,例如 Google SecOps。

    • 主旨:會新增為通知訊息的前置字元。

    • Webhook 網址:輸入 ENDPOINT_URL。

    • 選取「以英文傳送通知訊息」。

    • 點選「下一步」。

    • HTTP 方法:選取「POST」。

    • 新增標頭「X-Webhook-Access-Key」,並將值設為「SECRET」。

    • 新增 X-goog-api-key 標頭,並將值設為 API_KEY。

    • 按一下「套用」。

  5. 按一下「套用」即可儲存 Webhook。

UDM 對應表

記錄欄位 UDM 對應 邏輯
app target.application grok 篩選器擷取的 app 欄位值會指派給 target.application。
desc metadata.description grok 篩選器擷取的 desc 欄位值會指派給 metadata.description。
desc target.file.names 如果 desc 欄位包含「Closed)」,系統會擷取括號內的檔案路徑,並指派給 target.file.names。如果 desc 欄位包含「accessed shared folder」,系統會擷取方括號內的資料夾路徑,並指派給 target.file.names。
host principal.hostname grok 篩選器從 host_and_ip 欄位擷取 host 欄位的值,並指派給 principal.hostname。
host_and_ip principal.ip 系統會剖析 host_and_ip 欄位。如果找到 IP 位址 (ip1),系統會將其指派給 principal.ip。如果找到第二個 IP 位址 (ip2),也會新增至 principal.ip。
intermediary_host intermediary.hostname grok 篩選器擷取的 intermediary_host 欄位值會指派給 intermediary.hostname。如果訊息包含「已登入」或「登入」,系統會在 extensions 中建立空白的 auth 物件。系統會使用原始記錄 collection_time 欄位中的時間戳記。如果訊息包含「已登入」或「登入」,值會設為 USER_LOGIN。如果郵件含有「accessed shared folder」,值會設為 USER_RESOURCE_ACCESS。否則預設為 GENERIC_EVENT。grok 篩選器擷取的 type 欄位值會指派給 metadata.product_event_type。這個值會靜態設為「SYNOLOGY」。這個值會靜態設為「SYNOLOGY」。如果訊息包含「failed to sign」,值會設為 BLOCK。如果訊息包含「success」,值會設為 ALLOW。如果 severity 欄位 (由 grok 擷取) 為「INFO」,則值會設為 INFORMATIONAL。
severity security_result.severity 系統會使用 grok 篩選器擷取的 severity 欄位值,判斷 security_result.severity。如果值為「INFO」,則會對應至「INFORMATIONAL」。
time metadata.event_timestamp 系統會剖析 grok 篩選器擷取的 time 欄位,並轉換為時間戳記。然後將這個時間戳記指派給 metadata.event_timestamp。
type metadata.product_event_type grok 篩選器擷取的 type 欄位值會指派給 metadata.product_event_type。
user target.administrative_domain 如果從 user 欄位擷取網域,系統會將該網域指派給 target.administrative_domain。
user target.user.userid 系統會擷取 user 欄位的使用者名稱部分 (如果存在「\」之前),並指派給 target.user.userid。系統會使用原始記錄 collection_time 欄位中的時間戳記。

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。