收集 Synology 記錄
總覽
這個剖析器會使用 grok 模式從 Synology SYSLOG 訊息中擷取欄位,並將這些欄位對應至 UDM。這項服務可處理各種記錄格式、識別使用者登入和資源存取情形,並根據關鍵字將事件分類,同時提供供應商和產品資訊,豐富資料內容。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體。
- Synology DSM 的特殊存取權。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態饋給」,設定動態饋給
如要設定動態消息,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態消息」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態消息名稱」欄位中,輸入動態消息名稱,例如「Synology Logs」。
- 選取「Webhook」做為「來源類型」。
- 選取「Synology」做為「記錄類型」。
- 點選「下一步」。
- 選用:指定下列輸入參數的值:
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
\n
。 - 資產命名空間:資產命名空間。
- 擷取標籤:套用至這個動態饋給事件的標籤。
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
- 點選「下一步」。
- 在「Finalize」畫面中檢查動態饋給設定,然後按一下「Submit」。
- 按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
- 複製並儲存密鑰。您無法再次查看這個密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使先前的密鑰失效。
- 在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。您需要在用戶端應用程式中指定這個端點網址。
- 按一下 [完成]。
從內容中心設定動態饋給
為下列欄位指定值:
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
\n
。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
擷取標籤:套用至這個動態饋給所有事件的標籤。
按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
複製並儲存密鑰。您無法再次查看這個密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使先前的密鑰失效。
在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。您需要在用戶端應用程式中指定這個端點網址。
為 Webhook 資訊提供建立 API 金鑰
前往 Google Cloud 控制台 > 憑證。
按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)。
將 API 金鑰存取權限制在 Google Security Operations API。
指定端點網址
- 在用戶端應用程式中,指定 webhook 動態饋給中提供的 HTTPS 端點網址。
如要啟用驗證,請在自訂標頭中指定 API 金鑰和私密金鑰,格式如下:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
建議:請將 API 金鑰指定為標頭,而非在網址中指定。
如果 Webhook 用戶端不支援自訂標頭,您可以使用查詢參數指定 API 金鑰和密鑰,格式如下:
ENDPOINT_URL?key=API_KEY&secret=SECRET
更改下列內容:
ENDPOINT_URL
:動態消息端點網址。API_KEY
:用於向 Google Security Operations 進行驗證的 API 金鑰。SECRET
:您產生的密鑰,用於驗證動態饋給。
在 Synology 中為 Google SecOps 建立 Webhook
- 在 Synology NAS 上登入 DiskStation Manager (DSM)。
- 依序前往「控制台」>「通知」>「Webhook」。
- 按一下「新增」。
指定下列參數的值:
- 供應商:選取「自訂」。
規則:選取要在 Webhook 中傳送的訊息類型。
點選「下一步」。
供應商名稱:為 Webhook 命名,方便辨識 (例如「Google SecOps」)。
主旨:會新增為通知訊息的前置詞。
Webhook URL:輸入 ENDPOINT_URL。
選取「以英文傳送通知訊息」。
點選「下一步」。
HTTP 方法:選取「POST」。
新增標頭 X-Webhook-Access-Key,並將值設為 SECRET。
新增 X-goog-api-key 標頭,並提供 API_KEY 值。
按一下 [套用]。
按一下「套用」即可儲存 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 欄位擷取的值會指派給 principal.hostname 欄位。host |
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 專業人員尋求答案。