使用部署為 Cloud Run 函式的擷取指令碼
Google Security Operations 提供一組以 Python 編寫的擷取指令碼,可部署為 Cloud Run 函式。這些指令碼可讓您從下列記錄來源擷取資料 (依名稱和記錄類型列出)。
- Armis Google SecOps Integration
- Aruba Central (
ARUBA_CENTRAL
) - Azure Event Hub (configurable log type)
- Box (
BOX
) - Citrix Cloud audit logs (
CITRIX_MONITOR
) - Citrix session metadata (
CITRIX_SESSION_METADATA
) - Cloud Storage (configurable log type)
- Duo Activity (
DUO_ACTIVITY
) - Duo Admin (
DUO_ADMIN
) - MISP (
MISP_IOC
) - OneLogin (
ONELOGIN_SSO
) - OneLogin user context (
ONELOGIN_USER_CONTEXT
) - Proofpoint (configurable log type)
- Pub/Sub (configurable log type)
- Slack audit logs (
SLACK_AUDIT
) - STIX/TAXII threat intelligence (
STIX
) - Tenable.io (
TENABLE_IO
) - Trend Micro Cloud App Security (configurable log type)
- Trend Micro Vision One audit logs (
TREND_MICRO_VISION_AUDIT
)
這些指令碼位於 Google SecOps GitHub 存放區。
已知限制:在 無狀態環境 (例如 Cloud Run 函式) 中使用這些指令碼時,由於缺少檢查點功能,可能無法將所有記錄檔傳送至 Google SecOps。Google SecOps 已使用 Python 3.9 執行階段測試指令碼。
事前準備
請參閱下列資源,瞭解背景資訊和脈絡,以便有效使用 Google SecOps 擷取指令碼。
- 如要瞭解如何從本機部署 Cloud Run 函式,請參閱「部署 Cloud Run 函式」。
- 建立及存取密鑰說明如何使用 Secret Manager。您需要這個值區來儲存及存取 Google SecOps 服務帳戶 JSON 檔案。
- 安裝 Google Cloud CLI。您將使用這個檔案部署 Cloud Run 函式。
- 如果您打算從 Pub/Sub 擷取資料,請參閱 Google Cloud Pub/Sub 說明文件。
為單一記錄類型組裝檔案
Google SecOps GitHub 中的每個子目錄都包含檔案,可擷取單一 Google SecOps 記錄類型的資料。指令碼會連線至單一來源裝置,然後使用 Ingestion API 將原始記錄傳送至 Google SecOps。建議您將每種記錄類型部署為個別的 Cloud Run 函式。存取 Google SecOps GitHub 存放區中的指令碼。GitHub 中的每個子目錄都包含下列檔案,這些檔案專屬於擷取的記錄類型。
main.py
是記錄類型專用的擷取指令碼。這個外掛程式會連線至來源裝置,並將資料擷取至 Google SecOps。.env.yml
儲存 Python 指令碼所需的設定,且專用於部署作業。修改這個檔案,設定擷取指令碼所需的設定參數。README.md
提供設定參數的相關資訊。Requirements.txt
會定義擷取指令碼所需的依附元件。此外,common
資料夾包含所有擷取指令碼依附的公用程式函式。
請按照下列步驟組裝檔案,以便擷取單一記錄類型的資料:
- 建立部署目錄,儲存 Cloud Run 函式的檔案。 其中包含部署作業所需的所有檔案。
- 將所選記錄類型 (例如 OneLogin 使用者環境) 的 GitHub 子目錄中所有檔案,複製到這個部署目錄。
- 將
common
資料夾和所有內容複製到部署目錄。 目錄內容類似於下方內容:
one_login_user ├─common │ ├─__init__.py │ ├─auth.py │ ├─env_constants.py │ ├─ingest.py │ ├─status.py │ └─utils.py ├─env.yml ├─main.py └─requirements.txt
設定指令碼
- 啟動 Cloud Shell 工作階段。
- 透過 SSH 連線至 Google Cloud Linux VM。請參閱「使用 Google 工具連線至 Linux VM」。
按一下 >「上傳」或「下載」,即可上傳擷取指令碼,將檔案或資料夾移至 Cloud Shell 或從 Cloud Shell 移出。
「更多」檔案和資料夾只能上傳至主目錄,以及從主目錄下載。 如要瞭解在 Cloud Shell 和本機工作站之間轉移檔案的更多選項,請參閱「[從 Cloud Shell 上傳及下載檔案和資料夾](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders)」。
編輯函式的
.env.yml
檔案,並填入必要的環境變數。下表列出所有擷取指令碼通用的執行階段環境變數。變數名稱 說明 必填 預設 密鑰 CHRONICLE_CUSTOMER_ID
Chronicle (Google SecOps) 客戶 ID。 是 無 否 CHRONICLE_REGION
Chronicle (Google SecOps) 區域。 是 us
其他有效值:asia-northeast1
、asia-south1
、asia-southeast1
、australia-southeast1
、europe
、europe-west2
、europe-west3
、europe-west6
、europe-west9
、europe-west12
、me-central1
、me-central2
、me-west1
、northamerica-northeast2
和southamerica-east1
。否 CHRONICLE_SERVICE_ACCOUNT
Chronicle (Google SecOps) 服務帳戶 JSON 檔案的內容。 是 無 是 CHRONICLE_NAMESPACE
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 否 無 否 每個指令碼都需要專屬的環境變數。如要瞭解各記錄類型所需的環境變數,請參閱「依記錄類型分類的設定參數」。
標示為 Secret = Yes
的環境變數必須在 Secret Manager 中設定為密鑰。如需使用 Secret Manager 的費用資訊,請參閱 Secret Manager 定價。
如需詳細操作說明,請參閱「建立及存取密鑰」。
在 Secret Manager 中建立密鑰後,請使用密鑰資源名稱做為環境變數的值。例如:projects/{project_id}/secrets/{secret_id}/versions/{version_id}
,其中 {project_id}
、{secret_id}
和 {version_id}
適用於您的環境。
設定排程器或觸發條件
除了 Pub/Sub 以外,所有指令碼都會實作,以便從來源裝置定期收集資料。您必須使用 Cloud Scheduler 設定觸發條件,才能隨時間擷取資料。Pub/Sub 的擷取指令碼會持續監控 Pub/Sub 訂閱項目。詳情請參閱依排程執行服務和使用 Pub/Sub 觸發 Cloud Run 函式。
部署 Cloud Run 函式
- 啟動 Cloud Shell 工作階段。
- 透過 SSH 連線至 Google Cloud Linux VM。請參閱「使用 Google 工具連線至 Linux VM」。
- 切換至您複製擷取指令碼的目錄。
執行下列指令來部署 Cloud Run 函式。
gcloud functions deploy <FUNCTION NAME> --service-account <SERVICE_ACCOUNT_EMAIL> --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
將
<FUNCTION_NAME>
替換為您為 Cloud Run 函式定義的名稱。將
<SERVICE_ACCOUNT_EMAIL>
替換為要讓 Cloud Run 函式使用的服務帳戶電子郵件地址。如果沒有將目錄變更為檔案所在位置,請務必使用
--source
選項指定部署指令碼的位置。執行 Cloud Run 函式的服務帳戶必須具備「Cloud Functions 叫用者」(
roles/cloudfunctions.invoker
) 和「Secret Manager 密碼存取者」(roles/secretmanager.secretAccessor
) 角色。
查看執行階段記錄
擷取指令會將執行階段訊息列印至 stdout。Cloud Run functions 提供查看記錄訊息的機制。
依記錄類型劃分的設定參數
Armis Google SecOps 整合
這個指令碼會使用 Armis 平台發出的 API 呼叫,收集不同類型的事件資料,例如快訊、活動、裝置和安全漏洞。收集到的資料會匯入 Google SecOps,並由對應的剖析器剖析。
指令碼流程
指令碼流程如下:
確認環境變數。
將指令碼部署至 Cloud Run functions。
使用擷取指令碼收集資料。
將收集到的資料擷取至 Google SecOps。
透過 Google SecOps 中的對應剖析器剖析收集到的資料。
使用指令碼收集資料並擷取至 Google SecOps
確認環境變數。
變數 說明 必要 預設 密鑰 CHRONICLE_CUSTOMER_ID
Chronicle (Google SecOps) 客戶 ID。 是 - 否 CHRONICLE_REGION
Chronicle (Google SecOps) 區域。 是 美國 是 CHRONICLE_SERVICE_ACCOUNT
Chronicle (Google SecOps) 服務帳戶 JSON 檔案的內容。 是 - 是 CHRONICLE_NAMESPACE
Chronicle (Google SecOps) 記錄檔所標示的命名空間。 否 - 否 POLL_INTERVAL
函式執行以取得額外資料的頻率間隔 函式執行頻率間隔,以取得額外的記錄資料 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 是 10 否 ARMIS_SERVER_URL
Armis 平台的伺服器網址。 是 - 否 ARMIS_API_SECRET_KEY
必須提供密鑰才能進行驗證。 是 - 是 HTTPS_PROXY
Proxy 伺服器網址。 否 - 否 CHRONICLE_DATA_TYPE
Chronicle (Google SecOps) 資料類型,可將資料推送至 Google SecOps。 是 - 否 設定目錄。
為 Cloud Run 函式部署作業建立新目錄,並在其中新增
common
目錄和擷取指令碼的內容 (armis
)。設定必要的執行階段環境變數。
在
.env.yml
檔案中定義必要環境變數。使用密鑰。
標示為密鑰的環境變數必須在 Secret Manager 中設定為密鑰。 如要進一步瞭解如何建立密鑰,請參閱「建立密鑰」。
在 Secret Manager 中建立密鑰後,請使用密鑰的資源名稱做為環境變數的值。例如:
CHRONICLE_SERVICE_ACCOUNT: projects/{project_id}/secrets/{secret_id}/versions/{version_id}
設定命名空間。
設定
CHRONICLE_NAMESPACE
環境變數來設定命名空間。Chronicle (Google SecOps) 記錄會擷取至命名空間。部署 Cloud Run 函式。
從先前建立的目錄中執行下列指令,部署 Cloud 函式。
gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
Cloud Run 函式的預設規格。
變數 預設 說明 記憶體 256 MB 無 無 Timedout 60 秒 無 無 區域 us-central1 無 無 執行個體數量下限 0 無 無 執行個體數量上限 100 無 無 如要進一步瞭解如何設定這些變數,請參閱「設定 Cloud Run 函式」。
擷取歷來資料。
如要擷取歷來資料並繼續收集即時資料,請按照下列步驟操作:
- 設定
POLL_INTERVAL
環境變數,指定要擷取歷來資料的分鐘數。 - 設定 Cloud Run 函式後,您可以使用排程器觸發函式,也可以在 Google Cloud CLI 中執行指令來手動觸發。
- 設定
Aruba Central
這項指令碼會從 Aruba Central 平台擷取稽核記錄,並以 ARUBA_CENTRAL
記錄類型將記錄匯入 Google SecOps。如要瞭解如何使用程式庫,請參閱 pycentral Python SDK。
在 .env.yml
檔案中定義下列環境變數。
變數 | 說明 | 預設 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Chronicle (Google SecOps) 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 10 | 否 |
ARUBA_CLIENT_ID |
Aruba Central API 閘道用戶端 ID。 | 無 | 否 |
ARUBA_CLIENT_SECRET_SECRET_PATH |
Aruba Central API 閘道用戶端密鑰。 | 無 | 是 |
ARUBA_USERNAME |
Aruba Central 平台的使用者名稱。 | 無 | 否 |
ARUBA_PASSWORD_SECRET_PATH |
Aruba Central 平台的密碼。 | 無 | 是 |
ARUBA_BASE_URL |
Aruba Central API 閘道的基礎網址。 | 無 | 否 |
ARUBA_CUSTOMER_ID |
Aruba Central 平台的客戶 ID。 | 無 | 否 |
Azure 事件中樞
與其他擷取指令碼不同,這個指令碼會使用 Azure 函式從 Azure 事件中樞擷取事件。每當有新事件新增至 bucket 時,Azure 函式就會觸發自身,並逐步將每個事件擷取至 Google SecOps。
部署 Azure 函式的步驟:
- 從存放區下載名為
Azure_eventhub_API_function_app.json
的資料連接器檔案。 - 登入 Microsoft Azure 入口網站。
- 前往 Microsoft Sentinel > 從清單中選取工作區 > 在設定部分選取「資料連接器」,然後執行下列操作:
- 在網址中將下列旗標設為 true:
feature.BringYourOwnConnector=true
。例如: https://portal.azure.com/?feature.BringYourOwnConnector=true&... 1. 在頁面上找到「匯入」按鈕,然後匯入您在步驟 1 下載的資料連接器檔案。
- 在網址中將下列旗標設為 true:
- 按一下「Deploy to Azure」(部署至 Azure) 按鈕來部署函式,然後按照同一頁面上的步驟操作。
- 選取偏好的訂閱項目、資源群組和位置,並提供必要值。
- 按一下「Review + Create」。
- 按一下「建立」即可部署。
Box
這項指令碼會取得 Box 內發生的事件詳細資料,並以 BOX
記錄類型將資料擷取至 Google SecOps。這些資料可深入瞭解 Box 環境中物件的 CRUD 作業。如要瞭解 Box 事件,請參閱 Box events API。
在 .env.yml
檔案中定義下列環境變數。如要進一步瞭解 Box 用戶端 ID、用戶端密鑰和主體 ID,請參閱「用戶端憑證授權」。
變數名稱 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
BOX_CLIENT_ID |
Box 平台的用戶端 ID,可在 Box 開發人員控制台中取得。 | 無 | 否 |
BOX_CLIENT_SECRET |
Secret Manager 中密鑰的路徑,該密鑰儲存用於驗證的 Box 平台用戶端密鑰。 | 無 | 是 |
BOX_SUBJECT_ID |
Box 使用者 ID 或企業 ID。 | 無 | 否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
Citrix Cloud 稽核記錄
這項指令碼會收集 Citrix Cloud 稽核記錄,並以 CITRIX_MONITOR
記錄類型擷取至 Google SecOps。這些記錄檔會提供相關資訊,例如變更內容、變更者和變更時間等,有助於識別 Citrix Cloud 環境中執行的活動。詳情請參閱 Citrix Cloud SystemLog API。
在 .env.yml
檔案中定義下列環境變數。如要瞭解 Citrix 用戶端 ID 和用戶端密鑰,請參閱「開始使用 Citrix API」。
變數名稱 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CITRIX_CLIENT_ID |
Citrix API 用戶端 ID。 | 無 | 否 |
CITRIX_CLIENT_SECRET |
Secret Manager 中密鑰的路徑,用於儲存 Citrix API 用戶端密鑰,以進行驗證。 | 無 | 是 |
CITRIX_CUSTOMER_ID |
Citrix CustomerID。 | 無 | 否 |
POLL_INTERVAL |
收集額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 30 | 否 |
URL_DOMAIN |
Citrix Cloud Endpoint。 | 無 | 否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Chronicle (Google SecOps) 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
Citrix 工作階段中繼資料
這個指令碼會從 Citrix 環境收集 Citrix 工作階段中繼資料,並以 CITRIX_MONITOR
記錄類型擷取至 Google SecOps。資料包括使用者登入詳細資料、工作階段時間長度、工作階段建立時間、工作階段結束時間,以及其他與工作階段相關的中繼資料。詳情請參閱 Citrix Monitor Service API。
在 .env.yml
檔案中定義下列環境變數。如要瞭解 Citrix 用戶端 ID 和用戶端密鑰,請參閱「開始使用 Citrix API」。
變數名稱 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
URL_DOMAIN |
Citrix 網址網域。 | 無 | 否 |
CITRIX_CLIENT_ID |
Citrix 用戶端 ID。 | 無 | 否 |
CITRIX_CLIENT_SECRET |
Secret Manager 中密鑰的路徑,用於儲存驗證用的 Citrix 用戶端密鑰。 | 無 | 是 |
CITRIX_CUSTOMER_ID |
Citrix 客戶 ID。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 30 | 否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
Cloud Storage
這項指令碼會從 Cloud Storage 擷取系統記錄,並以可設定的記錄類型值擷取至 Google SecOps。詳情請參閱 Google Cloud Python 用戶端程式庫。
在 .env.yml
檔案中定義下列環境變數。 Google Cloud
含有安全相關記錄,但部分記錄類型無法直接匯出至 Google SecOps。詳情請參閱「安全記錄分析」。
變數 | 說明 | 預設 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 60 | 否 |
GCS_BUCKET_NAME |
要從中擷取資料的 Cloud Storage bucket 名稱。 | 無 | 否 |
GCP_SERVICE_ACCOUNT_SECRET_PATH |
Secret Manager 中儲存 Google Cloud 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CHRONICLE_DATA_TYPE |
要將資料推送至 Chronicle (Google SecOps) 執行個體的記錄類型。 | 無 | 否 |
Duo 活動
這項指令碼會從 Duo 管理介面擷取 Duo 活動記錄,並以 DUO_ACTIVITY
記錄類型將記錄匯入 Google SecOps。詳情請參閱 Duo Admin API。
在 .env.yml
檔案中定義下列環境變數。
變數名稱 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west12 、me-central1 、me-central2 、me-west1 和 northamerica-northeast2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
BACKSTORY_API_V1_URL |
Duo Security API 的網址路徑。如要進一步瞭解如何下載含有 DUO 管理 API 整合金鑰的 JSON 檔案,請參閱 Duo 管理說明文件。 | 無 | 是 |
DUO_SECRET_KEY |
從 DUO API 擷取記錄時必須使用的 DUO 密鑰。如需下載 JSON 檔案的操作說明,請參閱 Duo 管理員說明文件。該檔案包含 Duo 管理員 API 整合金鑰、Duo 管理員 API 密鑰和 Duo 管理員 API 主機名稱。 |
無 | 是 |
DUO_INTEGRATION_KEY |
從 DUO API 擷取記錄所需的 DUO 整合金鑰。如需如何下載含有 Duo 管理 API 整合金鑰、Duo 管理 API 密鑰和 Duo 管理 API 主機名稱的 JSON 檔案,請參閱 Duo 管理說明文件。 |
無 | 是 |
LOG_FETCH_DURATION |
擷取記錄的時間長度。 | 1 | 否 |
CHECKPOINT_FILE_PATH |
儲存上次擷取記錄的檢查點時間戳記的檔案路徑。 | checkpoint.json |
否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
Duo 管理員
這個指令碼會從 Duo 管理員取得與各種物件 (例如使用者帳戶和安全性) 執行的 CRUD 作業相關的事件。這些事件會以 DUO_ADMIN
記錄類型擷取至 Google SecOps。詳情請參閱 Duo Admin API。
在 .env.yml
檔案中定義下列環境變數。
變數名稱 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 無 | 否 |
DUO_API_DETAILS |
Secret Manager 中儲存 Duo 帳戶 JSON 檔案的密鑰路徑。這包含 Duo Admin API 整合金鑰、Duo Admin API 密鑰和 Duo Admin API 主機名稱。例如:
{
"ikey": "abcd123",
"skey": "def345",
"api_host": "abc-123"
}
如需下載 JSON 檔案的操作說明,請參閱 Duo 管理說明文件。 |
無 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
MISP
這項指令碼會從開放原始碼威脅情報與分享平台 MISP 擷取威脅關係資訊,並以 MISP_IOC
記錄類型將資訊匯入 Google SecOps。詳情請參閱 MISP Events API。
在 .env.yml
檔案中定義下列環境變數。
變數 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
ORG_NAME |
用於篩選事件的機構名稱。 | 無 | 否 |
API_KEY |
Secret Manager 中密鑰的路徑,用於儲存驗證時使用的 API 金鑰。 | 無 | 是 |
TARGET_SERVER |
您建立的 MISP 執行個體 IP 位址。 | 無 | 否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
OneLogin 事件
這個指令碼會從 OneLogin 環境取得事件,並以 ONELOGIN_SSO
記錄類型將事件擷取至 Google SecOps。這類事件會提供使用者帳戶作業等資訊。詳情請參閱 OneLogin Events API。
在 .env.yml
檔案中定義下列環境變數。如要瞭解 OneLogin 用戶端 ID 和用戶端密鑰,請參閱「使用 API 憑證」。
變數名稱 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CLIENT_ID |
OneLogin 平台的用戶端 ID。 | 無 | 否 |
CLIENT_SECRET |
Secret Manager 中密鑰的路徑,用於儲存 OneLogin 平台用於驗證的用戶端密鑰。 | 無 | 是 |
TOKEN_ENDPOINT |
要求存取權杖的網址。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
OneLogin 使用者情境
這個指令碼會從 OneLogin 環境取得與使用者帳戶相關的資料,並以 ONELOGIN_USER_CONTEXT
記錄類型將資料匯入 Google SecOps。詳情請參閱 OneLogin User API。
在 .env.yml
檔案中定義下列環境變數。如要瞭解 OneLogin 用戶端 ID 和用戶端密鑰,請參閱「使用 API 憑證」。
變數名稱 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 30 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CLIENT_ID |
OneLogin 平台的用戶端 ID。 | 無 | 否 |
CLIENT_SECRET |
Secret Manager 中密鑰的路徑,用於儲存 OneLogin 平台用於驗證的用戶端密鑰。 | 無 | 是 |
TOKEN_ENDPOINT |
要求存取權杖的網址。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
Proofpoint
這項指令碼會擷取特定機構在指定時間範圍內,遭到攻擊的使用者相關資料,並將資料匯入 Google SecOps。如要瞭解使用的 API,請參閱 People API。
在 .env.yml
檔案中定義下列環境變數。如要進一步瞭解如何取得 Proofpoint 服務主體和 Proofpoint 密鑰,請參閱「Providing proofpoint TAP credentials to Arctic Wolf configuration guide」。
變數 | 說明 | 預設 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 360 | 否 |
CHRONICLE_DATA_TYPE |
要將資料推送至 Chronicle (Google SecOps) 執行個體的記錄類型。 | 無 | 否 |
PROOFPOINT_SERVER_URL |
Proofpoint Server API 閘道的基本網址。 | 無 | 否 |
PROOFPOINT_SERVICE_PRINCIPLE |
Proofpoint 平台的使用者名稱。這通常是服務主體。 | 無 | 否 |
PROOFPOINT_SECRET |
Secret Manager 的路徑和版本,其中儲存 Proofpoint 平台的密碼。 | 無 | 是 |
PROOFPOINT_RETRIEVAL_RANGE |
指出應從多少天前開始擷取資料的數字。可接受的值為 14、30 和 90。 | 無 | 否 |
Pub/Sub
這個指令碼會從 Pub/Sub 訂閱項目收集訊息,並將資料擷取至 Google SecOps。這項服務會持續監控訂閱閘道,並在出現新訊息時擷取這些訊息。詳情請參閱下列文件:
這項擷取指令碼需要您在 .env.yml
檔案和 Cloud Scheduler 工作中設定變數。
在
.env.yml
檔案中定義下列環境變數。變數名稱 說明 預設值 密鑰 CHRONICLE_CUSTOMER_ID
Chronicle (Google SecOps) 執行個體客戶 ID。 無 否 CHRONICLE_REGION
Chronicle (Google SecOps) 執行個體區域。 us
其他有效值:asia-northeast1
、asia-south1
、asia-southeast1
、australia-southeast1
、europe
、europe-west2
、europe-west3
、europe-west6
、europe-west9
、europe-west12
、me-central1
、me-central2
、me-west1
、northamerica-northeast2
和southamerica-east1
。否 CHRONICLE_SERVICE_ACCOUNT
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 無 是 CHRONICLE_NAMESPACE
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 無 否 在 Cloud Scheduler 的「Message body」(訊息內文) 欄位中,將下列變數設為 JSON 格式的字串。如要進一步瞭解「訊息內文」欄位,請參閱建立 Cloud Scheduler。
變數名稱 說明 預設值 密鑰 PROJECT_ID
Pub/Sub 專案 ID。如要瞭解專案 ID,請參閱「建立及管理專案」。 無 否 SUBSCRIPTION_ID
Pub/Sub 訂閱項目 ID。 無 否 CHRONICLE_DATA_TYPE
將資料推送至 Chronicle (Google SecOps) 時提供的記錄類型擷取標籤。如需支援的記錄檔類型清單,請參閱「 支援的預設剖析器」。 無 否 以下是 Message body 欄位的 JSON 格式字串範例。
{ "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
Slack 稽核記錄
這個指令碼會從 Slack Enterprise Grid 機構取得稽核記錄,並以 SLACK_AUDIT
記錄類型將這些記錄擷取至 Google SecOps。詳情請參閱 Slack 稽核記錄 API。
在 .env.yml
檔案中定義下列環境變數。
變數名稱 | 說明 | 預設值 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 5 | 否 |
SLACK_ADMIN_TOKEN |
Secret Manager 中儲存 Slack 驗證權杖的密鑰路徑。 |
無 |
是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
STIX/TAXII
這項指令碼會從 STIX/TAXII 伺服器提取指標,並將其擷取至 Google SecOps。詳情請參閱 STIX/TAXII API 說明文件。在 .env.yml
檔案中定義下列環境變數。
變數名稱 | 說明 | 預設 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
POLL_INTERVAL |
函式執行的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作相同。 | 60 | 否 |
TAXII_VERSION |
要使用的 STIX/TAXII 版本。可用的選項包括 1.1、2.0、2.1 | 無 | 否 |
TAXII_DISCOVERY_URL |
TAXII 伺服器的探索網址。 | 無 | 否 |
TAXII_COLLECTION_NAMES |
要從中擷取資料的集合 (CSV)。如要從所有集合擷取資料,請將這個欄位留空。 | 無 | 否 |
TAXII_USERNAME |
驗證所需的使用者名稱 (如有)。 | 無 | 否 |
TAXII_PASSWORD_SECRET_PATH |
驗證所需的密碼 (如有)。 | 無 | 是 |
Tenable.io
這項指令碼會從 Tenable.io 平台擷取資產和安全漏洞資料,並以 TENABLE_IO
記錄類型將資料匯入 Google SecOps。如要瞭解使用的程式庫,請參閱 pyTenable Python SDK。
在 .env.yml
檔案中定義下列環境變數。如要進一步瞭解資產和安全漏洞資料,請參閱 Tenable.io API:匯出資產和匯出安全漏洞。
變數 | 說明 | 預設 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 360 | 否 |
TENABLE_ACCESS_KEY |
用於驗證的存取金鑰。 | 無 | 否 |
TENABLE_SECRET_KEY_PATH |
Google Secret Manager 的路徑 (含版本),其中儲存 Tenable 伺服器的密碼。 | 無 | 是 |
TENABLE_DATA_TYPE |
要在 Google SecOps 中擷取的資料類型。可能的值:ASSETS、VULNERABILITIES。 | 資產、安全漏洞 | 否 |
TENABLE_VULNERABILITY |
您希望匯出內容包含的安全性弱點狀態。可能的值:`OPEN`、`REOPENED` 和 `FIXED`。 | 未解決、已恢復營業 | 否 |
Trend Micro Cloud App Security
這項指令碼會從 Trend Micro 平台擷取安全性記錄,並將其匯入 Google SecOps。如要瞭解使用的 API,請參閱安全性記錄 API。
在 .env.yml
檔案中定義下列環境變數。
變數 | 說明 | 預設 | 密鑰 |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 10 | 否 |
CHRONICLE_DATA_TYPE |
要將資料推送至 Chronicle (Google SecOps) 執行個體的記錄類型。 | 無 | 否 |
TREND_MICRO_AUTHENTICATION_TOKEN |
Google Secret Manager 的路徑 (含版本),用於儲存 Trend Micro Server 的驗證權杖。 | 無 | 是 |
TREND_MICRO_SERVICE_URL |
Cloud App Security 服務的服務網址。 | 無 | 否 |
TREND_MICRO_SERVICE |
要擷取記錄的受保護服務名稱。支援逗號分隔值。可能的值:exchange、sharepoint、onedrive、dropbox、box、googledrive、gmail、teams、exchangeserver、salesforce_sandbox、salesforce_production、teams_chat。 | exchange、sharepoint、onedrive、dropbox、box、googledrive、gmail、teams、exchangeserver、salesforce_sandbox、salesforce_production、teams_chat | 否 |
TREND_MICRO_EVENT |
要擷取記錄的安全事件類型。支援逗號分隔值。可能的值:securityrisk、virtualanalyzer、ransomware、dlp。 | securityrisk、virtualanalyzer、ransomware、dlp | 否 |
Trend Micro Vision One
這個指令碼會擷取 Trend Micro Vision One 的稽核記錄,並以 TREND_MICRO_VISION_AUDIT
記錄類型將記錄匯入 Google SecOps。如要瞭解所用的 API,請參閱 Audit Logs API。在 .env.yml
檔案中定義下列環境變數。
變數 | 說明 | 預設 | 密鑰 |
---|---|---|---|
TREND_MICRO_VISION_AUDIT |
Google SecOps 執行個體客戶 ID。 | 無 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 執行個體區域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中儲存 Chronicle (Google SecOps) 服務帳戶 JSON 檔案的密鑰路徑。 | 無 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 記錄檔標示的命名空間。如要瞭解 Google SecOps 命名空間,請參閱「使用資產命名空間」。 | 無 | 否 |
POLL_INTERVAL |
函式執行以取得額外記錄資料的頻率間隔 (以分鐘為單位)。這個時間長度必須與 Cloud Scheduler 工作間隔相同。 | 10 | 否 |
TREND_MICRO_AUTHENTICATION_TOKEN |
Google Secret Manager 的路徑 (含版本),用於儲存 Trend Micro Server 的驗證權杖。 | 無 | 是 |
TREND_MICRO_DOMAIN |
服務端點所在的 Trend Micro Vision One 區域。 | 無 | 否 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。