Splunk

整合版本:50.0

Splunk 應用程式會準備案件,並附上 Splunk 的所有相關快訊和事件。您可以透過兩種方式將這些案件擷取至 Google Security Operations:以提取為基礎的方法,以及以推送為基礎的方法。

第一種方法稱為「以提取為基礎」。使用這個方法時,如要將案件匯入 Google SecOps,您必須設定 Splunk Pull Connector,從 Splunk 應用程式提取案件。這個方法不需要在 Splunk 應用程式中進行任何額外設定。

第二種方法稱為「以推送為基礎」。使用這個方法時,Splunk 應用程式會對 Google SecOps 執行 API 呼叫,以新增案件。如要使用這個方法,您必須產生 Google SecOps API 金鑰,並在應用程式設定中新增 Google SecOps URI。

建立 API 金鑰:

  1. 依序前往「設定」「進階」「API」

  2. 按一下右上方的加號,即可新增 API 金鑰。

  3. 輸入 API 金鑰名稱,然後按一下「建立」

  4. 複製 API 金鑰。

如何設定 Splunk 以與 Google SecOps 搭配使用

啟用或停用權杖驗證功能的事前準備

如要啟用權杖驗證,請務必先完成下列規定事項:

  • 如要啟用權杖驗證,Splunk 平台執行個體不得以舊版模式運作,也就是 Splunk Web 以獨立程序運作。如果 Splunk 平台處於舊版模式,系統不會執行權杖驗證。如要進一步瞭解舊版模式,請參閱 Splunk Enterprise 管理手冊中的「啟動和停止 Splunk Enterprise」一文。

  • 您必須使用具有 edit_tokens_settings Splunk 平台功能的角色登入 Splunk 平台,才能啟用或停用權杖驗證。

使用 Splunk Web 啟用權杖驗證

如果停用權杖驗證,Splunk Web 的「權杖」頁面會顯示以下訊息:

Token authentication is currently disabled > To enable token authentication, click Enable Token Authentication.

在要啟用權杖驗證的執行個體上完成下列步驟:

  1. 以管理員使用者或可管理權杖設定的使用者身分,登入 Splunk 平台執行個體。您無法使用權杖登入 Splunk Web。您必須提供有效的使用者名稱和密碼。

  2. 成功登入後,請在系統列中依序選取「設定」>「權杖」

  3. 按一下「啟用權杖驗證」。Splunk 平台執行個體會立即啟用權杖驗證,不需要重新啟動執行個體。

使用 Splunk Web 建立驗證權杖

  1. 在系統列中,依序點選「設定」> 權杖

  2. 按一下「New Token」

  3. 在「New Token」(新增權杖) 對話方塊的「User」(使用者) 欄位中,輸入要建立權杖的 Splunk 平台使用者。

  4. 在「目標對象」欄位中,輸入權杖用途的簡短說明。

  5. (選用) 在「Expiration」(到期時間) 清單中,選取「Absolute Time」(絕對時間) 或「Relative Time」(相對時間)。這項選取項目會決定要在清單下方的文字欄位中輸入什麼內容。

    • 如果選取「絕對時間」,清單下方會顯示兩個文字欄位。

      1. 在第一個欄位中輸入有效日期。您也可以點選欄位,從彈出式日曆選取日期。

      2. 在第二個欄位中輸入有效的 24 小時制時間。

    • 如果不是,下拉式清單下方會顯示一個文字欄位。

      1. 輸入字串,代表您希望權杖在目前時間後維持有效多久。舉例來說,如要讓權杖在 10 天後過期,請在這個欄位中輸入 +10d
  6. (選用) 在「Not Before」(不早於) 清單中,選取「Absolute Time」(絕對時間) 或「Relative Time」(相對時間)

    重複您為「到期」控制項執行的步驟。「生效時間」不得早於目前時間,也不得晚於「到期時間」。

  7. 點按「Create」(建立)。「New Token」視窗會更新「Token」欄位,顯示產生的權杖。

  8. 選取欄位中的所有權杖文字。視作業系統和瀏覽器而定,您可以點選「權杖」欄位,然後按三下滑鼠,或按下鍵盤上的 Ctrl 鍵 + A 鍵或 Command 鍵 + A 鍵。確認已選取所有權杖文字。關閉視窗後,就無法再查看完整權杖。

  9. 複製「權杖」欄位中的文字。

  10. 將權杖貼到文字檔、電子郵件或其他通訊方式中,然後傳送給您授權使用權杖的人員。確認您只與授權使用者共用權杖。只要有完整權杖,任何人都能用來驗證。

  11. 按一下 [關閉]

  12. 使用權杖設定 Google SecOps Splunk 整合功能。

安裝

單一搜尋頭

  1. 將 TA-Siemplify 套件下載到本機電腦。 https://splunkbase.splunk.com/app/5010/

  2. 在搜尋頭上安裝應用程式。

    選取「應用程式:搜尋與報表」。系統會隨即顯示「上傳應用程式」對話方塊。

  3. 按一下「選擇檔案」,然後選取應用程式檔案。

  4. 按一下 [上傳]。等待檔案上傳完成。

  5. 重新啟動 Splunk。

設定 TA-Siemplify

  1. 在 Splunk Enterprise 中,前往「Apps」頁面。

  2. 選取「Siemplify」Siemplify

  3. 在「外掛程式設定」分頁中,新增下列項目:

    如果是以推送為基礎的方法:

    • Siemplify API URI 設為 Google SecOps 伺服器的 URI。
    • 將「模式」設為「推送模式」
    • 在「API Key」欄位中,輸入「API Keys」專區中產生的權杖值。

    提取式方法:

    • 將「模式」設為「提取模式」
  4. 按一下 [儲存]

快訊設定

如要將快訊和事件資料傳送至 Google SecOps,必須在現有 Splunk 快訊中新增觸發動作。

「環境」、「裝置供應商」、「裝置產品」和「事件類型」欄位支援事件範本。事件範本可讓您根據快訊中的值,動態設定 Google SecOps 中的特定欄位。如要使用事件範本,請以方括號「[ ]」括住欄位名稱。系統會使用快訊中的第一個事件填入這些欄位。

示例:假設您收到含有 device_vendor 欄位 (值為 Microsoft) 的快訊,您可以在「裝置供應商」設定參數中輸入 [device_vendor],當快訊傳送至 Google SecOps 時,供應商就會設為 Microsoft

  1. 在 Splunk 中,前往「快訊」

  2. 在「編輯」清單中,選取「編輯快訊」

  3. 在「觸發動作」部分,依序前往「新增動作」>「傳送快訊至 Siemplify」

  4. 請按照下列步驟設定快訊:

    • 名稱:這裡設定的值會影響快訊名稱。
    • 優先順序:您在此處設定的值會影響 Google SecOps 案件的優先順序。
    • 類別:用於定義視覺系列。
    • 環境:對應至 Google SecOps 中的環境。 如要不使用環境,請留空。系統支援使用方括號建立範本。
    • 裝置供應商:用於定義將事件傳送至 Google SecOps 的系統供應商。如果警報是由 Microsoft Sysmon 產生,請使用 Microsoft 或警報/事件中的值 (使用範本)。
    • 裝置產品:用於定義將事件傳送至 Google SecOps 的系統產品。如果警報是由 Microsoft Sysmon 產生,這個值應為 Sysmon,或使用範本從警報/事件中的值取得。
    • 事件類型:用於在 Google SecOps 事件設定部分定義事件類型。如果警示是為了尋找惡意程序,事件類型應為「找到程序」或使用範本的警示/事件中的值。
    • 時間欄位:用於定義 Google SecOps 案件的開始時間和結束時間。如未提供,系統會檢查「_indextime」欄位。如果找不到「_indextime」,系統會使用產生快訊的時間。不支援範本。
    • 展開多值欄位:將此值設為 1,系統就會找出所有多值欄位,並為多值欄位中的每個值建立額外欄位對應。舉例來說,如果多值欄位 src_hosts 包含以下值:Server1、Server2、Server3,系統會建立下列新欄位:src_hosts_0:Server1、src_hosts_1:Server2、src_hosts_2:Server3。只有在停用「匯入所有事件資料」時,才能使用這個選項。
    • 匯入所有事件資料:這項設定會嘗試匯入構成警報的原始事件,其中包含轉換指令 (圖表、時間圖表、統計資料、前幾名、罕見、突發狀況、醒目顯示)。如要支援這項功能,必須變更 Splunk 搜尋標頭。
  5. 如要啟用轉換搜尋中的原始事件,請複製: $SPLUNK_HOME/etc/apps/TA-siemplify/default/savedsearches.conf$SPLUNK_HOME/etc/apps/TA-siemplify/local/savedsearches.conf 編輯: $SPLUNK_HOME/etc/apps/TA-siemplify/local/savedsearches.conf 取消註解: #dispatch.buckets =1

  6. 儲存檔案並重新啟動 Splunk,這些設定就會生效。

疑難排解

如要將記錄層級變更為 DEBUG,請完成下列步驟:

  1. 在 Splunk Web 中選取應用程式。

  2. 依序前往「設定」>「伺服器設定」>「伺服器記錄」

  3. 在「Log level」(記錄層級) 參數中,選取「DEBUG」(偵錯)

  4. 按一下 [儲存]

從 Google SecOps TA 查詢記錄資料的方式,取決於您的 Splunk 實作項目。如果已安裝 Splunk CIM,記錄檔會位於 cim_modactions 索引中。否則記錄檔會位於 _internal 索引中。

網路

從 Google SecOps 存取 Splunk API 的網路存取權: 允許透過通訊埠 8089 傳輸流量。

如何在叢集環境中部署 Google SecOps 外掛程式

如要建立部署伺服器和搜尋頭,請完成下列步驟:

  1. 使用 SSH 登入部署伺服器。

  2. 確認 /opt/splunk/etc/system/local/serverclass.conf 檔案是否存在。 如果沒有,請執行:

    vi /opt/splunk/etc/system/local/serverclass.conf

    設定範例如下:

    [global] # whitelist matches all clients.
    [serverClass:AllApps] [serverClass:AllApps:app:*] [serverClass:
    Google Security OperationsAPP]
    
  3. /opt/splunk/etc/deployment-apps 目錄中上傳及解壓縮應用程式檔案。

  4. 建立 Splunk 使用者 (如果不存在):

    useradd splunk

  5. 建立不存在的 Splunk 群組:

    groupadd splunk

  6. 為應用程式新增 Splunk 使用者權限:

    chown splunk:splunk {app path}

  7. 使用 SSH 登入搜尋頭。

  8. 將搜尋頭新增為部署伺服器的用戶端:

    /opt/splunk/bin/splunk set deploy-poll IP_ADDRESS:8089 #(deployment server ip address)

  9. 重新啟動所有搜尋頭。

  10. 登入部署伺服器的 UI。

  11. 依序前往「設定」>「分散式環境」>「轉送器管理工具」

  12. 前往「伺服器類別」分頁,然後按一下「新增伺服器類別」

  13. 提供伺服器類別的名稱。

  14. 將 Google SecOps 外掛程式新增為應用程式,並將 Search Heads 新增為用戶端。

  15. 重新啟動所有搜尋頭。

  16. 請確認所有搜尋頭上的應用程式設定正確無誤。Splunk 無法在整個叢集中持續同步應用程式。

已知問題

如果在記錄中收到 int() argument must be a string, a bytes-like object or a number, not 'NoneType'. Please double check spelling and also verify that a compatible version of Splunk_SA_CIM is installed 錯誤,請確認設定中的 API 根目錄和 API 金鑰參數有值,即使您使用「拉取」模式也一樣。

在 Google SecOps 中設定 Splunk 整合

透過 Splunk 整合功能,您可以使用 CA 憑證檔案驗證連線。這是額外的連線驗證方法。

如要使用這種方法,您必須符合下列條件:*

  • CA 憑證檔案
  • Splunk 整合版本 26.0 以上

在 Google SecOps 中設定整合:

  1. 將 CA 憑證檔案剖析為 Base64 字串。

  2. 開啟整合設定頁面。

  3. 在「CA Certificate File」欄位中,輸入 CA 憑證字串。

  4. 如要測試連線,請勾選「驗證 SSL」核取方塊,然後按一下「測試」

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

整合參數

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

參數顯示名稱 類型 預設值 為必填項目 說明
執行個體名稱 字串 不適用 您要設定整合的執行個體名稱。
說明 字串 不適用 執行個體的說明。
伺服器位址 字串 {SCHEMA}://{IP}:{PORT} Splunk 伺服器的位址。
使用者名稱 字串 不適用 用來連線至 Splunk 的使用者電子郵件地址。
密碼 密碼 不適用 相應使用者的密碼。
API 權杖 密碼 不適用 Splunk API 權杖。如果這個欄位不是空白,API 權杖的優先順序會高於其他驗證方法。
驗證 SSL 核取方塊 已取消勾選 如果 Splunk 連線需要 SSL 驗證,請勾選這個核取方塊 (預設為取消勾選)。
CA 憑證檔案 字串 不適用 Base64 編碼的 CA 憑證檔案。
遠端執行 核取方塊 已取消勾選 勾選這個欄位,即可遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (服務專員) 的選項。

動作

取得主辦活動

說明

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

參數

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

執行時間

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

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
成功 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}」(已成功傳回 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}」事件

欄:根據結果。

乒乓

說明

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

參數

不適用

執行時間

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

動作執行結果

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

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

動作應會失敗並停止執行應對手冊:
如果未成功:「Failed to connect to the Splunk server! Error is {0}".format(exception.stacktrace)

一般

Splunk Csv Viewer

說明

參數

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

執行時間

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

動作執行結果

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

SplunkQuery

說明

在 Splunk 中執行查詢。

參數

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

聰明有智慧

可能的值:

  • 詳細
  • 聰明有智慧
  • 快速

指定執行搜尋的模式。
查詢 字串 指定要執行的查詢。例如:index="_internal"
結果數量上限 整數 100

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

結果來自 字串 -24 小時 指定查詢的開始時間。預設值:-24h
結果 字串 現在 指定查詢的結束時間。預設值:now。
結果欄位 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.」(等待查詢「{0}」執行完畢)。format(query name)

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

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Error executing action "SplunkQuery". 原因:{0}''.format(error.Stacktrace)

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

一般
案件總覽表格

名稱:Splunk 查詢結果

資料欄 - 根據結果。

一般

提交活動

說明

將事件提交至 Splunk。

參數

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

執行時間

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

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
成功 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
結果 字串 現在 指定查詢的結束時間。預設值:now。
結果欄位 CSV 不適用

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

IP 實體金鑰 字串 不適用 指定要搭配 IP 實體使用的金鑰。詳情請參閱動作說明文件。
主機名稱實體鍵 字串 不適用 準備 . 檔案時,請指定應搭配主機名稱實體使用的金鑰。詳情請參閱動作說明文件。
檔案雜湊實體金鑰 字串 不適用 指定要與檔案雜湊實體搭配使用的金鑰。詳情請參閱動作說明文件。
使用者實體鍵 字串 不適用 指定要搭配使用者實體使用的鍵。詳情請參閱動作說明文件。
網址實體鍵 字串 不適用 指定要搭配網址實體使用的金鑰。詳情請參閱動作說明文件。
電子郵件地址實體鍵 字串 不適用 指定要搭配電子郵件地址實體使用的金鑰。詳情請參閱動作說明文件。
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.」(等待查詢「{0}」執行完畢)。format(query name)

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

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

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「Error executing action "Execute Entity Query". 原因:{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 Pull 連接器

將 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

如何使用 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 連接器會使用動態清單和封鎖清單 (whitelistblacklist)。連接器會使用事件中的 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 專業人員尋求答案。