整合 Splunk 與 Google SecOps

本文說明如何將 Splunk 與 Google SecOps 整合。

事前準備

將 Splunk 與 Google SecOps 整合前,請先為部署架構決定適當的擷取方法,並確認環境符合所有必要依附元件、網路路徑和存取權。

Google SecOps 支援兩種擷取方法:

  • 以推送為基礎的擷取:Splunk 會在本地評估快訊,並使用 TA-Siemplify 外掛程式和快訊觸發動作,將事件直接推送至 Google SecOps。您不必在 Google SecOps 中設定連接器。

  • 以提取為基礎的擷取: Google SecOps 連接器會定期查詢 Splunk REST API 端點,以擷取快訊、SPL 搜尋結果或 Splunk ES Notable Events。

推送式擷取

推送式擷取需要從 Splunk 到 Google SecOps 的直接傳出 HTTPS 連線,以及 Splunk Search Head 上的特定外掛程式設定。

設定推送式擷取前,請先確認下列事項:

  1. 從 Splunkbase 下載 TA-Siemplify 套件,並安裝到所有目標 Splunk 搜尋頭。在分散式環境中,使用 Splunk Deployer 或 Deployment Server,在搜尋頭叢集部署外掛程式。

  2. 確認搜尋頭已安裝相容版本的 Splunk Common Information Model (Splunk_SA_CIM),以支援模組化快訊和記錄。

  3. 請確認 Splunk Search Heads 可透過 HTTPS (TCP 通訊埠 443) 存取 Google SecOps 執行個體網址。

  4. 確認您在 Google SecOps 中擁有具備 管理員權限的帳戶,可產生 API 金鑰 (依序前往「設定」 >「進階」 >「API」)。請務必為產生的 API 金鑰指派具有警報和案件建立權限的角色。

  5. 如果您打算從轉換搜尋 (例如使用 stats、chart 或 timechart 的搜尋) 擷取原始事件,請確認在搜尋頭的 savedsearches.conf 中設定 dispatch.buckets = 1。

提取式擷取

如要進行提取式擷取、執行劇本動作和同步處理作業,Google SecOps (或遠端代理程式) 必須與 Splunk 建立連入管理連線。

設定提取連接器、動作或工作前,請先確認下列需求:

  1. 網路連線:確認從 Google SecOps (或遠端代理程式) 到 Splunk 管理 REST API 通訊埠 (預設:8089/TCP) 的網路連線。

  2. 自訂 CA 憑證:如果 Splunk 執行個體使用私人或內部 CA 憑證,請確認您在 Google SecOps 中執行的 Splunk 整合版本為 26.0 以上。

  3. 驗證:取得有效的 Splunk 使用者憑證 (使用者名稱和密碼),或產生 Splunk 不記名權杖 (如要在 Splunk 平台上啟用這項驗證方式,必須進行權杖驗證)。

  4. Splunk 角色功能:確認驗證的 Splunk 帳戶具備下列功能的角色:

    • search
    • schedule_search
    • edit_tcp (僅在使用「提交活動」動作時為必填)
    • edit_notable_events (只有在使用「更新重要事件」動作或 Splunk ES 同步處理工作時,才需要提供)
  5. 資料儲存庫和查詢權限:確認驗證帳戶有權存取所選元件的相關 Splunk 資料儲存庫:

    • Splunk 提取連接器:siemplify_alerts 對照表的讀取的權限 (在提取模式中安裝及設定 TA-Siemplify 時填入)。
    • Splunk 查詢連接器和動作:
      • 目標事件索引的搜尋權限 (不需要 TA-Siemplify)。
      • 如果使用「提交事件」動作,請在目標索引上寫入及輸入權限。
    • Splunk ES - notable events connector and jobs:有效的 Splunk Enterprise Security (ES) 安裝、notable 索引的讀取權限,以及 get_notable_index 巨集的存取權 (不需要 TA-Siemplify)。

整合參數

請使用下列參數設定整合:

參數顯示名稱 類型 預設值 為必填項目 說明
伺服器位址 字串 {SCHEMA}://{IP}:{PORT} 是 Splunk 伺服器的位址。
使用者名稱 字串 不適用 否 使用者的電子郵件地址,用於連線至 Splunk。
密碼 密碼 不適用 否 對應使用者的密碼。
API 權杖 密碼 不適用 否 Splunk API 權杖。如果這個欄位不為空白,API 權杖的優先順序會高於其他驗證方式。
驗證 SSL 核取方塊 已取消勾選 否 如果 Splunk 連線需要 SSL 驗證 (預設為取消勾選),請勾選這個核取方塊。
CA 憑證檔案 字串 不適用 否 Base 64 編碼 CA 憑證檔案。

如需在 Google SecOps 中設定整合功能的說明,請參閱「設定整合功能」。

如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。

動作

如要進一步瞭解動作,請參閱「 在『您的工作區』中回應待處理動作」和「執行手動動作」。

取得主機事件

在 Splunk 中取得與主機相關的事件。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
每個主機的事件上限 整數 100 是 指定每個主機要傳回的事件數量。
搜尋結果來源 字串 -24 小時 是 指定活動的開始時間。
結果 字串 現在 是 指定活動的結束時間。
結果欄位 CSV 不適用 否 指定要傳回的欄位,並以半形逗號分隔。
索引 字串 不適用 否 搜尋與主機相關的事件時,請指定應使用的索引。如未提供任何內容,動作就不會使用索引。
主機金鑰 字串 主機 否 指定要使用哪個金鑰來取得主機事件的相關資訊。預設:主機。

執行日期

這項動作會對主機名稱實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
成功 True/False success:False
JSON 結果
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功且有結果:「Successfully returned events for the following hosts in Splunk: \n {0}」。format(entity.identifier)

如果成功,但部分主機沒有結果:「No events were found for the following hosts in Splunk:\n {0}".format(entity.identifier)

如果成功,但並非所有主機都有結果:「No events were found for the provided hosts in Splunk」(在 Splunk 中找不到所提供主機的事件)

動作應失敗並停止執行應對手冊:

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他問題:「執行『取得主辦方活動』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

如果為 400:「Error executing action "Get Host Events"」。原因:{0}''.format(messages/text)

一般
案件總覽表格

名稱:{Entity.identifier} 事件

欄:根據結果。

Ping

在 Google Security Operations Marketplace 分頁的整合設定頁面中,使用提供的參數測試與 Splunk 的連線能力。

參數

不適用

執行日期

這項動作不會在實體上執行,也沒有強制輸入參數。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗或停止劇本執行:
如果成功:「Successfully connected to the Splunk server with the provided connection parameters!」(已使用提供的連線參數成功連線至 Splunk 伺服器!)

如果動作失敗,應停止執行應對手冊:
如果未成功:「無法連線至 Splunk 伺服器!錯誤為 {0}".format(exception.stacktrace)

一般

Splunk CSV 檢視器

參數

參數 類型 預設值 為必填項目 說明
結果 字串 不適用 是 原始結果。

執行日期

這項操作會對所有實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_succeed True/False is_succeed:False

SplunkQuery

在 Splunk 中執行查詢。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
搜尋模式 DDL

聰明有智慧

可能的值:

  • 詳細
  • 聰明有智慧
  • 快速
否 指定執行搜尋的模式。
查詢 字串 是 指定要執行的查詢。例如:index="_internal"
結果數量上限 整數 100 否

指定要傳回的結果數量。
注意:這個參數會將「head」關鍵字附加至提供的查詢。預設值為 100。

搜尋結果來源: 字串 -24 小時 否 指定查詢的開始時間。預設值:-24h
結果 字串 現在 否 指定查詢的結束時間。預設值:現在。
結果欄位 CSV 否

指定要傳回的欄位清單 (以半形逗號分隔)。
注意:這個參數會將「fields」關鍵字附加至提供的查詢。

執行日期

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_succeed True/False is_succeed:False
JSON 結果
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功且有結果:「Successfully returned results for the query "{0}" in Splunk」。format(query)

如果成功但沒有結果:「在 Splunk 中找不到與查詢『{0}』相符的結果」。format(query)

非同步訊息: "Waiting for query {0} to finish execution.".format(query name)

動作應會失敗並停止應對手冊執行作業:

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『SplunkQuery』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

如果是 400:「Error executing action "SplunkQuery". 原因:{0}''.format(messages/text)

一般
案件總覽表格

名稱:Splunk 查詢結果

資料欄:根據結果。

一般

提交事件

將事件提交至 Splunk。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
索引 字串 main 是 指定要建立事件的索引。
事件 字串 不適用 是 指定需要提交的原始事件。
主機 字串 不適用 否 指定與事件相關的主機。
來源 字串 不適用 否 指定事件來源。範例:www.
Sourcetype 字串 不適用 否 指定事件的來源類型。範例:web_event

Run On

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
成功 True/False success:False
JSON 結果
{
    "index": "default",
    "bytes": 70,
    "host": "dogo",
    "source": "www",
    "sourcetype": "web_event"
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功:「Successfully added a new event to index "{0}" in Splunk.".format(index)

動作應失敗並停止執行應對手冊:

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『提交事件』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

如果 400:「Error executing action "Submit Event". 原因:{0}''.format(messages/text)

一般

更新重要事件

在 Splunk ES 中更新重要事件。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
重要事件 ID CSV 不適用 是 指定重要事件的 ID。範例:1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7@@notable@@cb87390ae72763679d3f6f8f097ebe2b,1D234D5B-1531-2D2B-BB94-41C439BE12B7@@notable@@cb87390ae72763679d3f6f8f097ebe2b
狀態 DDL

請選取一項

可能的值包括:

請選取一項

未指派

新增

進行中

待處理

已解決

已關閉

是 指定重要事件的新狀態。
急迫性 DDL

請選取一項

可能的值包括:

請選取一項

重大

高

中

低

參考用

是 指定重要事件的新緊急程度。
新擁有者 字串 不適用 是 指定重要事件的新擁有者。
註解 字串 不適用 是 指定重要事件的註解。

執行時間

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功且有資料可用 (is_success=true)

print "Successfully updated {0} notable events in Splunk.".format(count(notable_events))

如果更新失敗 (status_code=400,is_success=false):

print "Action wasn't able to update notable events. Reason:{0}".format(string_from_response)

動作應失敗並停止執行應對手冊:

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:

print "Error executing action "Update Notable Events". 原因:{0}''.format(error.Stacktrace)

一般

執行實體查詢

在 Splunk 中執行實體查詢。

如何使用動作參數?

這項動作可快速擷取與實體相關的資訊。舉例來說,您可能想查看受所提供雜湊影響的端點事件數量,但不想建立複雜的查詢,這時就能使用這項功能。如要在 Splunk 中解決這個問題,您需要準備下列查詢:index="main" | where (device_ip="10.0.0.1" or device_ip="10.12.12.12") and (hash="bad_hash_1" or hash="bad_hash_2") 如要使用「執行實體查詢」動作建立相同查詢,請按照下列方式填寫動作參數:

查詢 index="main"
IP 實體金鑰 device_ip
檔案雜湊實體金鑰 hash
跨實體運算子 且

其他欄位則可留空。

如果想瞭解有多少端點受到提供的雜湊影響,則「執行實體查詢」的設定如下所示。

查詢 index="main"
檔案雜湊實體金鑰 hash

在這種情況下,「跨實體運算子」不會產生影響,因為只有在提供多個「實體索引鍵」時,該運算子才會影響查詢。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
搜尋模式 DDL

聰明有智慧

    可能的值:
  • 詳細
  • 聰明有智慧
  • 快速
否 指定執行搜尋的模式。
查詢 字串 是 指定要執行的查詢,不含「Where」子句。範例:index="_internal"
結果數量上限 整數 100 否 指定要傳回的結果數。注意:這個參數會將「head」關鍵字附加至提供的查詢。預設值為 100。
搜尋結果來源: 字串 -24 小時 否 指定查詢的開始時間。預設值:-24h
結果 字串 現在 否 指定查詢的結束時間。預設值:現在。
結果欄位 CSV 不適用 否

指定要傳回的欄位,並以半形逗號分隔。
注意:這個參數會將「fields」關鍵字附加至提供的查詢。

IP 實體金鑰 字串 不適用 否 指定要與 IP 實體搭配使用的金鑰。詳情請參閱動作說明文件。
主機名稱實體金鑰 字串 不適用 否 準備 時,請指定要與主機名稱實體搭配使用的金鑰。詳情請參閱動作說明文件。
檔案雜湊實體金鑰 字串 不適用 否 指定要與檔案雜湊實體搭配使用的金鑰。詳情請參閱動作說明文件。
使用者實體鍵 字串 不適用 否 指定要與 User 實體搭配使用的索引鍵。詳情請參閱動作說明文件。
網址實體金鑰 字串 不適用 否 指定要搭配網址實體使用的金鑰。詳情請參閱動作說明文件。
電子郵件地址實體鍵 字串 不適用 否 指定要與電子郵件地址實體搭配使用的索引鍵。詳情請參閱動作說明文件。
Stop If Not Enough Entities 核取方塊 已勾選 是 如果啟用這項設定,除非指定「.. 實體鍵」的所有實體類型都適用,否則動作不會開始執行。舉例來說,如果指定了「IP 實體鍵」和「檔案雜湊實體鍵」,但範圍內沒有檔案雜湊,則啟用這個參數後,動作就不會執行查詢。
跨實體運算子 DDL

或

可能的值:

或

且

是 指定不同實體類型之間應使用的邏輯運算子。

執行日期

這項動作會對下列實體執行:

  • IP 位址
  • 主機
  • 使用者
  • 雜湊
  • 網址

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_succeed True/False is_succeed:False
JSON 結果
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功且有結果:「Successfully returned results for the query "{0}" in Splunk」。format(query)

如果成功但沒有結果:「在 Splunk 中找不到與查詢『{0}』相符的結果」。format(query)

非同步訊息: "Waiting for query {0} to finish execution.".format(query name)

如果啟用「Stop If Not Enough Entities」,但提供的「Entity Keys」沒有足夠的實體類型 (is_success=false):動作無法建構查詢,因為指定的「.. Entity Keys」沒有足夠的實體類型。請停用「Stop If Not Enough Entities」參數,或為每個指定的「.. Entity Key」提供至少一個實體。

動作應會失敗並停止應對手冊執行作業:

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『執行實體查詢』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

如果為 400:「Error executing action "Execute Entity Query". 原因:{0}''.format(messages/text)

一般
案件總覽表格

名稱:Splunk 查詢結果

資料欄:根據結果。

一般

連接器

如要進一步瞭解如何在 Google SecOps 中設定連接器,請參閱「擷取資料 (連接器)」。

Splunk 查詢連接器

連接器會傳送動態清單 (whitelist) 中的查詢、擷取結果,並根據擷取的結果建立案件。

查看記錄的 Splunk 查詢範例

  1. 查詢應以動態清單 (whitelist) 規則的形式輸入。

  2. 如果搜尋查詢有多個篩選器,請使用空格做為篩選器之間的分隔符號,例如 index=cim_modactions sourcetype=modular_alerts:risk。

  3. 如果使用多個動態清單 (whitelist) 規則,而不是在同一規則中輸入多個以空格分隔的搜尋篩選器,系統會為每個新增的規則執行個別搜尋。

    • index=cim_modactions
    • sourcetype=modular_alerts:send_data_to_siemplify
    • index=_internal sourcetype=splunkd
    • component=sendmodalert
    • action=send_data_to_siemplify
    • index=_internal source=/opt/splunk/var/log/splunk/send_data_to_siemplify_modalert.log

連結器參數

如要設定連接器,請使用下列參數:

參數
Product Field Name 必要

輸入來源欄位名稱,擷取 Product Field 名稱。

預設值為 device_product。

Event Field Name 必要

輸入來源欄位名稱,擷取Event Field名稱。

預設值為 app。

API Root 必要

Splunk 執行個體的 API 根目錄。

預設值為 https://IP:8089。

Username 必要

Splunk 帳戶的使用者名稱。

Password 必要

Splunk 帳戶的密碼。

API Token 選填

Splunk API 權杖。

如果這個欄位有任何值,API 權杖的優先順序會高於其他驗證方式。

Verify SSL 必要

勾選此核取方塊,系統就會驗證連線至 CrowdStrike 伺服器的 SSL 憑證是否有效。

預設為取消勾選。

Environment Field Name 選填

儲存環境名稱的欄位名稱。

Rule Generator Field 必要

用來對應規則產生器值的欄位名稱。

Alert Name Field Name 必要

快訊名稱。

Events Count Limit Per Query 選用

每項查詢擷取的事件數量上限。

Max Day Backwards 選用

要擷取事件的天數。

Aggregate Events Query 選用

啟用後,連接器會將所有事件合併到單一快訊。

預設為停用。

PythonProcessTimeout (Seconds) 必要

執行目前指令碼的 Python 程序逾時限制。

預設值為 60 秒。

Proxy Server Address 選填

要使用的 Proxy 伺服器位址。

Proxy Username 選填

用於驗證的 Proxy 使用者名稱。

Proxy Password 選填

用於驗證的 Proxy 密碼。

Environment Regex Pattern 選填

規則運算式模式,用於對 Environment Field Name 欄位中的值執行。

預設值 .* 會擷取所有值,並傳回未變更的值。

這個參數可讓您使用規則運算式邏輯,操控環境欄位。

如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為預設環境。

連接器規則

連接器支援 Proxy。

Splunk 提取連接器

將 Splunk 的警告和事件提取至 Google SecOps。

連接器參數

如要設定連接器,請使用下列參數:

參數
Product Field Name 必要

輸入來源欄位名稱,擷取 Product Field 名稱。

預設值為 device_product。

Event Field Name 必要

輸入來源欄位名稱,擷取Event Field名稱。

預設值為 name。

Environment Field Name 選填

儲存環境名稱的欄位名稱。

如果找不到環境欄位,結果環境為 "" 。

預設值為 ""。

Environment Regex Pattern 選填

規則運算式模式,用於對 Environment Field Name 欄位中的值執行。

預設值 .* 會擷取所有值,並傳回未變更的值。

這個參數可讓您使用規則運算式邏輯,操控環境欄位。

如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為 ""。

PythonProcessTimeout (Seconds) 必要

執行目前指令碼的 Python 程序逾時限制。

預設值為 60 秒。

Server Address 必要

Splunk API 伺服器的 IP 位址。

Port 必要

Splunk 執行個體的通訊埠。

預設值為 8089。

Username 必要

Splunk 帳戶的使用者名稱。

Password 必要

Splunk 帳戶的密碼。

Time Frame 選填

擷取快訊的時間範圍。

預設值為 1 小時。

範例:

如果將值設為 1 分鐘,連接器會擷取 1 分鐘前開始的快訊。

如果值設為 3 小時,連接器會擷取 3 小時前的快訊。

如果將值設為 1 天或 1 週,連接器會分別擷取 1 天 (24 小時) 或 1 週前的快訊。

Alerts Count Limit 選填

連接器每次疊代傳回的警告數量。

預設值為 100。

Use SSL 選填

勾選方塊,啟用 SSL 或 TLS 連線。

預設為未勾選。

Proxy Server Address 選填

要使用的 Proxy 伺服器位址。

Proxy Username 選填

用於驗證的 Proxy 使用者名稱。

Proxy Password 選填

用於驗證的 Proxy 密碼。

連接器規則

連接器支援 Proxy。

Splunk ES - Notable Events Connector

從 Splunk ES 擷取重要事件。

定義案件優先順序

案件優先順序由重要事件中的 Urgency 參數定義。將重要事件擷取至 Google SecOps 時,系統只會考量這項參數。

連結器參數

如要設定連接器,請使用下列參數:

參數
Product Field Name 必要

輸入來源欄位名稱,擷取Product Field名稱。

預設值為 Product Name。

Event Field Name 必要

輸入來源欄位名稱,擷取Event Field名稱。

預設值為 index。

Environment Field Name 選填

儲存環境名稱的欄位名稱。

如果找不到環境欄位,系統會使用預設環境。

預設值為 ""。

Environment Regex Pattern 選填

規則運算式模式,用於對 Environment Field Name 欄位中的值執行。

預設值 .* 會擷取所有值,並傳回未變更的值。

這個參數可讓您使用規則運算式邏輯,操控環境欄位。

如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為預設環境。

Script Timeout (Seconds) 必要

執行目前指令碼的 Python 程序逾時限制。

預設值為 180 秒。

Server Address 必要

Splunk 執行個體的伺服器位址。

預設值為 https://:8089。

Username 選填

Splunk 帳戶的使用者名稱。

Password 選填

Splunk 帳戶的密碼。

API Token 必要

Splunk API 權杖。

如果這個欄位有任何值,API 權杖的優先順序會高於其他驗證方式。

Lowest Urgency To Fetch 必要

用來擷取重要事件的最低緊急程度。

可能的值包括:

  • Informational
  • Low
  • Medium
  • High
  • Critical

預設值為 Medium。

Fetch Max Hours Backwards 選填

從中擷取重要事件的小時數。

預設值為 1 小時。

Only Drilldown Events 選填

啟用後,連接器會嘗試擷取下鑽事件,而不擷取基本事件。必須啟用 Fetch Base Events 選項,才能使用這項參數。

預設為停用。

Padding Time 選填

要用做緩衝時間的小時數。

如未提供值,則不適用這項參數。

最大值為 12 小時。

Max Notable Events To Fetch 選填

每次連接器疊代要處理的重要事件數量。

預設值為 10。

Use whitelist as a blacklist 必要

如果啟用,動態清單會做為封鎖清單使用。

預設為停用。

Verify SSL 必要

勾選此核取方塊,系統就會驗證連線至 CrowdStrike 伺服器的 SSL 憑證是否有效。

預設為取消勾選。

Proxy Server Address 選填

要使用的 Proxy 伺服器位址。

Proxy Username 選填

用於驗證的 Proxy 使用者名稱。

Proxy Password 選填

用於驗證的 Proxy 密碼。

Query Filter 選填

傳送至 Splunk 的額外查詢篩選器,用於取得顯著事件。

此處提供的值會附加至 WHERE 查詢子句。

Extract Base Events 選填

啟用後,連接器會使用作業相關資訊,擷取與重要事件相關的基礎事件。在其他情況下,連接器會根據重要事件建立 Google SecOps 事件。

如果這個參數設為 True,但連接器無法處理工作,連接器會使用重要事件的相關資訊做為備用機制。

(預設為啟用)。

Multivalue Fields 選填

包含多個實體的欄位清單,以半形逗號分隔。

舉例來說,如果某個欄位包含兩個主機名稱,系統會將重要事件拆分成兩個 Google SecOps 事件,以便正確對應實體。

Notable Event Data Along Base Event 選填

啟用後,除了基本事件外,連接器還會根據顯著事件新增 Google SecOps 事件。

預設為停用。

Rule Generator Field Name 選填

用來對應規則產生器值的欄位名稱。

只有重大事件本身的資訊會用於對應,事件則會遭到忽略。如果提供無效的值,連接器會將欄位設為 rule_name 值。

Alert Name Source 選填

快訊名稱的來源。

可能的值包括:

  • Search Name
  • Rule Name

預設值為 Search Name。

Alert Start Time Field 選填

Splunk Notable Event 中的欄位,用來做為快訊的 start_time。

如果欄位空白、無效或無法剖析為時間戳記,連接器會改用 _time 欄位,並採用預設行為。

如何使用 Query Filter 參數

如需根據特定參數縮小重要事件的範圍,請使用 Query Filter 參數。系統會將這個參數中提供的值,附加至傳送查詢的 WHERE 子句,以取得重要事件。

以下是傳送查詢的範例:

(`get_notable_index` OR `get_sequenced_index`) | eval `get_event_id_meval`,
rule_id=event_id | tags outputfield=tag | `mvappend_field(tag,orig_tag)` |
`notable_xref_lookup` | `get_correlations` | `get_current_status` | `get_owner`
| `get_urgency` | typer | where (urgency="medium" AND urgency="low") AND
(status_label="Unassigned" OR status_label="New")  | tail 50 | fields *

舉例來說,如果 Query Filter = isTesting = True,查詢會如下所示:

search (`get_notable_index` OR `get_sequenced_index`) | eval epoch=_time | eval
`get_event_id_meval`,rule_id=event_id | tags outputfield=tag |
`mvappend_field(tag,orig_tag)` | `notable_xref_lookup` | `get_correlations` |
`get_current_status` | `get_owner` | `get_urgency` | typer | where
(urgency!="informational" AND urgency!="low" **AND isTesting = "True"**) |
fields *

連接器規則

Splunk ES 連接器會使用動態清單和封鎖清單 (whitelist 和 blacklist)。連接器會使用事件中的 search_name 欄位,與動態清單進行比較。

連接器事件

[{
    "indicator": "2012/06/29_21:50", 
    "tlp": "TLP:RED", 
    "itype": "mal_url", 
    "severity": "very-high", 
    "classification": "public", 
    "detail": "", 
    "confidence": 50, 
    "actor": "", 
    "feed_name": "import", 
    "source": "admin", 
    "feed_site_netloc": "localhost", 
    "campaign": "", 
    "type": "url", 
    "id": "anomali:indicator-578a9be5-0e03-4ec0-940d-4b1842f40fd0", 
    "date_last": "2020-07-15 08:12:07 AM",
"Url": "indicator"
  },{
    "indicator": "2010/12/19_16:35", 
    "tlp": "TLP:RED", 
    "itype": "mal_url", 
    "severity": "very-high", 
    "classification": "public", 
    "detail": "", 
    "confidence": 50, 
    "actor": "", 
    "feed_name": "import", 
    "source": "admin", 
    "feed_site_netloc": "localhost", 
    "campaign": "", 
    "type": "url", 
    "id": "anomali:indicator-52cadd07-330a-45fd-962f-32e22d36a89a", 
    "date_last": "2020-07-15 08:12:07 AM"
  }]

工作

如要進一步瞭解工作,請參閱「 設定新工作」和「 進階排程」。

同步處理 Splunk ES 已結案事件

同步處理已關閉的 Splunk ES 值得注意事件和 Google SecOps 快訊。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
伺服器位址 字串 https://IP:8089 是 Splunk 執行個體的伺服器位址。
使用者名稱 字串 不適用 否 Splunk 帳戶的使用者名稱。
密碼 密碼 不適用 否 Splunk 帳戶的密碼。
API 權杖 密碼 不適用 是 Splunk API 權杖。如果這個欄位不為空白,API 權杖的優先順序會高於其他驗證方式。
可回溯的小時數上限 整數 24 是 指定要同步處理過去幾小時的狀態。預設值為 24 小時。
驗證 SSL 核取方塊 已勾選 是 啟用後,請確認連線至 Splunk 伺服器的 SSL 憑證有效。

同步處理 Splunk ES 註解

這項工作會同步處理 Splunk ES 事件和 Google SecOps 案件中的註解。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
伺服器位址 字串 https://IP:8089 是 Splunk 執行個體的伺服器位址。
使用者名稱 字串 不適用 否 Splunk 帳戶的使用者名稱。
密碼 密碼 不適用 否 Splunk 帳戶的密碼。
API 權杖 密碼 不適用 是 Splunk API 權杖。如果這個欄位不是空白,API 權杖會優先於其他驗證方式。
驗證 SSL 核取方塊 已勾選 是 如果已啟用,請確認連至 Splunk 伺服器的 SSL 憑證有效。

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