收集 Cato Networks 記錄
本文說明如何使用 AWS S3,將 Cato Networks 記錄擷取至 Google Security Operations。剖析器會先將一組欄位初始化為空字串,然後剖析 JSON 格式的 Cato Networks 記錄。然後將擷取的欄位對應至 Google SecOps 統合資料模型 (UDM) 中的對應欄位,處理不同事件類型,並以額外背景資訊擴充資料。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- AWS S3 和 AWS IAM 的特殊權限存取權
- Cato Networks 的特殊存取權
設定 AWS IAM 和 S3 值區
- 按照這份使用者指南建立 Amazon S3 值區:建立值區
- 儲存 bucket 的「Name」(名稱) 和「Region」(區域),以供日後參考。
- 請按照這份使用者指南建立使用者:建立 IAM 使用者。
- 選取建立的「使用者」。
- 選取「安全憑證」分頁標籤。
- 在「Access Keys」部分中,按一下「Create Access Key」。
- 選取「第三方服務」做為「用途」。
- 點選「下一步」。
- 選用:新增說明標記。
- 按一下「建立存取金鑰」。
- 按一下「下載 CSV 檔案」,儲存「存取金鑰」和「私密存取金鑰」以供日後參考。
- 按一下 [完成]。
- 選取 [權限] 分頁標籤。
- 在「權限政策」部分中,按一下「新增權限」。
- 選取「新增權限」。
- 選取「直接附加政策」。
- 搜尋 AmazonS3FullAccess 政策,然後選取該政策。
- 點選「下一步」。
- 按一下「新增權限」。
為 S3 儲存空間設定新的 IAM 政策,以啟用資料上傳功能
- 在「政策」中,按一下「JSON」分頁標籤。
編輯下列 JSON,將
<bucket name>
替換為 S3 bucket,然後貼到分頁中。{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<bucket name>" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucket name>/*" ] } ] }
按一下「建立政策」。
使用 Cato 的 ARN 設定新的 IAM 角色
在「Select trusted entity」(選取信任的實體) 畫面中,選取「Custom Trust Policy」(自訂信任政策),然後將 Cato 的 ARN 新增至角色:arn:aws:iam::428465470022:role/cato-events-integration
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::428465470022:role/cato-events-integration" }, "Action": "sts:AssumeRole" } ] }
點選「下一步」。
在「新增權限」畫面中,將您先前建立的政策附加至角色。
點選「下一步」。
輸入「角色名稱」,然後按一下「建立角色」。
設定 Cato Networks Events 和 S3 整合
- 登入 Cato Networks 網頁版 UI。
- 依序前往「資源」>「活動整合」。
- 按一下「啟用與 Cato 事件的整合」。
- 按一下 [New]。
- 提供下列設定詳細資料:
- 輸入整合作業的「Name」(名稱)。
- 值區名稱:與 S3 值區的名稱相同。
- 資料夾:S3 bucket 內資料夾路徑的名稱 (如有需要)。
- 區域:與 S3 值區相同的區域。
- 角色 ARN:複製並貼上 S3 bucket 角色的 ARN。
- (選用) 定義上傳至 S3 儲存空間的事件篩選器設定 (定義多個篩選器時,這些篩選器之間會以 AND 關係連結,且只有符合所有篩選器的事件會上傳)。
- 按一下 [套用]。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
內容中心 > 內容包
依序前往「SIEM 設定」>「動態饋給」,設定動態饋給
如要設定動態消息,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
Cato Logs
)。 - 選取「Amazon S3」做為「來源類型」。
- 選取「Cato Networks」做為「記錄類型」。
- 點選「下一步」。
指定下列輸入參數的值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:值區 URI (格式應為
s3://<your-log-bucket-name>
)。 取代下列項目:your-log-bucket-name
:值區名稱。
- 「URI is a」:選取「Directory」或「Directory which includes subdirectories」。
- 來源刪除選項:根據偏好設定選取刪除選項。
- 存取金鑰 ID:具有 S3 值區存取權的使用者存取金鑰。
- 存取密鑰:具有 S3 bucket 存取權的使用者私密金鑰。
點選「下一步」。
在「Finalize」畫面上檢查新的動態饋給設定,然後按一下「Submit」。
從內容中心設定動態饋給
為下列欄位指定值:
區域:Amazon S3 值區所在的區域。
- S3 URI:值區 URI (格式應為
s3://<your-log-bucket-name>
)。 取代下列項目:your-log-bucket-name
:值區名稱。
- 「URI is a」:選取「Directory」或「Directory which includes subdirectories」。
- 來源刪除選項:根據偏好設定選取刪除選項。
- 存取金鑰 ID:具有 S3 值區存取權的使用者存取金鑰。
- 存取密鑰:具有 S3 bucket 存取權的使用者私密金鑰。
- S3 URI:值區 URI (格式應為
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 擷取標籤:套用至這個動態饋給所有事件的標籤。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
account_id | target.user.userid | 這個欄位的值取自 account_id 欄位。 |
動作 | additional.fields.value.string_value | 這個欄位的值取自 action 欄位。 |
app_stack | additional.fields.value.list_value.values.string_value | 這個欄位的值取自 app_stack 欄位。 |
調度應用程式資源 | principal.application | 這個欄位的值取自 application 欄位。 |
類別 | additional.fields.value.list_value.values.string_value | 這個欄位的值取自 categories 欄位。 |
clientIP | principal.ip、principal.asset.ip | 這個欄位的值取自 clientIP 欄位。 |
creationTime | 這個欄位用於計算事件時間戳記。 | |
custom_categories | additional.fields.value.list_value.values.string_value | 這個欄位的值取自 custom_categories 欄位。 |
dest_country | target.location.country_or_region | 這個欄位的值取自 dest_country 欄位。 |
dest_country_code | target.resource.attribute.labels.value | 這個欄位的值取自 dest_country_code 欄位。 |
dest_ip | target.ip、target.asset.ip | 這個欄位的值取自 dest_ip 欄位。 |
dest_port | target.port | 這個欄位的值取自 dest_port 欄位。 |
destinationCountry | target.location.country_or_region | 這個欄位的值取自 destinationCountry 欄位。 |
destinationIp | target.ip、target.asset.ip | 這個欄位的值取自 destinationIp 欄位。 |
destinationName | target.hostname、target.asset.hostname | 這個欄位的值取自 destinationName 欄位。 |
device_name | network.dhcp.client_hostname | 這個欄位的值取自 device_name 欄位。 |
dns_name | additional.fields.value.string_value | 這個欄位的值取自 dns_name 欄位。 |
event_count | additional.fields.value.string_value | 這個欄位的值取自 event_count 欄位。 |
event_sub_type | metadata.description | 這個欄位的值取自 event_sub_type 欄位。 |
fieldsMap.ISP_name | additional.fields.value.string_value | 這個欄位的值取自 fieldsMap.ISP_name 欄位。 |
fieldsMap.action | security_result.action_details | 這個欄位的值取自 fieldsMap.action 欄位。 |
fieldsMap.categories | security_result.category_details | 這個欄位的值取自 fieldsMap.categories 欄位。 |
fieldsMap.dest_country | target.location.country_or_region | 這個欄位的值取自 fieldsMap.dest_country 欄位。 |
fieldsMap.dest_ip | target.ip、target.asset.ip | 這個欄位的值取自 fieldsMap.dest_ip 欄位。 |
fieldsMap.dest_port | principal.port | 這個欄位的值取自 fieldsMap.dest_port 欄位。 |
fieldsMap.domain_name | principal.administrative_domain | 這個欄位的值取自 fieldsMap.domain_name 欄位。 |
fieldsMap.event_sub_type | metadata.description | 這個欄位的值取自 fieldsMap.event_sub_type 欄位。 |
fieldsMap.event_type | metadata.product_event_type | 這個欄位的值取自 fieldsMap.event_type 欄位。 |
fieldsMap.ip_protocol | network.ip_protocol | 這個欄位的值取自 fieldsMap.ip_protocol 欄位。 |
fieldsMap.os_type | 這個欄位用於判斷主體的作業系統。 | |
fieldsMap.pop_name | additional.fields.value.string_value | 這個欄位的值取自 fieldsMap.pop_name 欄位。 |
fieldsMap.rule_id | security_result.rule_id | 這個欄位的值取自 fieldsMap.rule_id 欄位。 |
fieldsMap.rule_name | security_result.rule_name | 這個欄位的值取自 fieldsMap.rule_name 欄位。 |
fieldsMap.src_ip | principal.ip、principal.asset.ip | 這個欄位的值取自 fieldsMap.src_ip 欄位。 |
fieldsMap.src_isp_ip | src.ip、src.asset.ip | 這個欄位的值取自 fieldsMap.src_isp_ip 欄位。 |
fieldsMap.time | 這個欄位用於計算事件時間戳記。 | |
file_hash | target.file.sha256 | 這個欄位的值取自 file_hash 欄位。 |
file_name | target.file.full_path | 這個欄位的值取自 file_name 欄位。 |
file_size | target.file.size | 這個欄位的值取自 file_size 欄位。 |
http_host_name | principal.hostname、principal.asset.hostname | 這個欄位的值取自 http_host_name 欄位。 |
insertionDate | additional.fields.value.string_value | 這個欄位的值取自 insertionDate 欄位。 |
internalId | additional.fields.value.string_value | 這個欄位的值取自 internalId 欄位。 |
ip_protocol | network.ip_protocol | 這個欄位的值取自 ip_protocol 欄位。 |
is_sanctioned_app | security_result.detection_fields.value | 這個欄位的值取自 is_sanctioned_app 欄位。 |
os_type | principal.platform | 這個欄位的值取自 os_type 欄位。 |
pop_name | 這個欄位用於填入 fieldsMap.pop_name 欄位。 |
|
prettyType | metadata.product_event_type | 這個欄位的值取自 prettyType 欄位。 |
規則 | additional.fields.value.string_value | 這個欄位的值取自 rule 欄位。 |
rule_id | security_result.rule_id | 這個欄位的值取自 rule_id 欄位。 |
rule_name | security_result.rule_name | 這個欄位的值取自 rule_name 欄位。 |
server_port | target.port | 這個欄位的值取自 server_port 欄位。 |
嚴重性 | security_result.severity_details | 這個欄位的值取自 severity 欄位。 |
sourceCountry | principal.location.country_or_region | 這個欄位的值取自 sourceCountry 欄位。 |
sourceInternalIp | principal.ip | 這個欄位的值取自 sourceInternalIp 欄位。 |
sourceIp | src.ip、src.asset.ip | 這個欄位的值取自 sourceIp 欄位。 |
sourceName | principal.user.user_display_name | 這個欄位的值取自 sourceName 欄位。 |
運動 | principal.port | 這個欄位的值取自 sport 欄位。 |
src_country | 這個欄位用於填入 sourceCountry 欄位。 |
|
src_country_code | principal.resource.attribute.labels.value | 這個欄位的值取自 src_country_code 欄位。 |
src_ip | principal.ip、principal.asset.ip | 這個欄位的值取自 src_ip 欄位。 |
src_is_site_or_vpn | security_result.detection_fields.value | 這個欄位的值取自 src_is_site_or_vpn 欄位。 |
src_isp_ip | src.ip、src.asset.ip | 這個欄位的值取自 src_isp_ip 欄位。 |
src_site | additional.fields.value.string_value | 這個欄位的值取自 src_site 欄位。 |
src_site_name | additional.fields.value.string_value | 這個欄位的值取自 src_site_name 欄位。 |
開始 | 這個欄位用於計算事件時間戳記。 | |
subnet_name | additional.fields.value.string_value | 這個欄位的值取自 subnet_name 欄位。 |
時間 | 這個欄位用於計算事件時間戳記。 | |
time_str | 這個欄位用於計算事件時間戳記。 | |
tunnel_host_logon_names | principal.user.userid | 這個欄位的值取自 tunnel_host_logon_names 欄位。 |
網址 | target.url | 這個欄位的值取自 url 欄位。 |
user_id | principal.user.userid | 這個欄位的值取自 user_id 欄位。 |
metadata.event_type | 這個欄位的值會設為 GENERIC_EVENT ,並可根據事件覆寫為 NETWORK_CONNECTION 、NETWORK_DHCP 或 NETWORK_HTTP 。 |
|
metadata.log_type | 這個欄位的值會設為 CATO_NETWORKS 。 |
|
metadata.product_name | 這個欄位的值會設為 SASE 。 |
|
metadata.vendor_name | 這個欄位的值會設為 Cato Networks 。 |
|
network.application_protocol | 這個欄位的值會設為 Connected 事件的 DHCP 。 |
|
network.dhcp.chaddr | 這個欄位的值會設為 Connected 事件的 01:23:45:ab:cd:ef 。 |
|
network.dhcp.lease_time_seconds | 這個欄位的值會設為 Connected 事件的 86400 。 |
|
network.dhcp.opcode | 這個欄位的值會設為 BOOTREPLY ,適用於 Connected 事件。 |
|
network.dhcp.type | 這個欄位的值會設為 ACK ,適用於 Connected 事件。 |
|
network.direction | 這個欄位的值會設為 OUTBOUND ,適用於 Anti Malware 和 URL Filtering 事件。 |
|
security_result.action | 如果 action 欄位不是 BLOCK ,這個欄位的值會設為 ALLOW ,否則會設為 BLOCK 。 |
|
event_type | metadata.description | 這個欄位的值取自 event_type 欄位。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。