FortiAnalyzer

本文說明如何將 FortiAnalyzer 與 Google Security Operations 整合。

事前準備

為確保 Google SecOps 與 FortiAnalyzer 之間能順利通訊,您必須設定專屬管理員帳戶,並授予特定 API 和資源權限。

類別 權限等級
系統設定 無
管理網域 無
裝置管理工具 唯讀
    新增/刪除/編輯裝置/群組 唯讀
Log View/FortiView 唯讀
事件 讀取/寫入
    建立及更新事件 讀取/寫入
分類事件 無
執行教戰手冊 無
報告 無
    執行報表 無
Fabric 檢視畫面 無

如要讓整合功能與 FortiAnalyzer API 通訊,您必須授予管理員帳戶必要的 API 權限:

  1. 在 FortiAnalyzer 中,前往管理員清單,然後選取為這項整合建立的使用者帳戶。

  2. 在「Edit Administrator」(編輯管理員) 側欄中,找到「JSON API Access」(JSON API 存取權) 欄位,並將其設為 Read-Write。

  3. 按一下 [確定] 儲存變更。

整合參數

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

參數顯示名稱 類型 預設值 為必填項目 說明
API 根層級 字串 https://{ip address} 是 FortiAnalyzer 執行個體的 API 根目錄。
使用者名稱 字串 不適用 是

FortiAnalyzer 帳戶的使用者名稱。

請確認提供的憑證屬於使用者帳戶,且該帳戶已指派給「事前準備」中定義的設定檔。

密碼 密碼 不適用 是

FortiAnalyzer 帳戶的密碼。

請確認提供的憑證屬於使用者帳戶,且該帳戶已指派給「事前準備」中定義的設定檔。

驗證 SSL 核取方塊 已勾選 是 如果啟用,系統會驗證連至 FortiAnalyzer 的 SSL 憑證是否有效。

如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」。

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

動作

新增警告註解

說明

在 FortiAnalyzer 中為快訊新增註解。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
快訊 ID 字串 不適用 是 指定要更新的快訊 ID。
註解 字串 不適用 是 指定快訊的註解。

執行日期

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

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success=False
JSON 結果
{
    "jsonrpc": "2.0",
    "id": "string",
    "result": {
        "status": "done"
    }
}
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

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

如果傳回資訊 (is_success=true):「已成功在 FortiAnalyzer 中為 ID 為 {id} 的警示新增註解。」

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

如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「執行『在快訊中新增註解』動作時發生錯誤。Reason: {0}''.format(error.Stacktrace)"

如果找不到警告:「Error executing action "Add Comment To Alert". 原因:在 FortiAnalyzer 中找不到 ID 為 {alert id} 的警示。請檢查拼字。」

一般

充實實體

說明

使用 FortiAnalyzer 的資訊擴充實體。支援的實體:主機名稱、IP 位址。

參數

不適用

執行日期

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

  • 主機名稱
  • IP 位址

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success=False
JSON 結果
{
    "adm_pass": [
        "ENC",
        "FLP+Dq8f3t2/S+GQ6DfPL2iRhtmk1CEZzEeH8+nVkRkFd72IUbBZM6uDyw0fQ1j1i28H1wtfqf6HlGEK2ubxs0rXE4L+Uqj433si+AmEF9gEB5gLw/4P5YYRkw/aOYF74k8/8bincoa31jBe0u0HWRNdWYQSyG7IWgvZGsPK4at0gwZI"
    ],
    "adm_usr": "admin",
    "app_ver": "",
    "av_ver": "",
    "beta": -1,
    "branch_pt": 1255,
    "build": 1255,
    "checksum": "",
    "conf_status": 0,
    "conn_mode": 0,
    "conn_status": 0,
    "db_status": 0,
    "desc": "",
    "dev_status": 0,
    "eip": "",
    "fap_cnt": 0,
    "faz.full_act": 0,
    "faz.perm": 15,
    "faz.quota": 0,
    "faz.used": 0,
    "fex_cnt": 0,
    "first_tunnel_up": 0,
    "flags": 2097152,
    "foslic_cpu": 0,
    "foslic_dr_site": 0,
    "foslic_inst_time": 0,
    "foslic_last_sync": 0,
    "foslic_ram": 0,
    "foslic_type": 0,
    "foslic_utm": 0,
    "fsw_cnt": 0,
    "ha_group_id": 0,
    "ha_group_name": "",
    "ha_mode": 0,
    "ha_slave": null,
    "hdisk_size": 0,
    "hostname": "",
    "hw_rev_major": 0,
    "hw_rev_minor": 0,
    "hyperscale": 0,
    "ip": "172.30.203.248",
    "ips_ext": 0,
    "ips_ver": "",
    "last_checked": 1665664693,
    "last_resync": 0,
    "latitude": "0.0",
    "lic_flags": 0,
    "lic_region": "",
    "location_from": "",
    "logdisk_size": 0,
    "longitude": "0.0",
    "maxvdom": 10,
    "mgmt.__data[0]": 0,
    "mgmt.__data[1]": 0,
    "mgmt.__data[2]": 0,
    "mgmt.__data[3]": 0,
    "mgmt.__data[4]": 0,
    "mgmt.__data[5]": 0,
    "mgmt.__data[6]": 0,
    "mgmt.__data[7]": 0,
    "mgmt_if": "",
    "mgmt_mode": 2,
    "mgmt_uuid": "1841991674",
    "mgt_vdom": "",
    "module_sn": "",
    "mr": 2,
    "name": "FGVMEV2YKQ61YQD5",
    "node_flags": 0,
    "nsxt_service_name": "",
    "oid": 181,
    "onboard_rule": null,
    "opts": 0,
    "os_type": 0,
    "os_ver": 7,
    "patch": 2,
    "platform_str": "FortiGate-VM64",
    "prefer_img_ver": "",
    "prio": 0,
    "private_key": "",
    "private_key_status": 0,
    "psk": "",
    "role": 0,
    "sn": "FGVMEV2YKQ61YQD5",
    "source": 2,
    "tab_status": "",
    "tunnel_cookie": "",
    "tunnel_ip": "",
    "vdom": [
        {
            "comments": null,
            "devid": "FGVMEV2YKQ61YQD5",
            "ext_flags": 0,
            "flags": 0,
            "name": "root",
            "node_flags": 0,
            "oid": 3,
            "opmode": 1,
            "rtm_prof_id": 0,
            "status": null,
            "tab_status": null,
            "vdom_type": 1,
            "vpn_id": 0
        }
    ],
    "version": 700,
    "vm_cpu": 0,
    "vm_cpu_limit": 0,
    "vm_lic_expire": 0,
    "vm_mem": 0,
    "vm_mem_limit": 0,
    "vm_status": 0
}
實體充實 - 前置字元 FortiAn_
補充資料欄位名稱 來源 (JSON 金鑰) 邏輯 - 應用時機
adm_usr adm_usr JSON 格式 (如有)
建構 建構 JSON 格式 (如有)
ip ip JSON 格式 (如有)
last_checked last_checked JSON 格式 (如有)
last_resync last_resync JSON 格式 (如有)
名稱 名稱 JSON 格式 (如有)
sn sn JSON 格式 (如有)
os_type os_type JSON 格式 (如有)
os_ver os_ver JSON 格式 (如有)
patch patch JSON 格式 (如有)
platform\_str platform\_str JSON 格式 (如有)
版本 版本 JSON 格式 (如有)
遞減 遞減 JSON 格式 (如有)
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

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

如果一個實體有資料 (is_success=true):「已成功使用 FortiAnalyzer 的資訊擴充下列實體:{entity.identifier}」。

如果無法取得某個實體的資料 (is_success=true):「動作無法使用 FortiAnalyzer 的資訊充實下列實體:{entity.identifier}」

如果所有實體都沒有資料 (is_success=false):「提供的實體都沒有擴充資料。」

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

如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器等:「Error executing action "Enrich Entities". 原因:{0}''.format(error.Stacktrace)

一般
案件總覽表格

標題:{entity.identifier}

資料欄:鍵/值

實體

乒乓

說明

在 Google SecOps Content Hub 整合設定頁面,使用提供的參數測試與 FortiAnalyzer 的連線能力。

參數

不適用

執行日期

這項動作不會對實體執行,也沒有必要輸入參數。

動作執行結果

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

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

如果成功:「已使用提供的連線參數成功連線至 BitSight 伺服器!」

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

如果失敗,則會顯示「Failed to connect to the BitSight server! 錯誤為 {0}".format(exception.stacktrace)

一般

搜尋記錄

說明

在 FortiAnalyzer 中搜尋記錄。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
記錄類型 DDL

流量

可能的值包括:

  • 流量
  • 應用程式控制
  • 攻擊
  • 內容、資料遺失防護
  • 電子郵件篩選器
  • 事件、記錄
  • 病毒
  • VOIP 網路電話
  • 網路篩選器
  • Netscan
  • FCT 事件
  • FCT 流量
  • WAF
  • GTP
否 指定要搜尋的記錄類型。
區分大小寫篩選器 核取方塊 已取消勾選 否 如果啟用,篩選器會區分大小寫。
查詢篩選器 字串 不適用 否 指定搜尋的查詢篩選器。
裝置 ID 字串 All\_Fortigate 否

指定要搜尋的裝置 ID。

如果未提供任何內容,動作會在 All_Fortigate 中搜尋。

值範例:All_FortiGate、All_FortiMail、All_FortiWeb、All_FortiManager、All_Syslog、All_FortiClient、All_FortiCache、All_FortiProxy、All_FortiAnalyzer、All_FortiSandbox、All_FortiAuthenticator、All_FortiDDoS

時間範圍 DDL

上個月

可能的值:

  • 過去 1 小時
  • 過去 6 小時
  • 最近 24 小時
  • 上週
  • 上個月
  • 自訂
否

指定結果的時間範圍。

如果選取「自訂」,則必須提供「開始時間」參數。

開始時間 字串 不適用 否

指定結果的開始時間。

如果「Time Frame」參數選取「Custom」,則必須提供這項參數。

格式:ISO 8601

結束時間 字串 不適用 否

指定結果的結束時間。

格式:ISO 8601。

如果未提供任何值,且「Time Frame」參數選取「Custom」,則這個參數會使用目前時間。

時間順序 DDL

遞減

可能的值包括:

  • 遞減
  • 遞增
否 在搜尋中指定時間排序。
要傳回的記錄數量上限 整數 20 否 指定要傳回的記錄數量。預設值為 20。上限:1000。

執行日期

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

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success=False
JSON 結果
{
    "sessionid": "29658",
    "srcip": "172.30.201.188",
    "dstip": "173.243.138.210",
    "srcport": "17453",
    "dstport": "443",
    "trandisp": "noop",
    "duration": "1",
    "proto": "6",
    "sentbyte": "216",
    "rcvdbyte": "112",
    "sentpkt": "4",
    "rcvdpkt": "2",
    "logid": "0001000014",
    "service": "HTTPS",
    "app": "HTTPS",
    "appcat": "unscanned",
    "srcintfrole": "undefined",
    "dstintfrole": "undefined",
    "eventtime": "1665752066921638736",
    "srccountry": "Reserved",
    "dstcountry": "Canada",
    "srcintf": "root",
    "dstintf": "port1",
    "dstowner": "540",
    "tz": "-0700",
    "devid": "FGVMEV2YKQ61YQD5",
    "vd": "root",
    "csf": "FortiNetFabric",
    "dtime": "2022-10-14 05:54:27",
    "itime_t": "1665752069",
    "devname": "FGVMEV2YKQ61YQD5"
}{
    "date": "2022-10-14",
    "time": "05:54:27",
    "id": "7154350659607724033",
    "itime": "2022-10-14 05:54:29",
    "euid": "102",
    "epid": "102",
    "dsteuid": "102",
    "dstepid": "102",
    "logver": "702021255",
    "type": "traffic",
    "subtype": "local",
    "level": "notice",
    "action": "close",
    "policyid": "0"
}
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

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

如果傳回資訊 (is_success=true):「已成功在 FortiAnalyzer 擷取符合指定條件的記錄。」

如果未傳回任何資訊 (is_success=true):「在 FortiAnalyzer 中找不到符合指定條件的記錄。」

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

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等,系統會回報:「執行『搜尋記錄』動作時發生錯誤。Reason: {0}''.format(error.Stacktrace)"

如果回應中回報錯誤:「Error executing action "Search Logs". Reason: {0}''.format(error/message)"

一般

更新快訊

說明

在 FortiAnalyzer 中更新警示。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
快訊 ID 字串 不適用 是 指定要更新的快訊 ID。
確認狀態 DDL

請選取一項

可能的值包括:

  • 請選取一項
  • 確認
  • 取消確認
否 指定警告的確認狀態。
標示為已讀 核取方塊 已取消勾選 否 啟用後,這項動作會將快訊標示為已讀。
指派對象 字串 不適用 否 指定快訊指派對象。

執行日期

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

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success=False
JSON 結果
{
    "alerttime": "1665653864",
    "logcount": "17",
    "alertid": "202210131000040003",
    "adom": "root",
    "epid": "1",
    "epname": "not implemented dev type",
    "subject": "desc:Trim local db",
    "euid": "1",
    "euname": "N/A",
    "devname": "fortianalyzer",
    "logtype": "event",
    "devtype": "FortiAnalyzer",
    "devid": "FAZ-VMTM22013516",
    "vdom": "_self_locallog_",
    "groupby1": "desc:Trim local db",
    "triggername": "Local Device Event",
    "tag": "Default,System,Local",
    "eventtype": "event",
    "severity": "medium",
    "extrainfo": "{ \"msg\": \"Requested to trim database tables older than 60 days to enforce the retention policy of Adom FortiAuthenticator.\" }",
    "ackflag": "no",
    "readflag": "yes",
    "filterkey": "3377053565526629289",
    "firstlogtime": "1665653864",
    "multiflag": "",
    "lastlogtime": "1665653887",
    "updatetime": "1665747977",
    "filtercksum": "2072153473",
    "filterid": "1",
    "assignto": "api_user",
    "ackby": "admin",
    "acktime": "1665747892"
}
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

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

如果傳回資訊 (is_success=true):「已成功在 FortiAnalyzer 中更新 ID 為 {alert id} 的警示。」

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

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

如果找不到快訊:「Error executing action "Update Alert". 原因:在 FortiAnalyzer 中找不到 ID 為 {alert id} 的警示。請檢查拼字。」

如果「確認狀態」參數設為「選取一項」,「標示為已讀」參數設為「False」,且「指派對象」參數未提供任何內容:執行「更新快訊」動作時發生錯誤。原因:至少一個參數 (「確認狀態」、「標示為已讀」或「指派給」) 必須有值。

一般

連接器

FortiAnalyzer - 警告連接器

說明

從 FortiAnalyzer 提取快訊相關資訊。

在 Google SecOps 中設定 FortiAnalyzer - Alerts 連接器

如要瞭解如何在 Google SecOps 中設定連接器,請參閱「設定連接器」一文。

連接器參數

使用下列參數設定連接器:

參數顯示名稱 類型 預設值 為必填項目 說明
產品欄位名稱 字串 siemplify_type 是 輸入來源欄位名稱,擷取產品欄位名稱。
事件欄位名稱 字串 event_type 是 輸入來源欄位名稱,擷取事件欄位名稱。
環境欄位名稱 字串 "" 否

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

如果找不到環境欄位,則環境為預設環境。

環境規則運算式模式 字串 .* 否

要對「環境欄位名稱」欄位中的值執行的規則運算式模式。

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

用於允許使用者透過規則運算式邏輯操控環境欄位。

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

指令碼逾時 (秒) 整數 180 是 執行目前指令碼的 Python 程序逾時限制。
API 根層級 字串 https://{ip address} 是 FortiAnalyzer 執行個體的 API 根目錄。
使用者名稱 字串 不適用 是 FortiAnalyzer 帳戶的使用者名稱。
密碼 密碼 不適用 是 FortiAnalyzer 帳戶的密碼。
要擷取的最低嚴重性 字串 中 否

擷取快訊時,必須使用的最低嚴重性。

可能的值:低、中、高、重大。如未指定,連接器會擷取所有嚴重程度的警告。

往回查看時數上限 整數 1 否 要擷取快訊的時間範圍 (以小時為單位)。
要擷取的警告數量上限 整數 20 否 每個連接器疊代要處理的各類型警告數量。
將動態清單當做黑名單使用 核取方塊 已取消勾選 是 如果啟用,動態清單會做為黑名單使用。
驗證 SSL 核取方塊 已勾選 是 如果啟用,連接器會驗證 FortiAnalyzer 伺服器連線的 SSL 憑證是否有效。
Proxy 伺服器位址 字串 不適用 否 要使用的 Proxy 伺服器位址。
Proxy 使用者名稱 字串 不適用 否 用於驗證的 Proxy 使用者名稱。
Proxy 密碼 密碼 不適用 否 用於驗證的 Proxy 密碼。

連接器規則

Proxy 支援

連接器支援 Proxy。

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