Fortinet FortiSIEM
本文說明如何將 Fortinet FortiSIEM 與 Google Security Operations 整合。
在 Google Security Operations 中設定 Fortinet FortiSIEM 整合
如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」一文。
整合參數
請使用下列參數設定整合:
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| API 根層級 | 字串 | https://x.x.x.x:port | 是 | 指定目標 FortiSIEM 安裝作業的 API 根目錄。 |
| 使用者名稱 | 字串 | 不適用 | 是 | 指定要用於目標 FortiSIEM 安裝作業的使用者名稱。 |
| 密碼 | 密碼 | 不適用 | 是 | 指定要用於目標 FortiSIEM 安裝作業的密碼。 |
| 驗證 SSL | 核取方塊 | 已勾選 | 否 | 如果啟用,Google SecOps 伺服器會檢查憑證是否已設為 API 根。 |
產品用途
- 將 SIEM 的警告擷取至 Google SecOps。
- 使用 SIEM 資料,強化 Google SecOps 警告。
- 將 Google SecOps 快訊的處理狀態同步回 SIEM 端。
動作
乒乓
說明
在 Google SecOps Content Hub 的整合設定頁面,使用提供的參數測試與 FortiSIEM 的連線。
參數
不適用
執行日期
這項動作不會對實體執行,也沒有必要輸入參數。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success=False |
JSON 結果
N/A
實體資料充實
不適用
深入分析
不適用
案件總覽
| 結果類型 | 值/說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果成功:「已成功使用提供的連線參數連線至 FortiSIEM 安裝作業!」 動作應失敗並停止執行應對手冊: >如果未成功:「無法連線至 FortiSIEM 安裝!Error is {0}".format(exception.stacktrace)" |
一般 |
充實實體
說明
使用 Fortinet FortiSIEM CMDB 的資訊擴充實體。支援的實體:主機名稱、IP 位址。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 目標組織 | 字串 | 不適用 | 否 | 指定選用的目標組織名稱,僅在這個組織中尋找擴充資訊。 |
執行日期
這項動作會對下列實體執行:
- 主機名稱
- IP 位址
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success=False |
JSON 結果
[
{
"Entity": "centos-xxx",
"EntityResult": {
"device": {
"organization": {
"@id": "1xx",
"@name": "Super"
},
"accessIp": "172.30.xxx.xxx",
"approved": "true",
"components": null,
"creationMethod": "LOG",
"deviceType": {
"accessProtocols": "TELNET,SSH",
"jobWeight": "10",
"model": "Unix",
"vendor": "Generic",
"version": "ANY"
},
"discoverMethod": "LOG",
"discoverTime": "1640008485000",
"eventParserList": null,
"interfaces": null,
"ipToHostNames": null,
"luns": null,
"name": "centos-xxx",
"naturalId": "centos%2dxxx",
"processors": null,
"properties": {
"customproperty": [
{
"matched": "false",
"propertyDef": {
"displayInCMDB": "false",
"displayName": "Importance",
"groupKey": "false",
"propertyName": "importance",
"subValueType": "STRING",
"valueType": "STRING"
},
"propertyName": "importance",
"propertyValue": "Normal",
"updated": "false"
},
{
"matched": "false",
"propertyDef": {
"displayInCMDB": "false",
"displayName": "Location Name",
"groupKey": "false",
"propertyName": "locationName",
"subValueType": "STRING",
"valueType": "STRING"
},
"propertyName": "locationName",
"updated": "false"
}
]
},
"raidGroups": null,
"sanControllerPorts": null,
"softwarePatches": null,
"softwareServices": null,
"status": "2",
"storageGroups": null,
"storages": null,
"unmanaged": "false",
"updateMethod": "LOG",
"version": "ANY",
"winMachineGuid": null
}
}
},
{
"Entity": "172.30.xxx.xxx",
"EntityResult": {
"device": {
"organization": {
"@id": "1xx",
"@name": "Super"
},
"accessIp": "172.30.xxx.xxx",
"applications": null,
"approved": "true",
"components": null,
"creationMethod": "LOG",
"deviceType": {
"accessProtocols": "TELNET,SSH",
"jobWeight": "10",
"model": "Unix",
"vendor": "Generic",
"version": "ANY"
},
"discoverMethod": "LOG",
"discoverTime": "1640070721000",
"eventParserList": {
"eventparser": {
"deviceType": {
"category": "Appliance",
"jobWeight": "10",
"model": "Generic",
"vendor": "Generic",
"version": "ANY"
},
"enabled": "true",
"name": "SyslogNGParser",
"parserXml": "<patternDefinitions><pattern>..."
}
},
"interfaces": null,
"ipToHostNames": null,
"luns": null,
"name": "centos-xxx",
"naturalId": "centos",
"primaryContactUser": "0",
"processors": null,
"properties": {
"customproperty": [
{
"matched": "false",
"propertyDef": {
"displayInCMDB": "false",
"displayName": "Importance",
"groupKey": "false",
"propertyName": "importance",
"subValueType": "STRING",
"valueType": "STRING"
},
"propertyName": "importance",
"propertyValue": "Mission Critical",
"updated": "false"
},
{
"matched": "false",
"propertyDef": {
"displayInCMDB": "false",
"displayName": "Location Name",
"groupKey": "false",
"propertyName": "locationName",
"subValueType": "STRING",
"valueType": "STRING"
},
"propertyName": "locationName",
"updated": "false"
}
]
},
"raidGroups": null,
"sanControllerPorts": null,
"secondaryContactUser": "0",
"softwarePatches": null,
"softwareServices": null,
"status": "2",
"storageGroups": null,
"storages": null,
"unmanaged": "false",
"updateMethod": "MANUAL",
"version": "ANY",
"winMachineGuid": null
}
}
}
]
實體資料充實
| 補充資料欄位名稱 | 來源 (JSON 金鑰) | 邏輯 - 應用時機 |
|---|---|---|
| accessIp | accessIp | XML 中有提供時 |
| 名稱 | 名稱 | XML 格式 (如有) |
| 應用程式 | 「applications/name」的 CSV | XML 格式 (如有) |
| creationMethod | creationMethod | XML 格式 (如有) |
| deviceType_model | deviceType_model | XML 格式 (如有) |
deviceType_accessProtocols deviceType_vendor |
deviceType_accessProtocols deviceType_vendor |
XML 中有提供時 |
| discoverMethod | discoverMethod | XML 中有提供時 |
| discoverTime | discoverTime | XML 中有提供時 |
深入分析
不適用
案件總覽
| 結果類型 | 值/說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果一個實體有資料 (is_success=true):「已成功使用 FortiSIEM 的資訊擴充下列實體:{entity.identifier}。」 如果無法取得某個實體的資料 (is_success=true):「動作無法使用 FortiSIEM 的資訊充實下列實體:{entity.identifier}。」 如果所有實體都沒有資料 (is_success=false):「提供的實體都沒有擴充資料。」 動作應失敗並停止執行應對手冊: 如果發生嚴重錯誤 (例如憑證錯誤、無法連線至伺服器等),系統會回報:「執行『擴充實體』動作時發生錯誤。原因:{0}''.format(error.Stacktrace) |
一般 |
| 案件總覽表格 | 表格標題:{entity.identifier} 表格欄:
|
實體 |
執行簡易查詢
說明
根據提供的參數執行 FortiSIEM 事件查詢。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 事件類型 | CSV | 不適用 | 否 | 指定查詢應擷取的事件類型。 參數接受多個值,請以半形逗號分隔。 |
| 要擷取的最低嚴重性 | 整數 | 不適用 | 否 | 請以數字指定要擷取至 Google SecOps 的事件嚴重性下限。 範例:5 或 7 |
| 事件類別 | CSV | 不適用 | 否 | 指定查詢應擷取的事件類別。 參數接受多個值,請以半形逗號分隔。 |
| 事件 ID | CSV | 不適用 | 否 | 指定查詢應擷取的確切事件 ID (選用)。 參數接受多個值,請以半形逗號分隔。 |
| 要傳回的欄位 | CSV | 不適用 | 否 | 指定要傳回的欄位。 如未提供,動作會傳回所有欄位。 |
| 排序欄位 | 字串 | phRecvTime | 否 | 指定要用於排序的參數。 |
| 排列順序 | DDL | 遞減 可能的值:
|
否 | 指定排序順序。 |
| 時間範圍 | DDL | 過去 1 小時 可能的值:
|
否 | 指定結果的時間範圍。 如果選取「自訂」,則必須提供「開始時間」參數。 |
| 開始時間 | 字串 | 不適用 | 否 | 指定結果的開始時間。 如果「Time Frame」參數選取「Custom」,則必須提供這項參數。 格式:ISO 8601 例如:2021-04-23T12:38Z |
| 結束時間 | 字串 | 不適用 | 否 | 指定結果的結束時間。 如果未提供任何值,且「Time Frame」參數選取「Custom」,則這個參數會使用目前時間。 格式:ISO 8601 |
| 要傳回的結果數量上限 | 整數 | 50 | 否 | 指定要傳回的結果數量。 |
執行日期
這項動作不會對實體執行。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success=False |
JSON 結果
[
{
"custId": "1",
"attributes": {
"eventType": "Unknown_EventType",
"eventSeverity": "3",
"eventAction": "0 (Permit)",
"phRecvTime": "Wed Dec 29 00:36:55 IST 2021",
"relayDevIpAddr": "172.30.20xxx",
"reptDevIpAddr": "172.30.20xxx",
"destIpAddr": "172.30.20xxx",
"destName": "HOST-172.30.20xxx",
"reptDevName": "centos-xxx",
"reptVendor": "Unknown",
"customer": "Super",
"reptModel": "Unknown",
"rawEventMsg": "<27>Dec 29 00:36:47 centos-xxx aella_flow[5074]: 1902195|aos_afix_json|ERR|Failed to send message: Couldn't connect to server/7",
"collectorId": "1",
"eventId": "4242813061460978xxx",
"phEventCategory": "0 (External)",
"count": "1",
"eventName": "Unknown event type",
"eventParsedOk": "0",
"parserName": "SyslogNGParser"
},
"dataStr": null,
"eventType": "Unknown_EventType",
"id": "4242813061460978xxx",
"index": "0",
"nid": "4242813061460978xxx",
"receiveTime": "2021-12-29T00:36:55+02:00"
}
]
實體資料充實
不適用
深入分析
不適用
案件總覽
| 結果類型 | 值/說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果至少找到部分資料 (is_success=true):「已成功在 FortiSIEM 擷取建構查詢『{query}』的結果。」 如果找不到結果 (is_success=false):「在 FortiSIEM 中找不到與建構查詢『{Query}』相符的結果。」 動作應失敗並停止執行應對手冊: 如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等,系統會回報:「Error executing action "Simple Query". 原因:{0}''.format(error.Stacktrace) 如果「開始時間」參數空白,且「Time Frame」參數設為「Custom」(失敗):「Error executing action "". Reason: "Start Time" should be provided, when "Custom" is selected in the "Time Frame" parameter.」 如果「開始時間」的值大於「結束時間」參數的值 (失敗):「執行動作時發生錯誤。原因:『結束時間』必須晚於『開始時間』。」 |
一般 |
| 資料表 | 資料表名稱:簡單查詢結果 表格欄:回覆中的所有欄 |
一般 |
執行自訂查詢
說明
在 FortiSIEM 中執行自訂查詢。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 查詢 | 字串多行輸入欄位 | (屬性 = 值 OR 值) AND (屬性 = 值 OR 值) | 是 | 指定查詢,用於擷取事件相關資訊。 範例:(relayDevIpAddr = 172.30.202.1 OR 172.30.202.2) AND (reptDevName = HOST1) |
| 要傳回的欄位 | CSV | 否 | 指定要傳回的欄位。 如未提供,動作會傳回所有欄位。 |
|
| 排序欄位 | 字串 | phRecvTime | 否 | 指定要用於排序的參數。 |
| 排列順序 | DDL | 遞減 可能的值:
|
否 | 指定排序順序。 |
| 時間範圍 | DDL | 過去 1 小時 可能的值:
|
否 | 指定結果的時間範圍。 如果選取「自訂」,則必須提供「開始時間」參數。 |
| 開始時間 | 字串 | 不適用 | 否 | 指定結果的開始時間。 如果「Time Frame」參數選取「Custom」,則必須提供這項參數。 格式:ISO 8601 例如:2021-04-23T12:38Z |
| 結束時間 | 字串 | 不適用 | 否 | 指定結果的結束時間。 如果未提供任何值,且「Time Frame」參數選取「Custom」,則這個參數會使用目前時間。 |
| 要傳回的結果數量上限 | 整數 | 50 | 否 | 指定要傳回的結果數量。 |
執行日期
這項動作不會對實體執行。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success=False |
JSON 結果
[
{
"custId": "1",
"attributes": {
"eventType": "Unknown_EventType",
"eventSeverity": "3",
"eventAction": "0 (Permit)",
"phRecvTime": "Wed Dec 29 00:36:55 IST 2021",
"relayDevIpAddr": "172.30.20xxx",
"reptDevIpAddr": "172.30.20xxx",
"destIpAddr": "172.30.20xxx",
"destName": "HOST-172.30.20xxx",
"reptDevName": "centos-xxx",
"reptVendor": "Unknown",
"customer": "Super",
"reptModel": "Unknown",
"rawEventMsg": "<27>Dec 29 00:36:47 centos-xxx aella_flow[5074]: 1902195|aos_afix_json|ERR|Failed to send message: Couldn't connect to server/7",
"collectorId": "1",
"eventId": "4242813061460978xxx",
"phEventCategory": "0 (External)",
"count": "1",
"eventName": "Unknown event type",
"eventParsedOk": "0",
"parserName": "SyslogNGParser"
},
"dataStr": null,
"eventType": "Unknown_EventType",
"id": "4242813061460978xxx",
"index": "0",
"nid": "4242813061460978xxx",
"receiveTime": "2021-12-29T00:36:55+02:00"
}
]
實體資料充實
不適用
深入分析
不適用
案件總覽
| 結果類型 | 值/說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果找到至少部分資料 (is_success=true):「已成功在 FortiSIEM 中擷取所提供查詢『{query}』的結果。」 如果找不到結果 (is_success=false):「在 FortiSIEM 中找不到與所提供查詢『{Query}』相符的結果。」 動作應失敗並停止執行應對手冊: 如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器等,系統會回報:「Error executing action "Simple Query". 原因:{0}''.format(error.Stacktrace) 如果「開始時間」參數空白,且「Time Frame」參數設為「Custom」(失敗):「Error executing action "". Reason: "Start Time" should be provided, when "Custom" is selected in the "Time Frame" parameter.」 如果「開始時間」的值大於「結束時間」參數的值 (失敗):「執行動作時發生錯誤。原因:『結束時間』必須晚於『開始時間』。」 |
一般 |
| 資料表 | 資料表名稱:自訂查詢結果 表格欄:回覆中的所有欄 |
一般 |
連接器
FortiSIEM 事件連接器
連接器說明
連接器可用於擷取 FortiSIEM 事件。連接器許可清單可用於根據事件的「eventType」屬性值,僅擷取特定類型的事件。連接器的 SourceGroupIdentifier 可用於根據事件 ID 將 Google SecOps 警示分組。連接器需要 FortiSIEM 6.3 以上版本。
連接器參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 產品欄位名稱 | 字串 | deviceProduct | 是 | 輸入來源欄位名稱,擷取產品欄位名稱。 |
| 事件欄位名稱 | 字串 | eventType | 是 | 輸入來源欄位名稱,擷取事件欄位名稱。 |
| 環境欄位名稱 | 字串 | 否 | 說明儲存環境名稱的欄位名稱。 如果找不到環境欄位,則環境為預設環境。 |
|
| 環境規則運算式模式 | 字串 | .* | 否 | 要對「環境欄位名稱」欄位中的值執行的規則運算式模式。 預設值為 .*,可擷取所有值並傳回未變更的值。 用於允許使用者透過規則運算式邏輯操控環境欄位。 如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為預設環境。 |
| 指令碼逾時 | 整數 | 300 | 是 | 指定連接器執行的逾時時間。 |
| API 根層級 | 字串 | https:/x.x.x.x:port | 是 | 指定目標 FortiSIEM 安裝作業的 API 根目錄。 |
| 使用者名稱 | 字串 | 不適用 | 是 | 指定要用於目標 FortiSIEM 安裝作業的使用者名稱。 |
| 密碼 | 密碼 | 不適用 | 是 | 指定要用於目標 FortiSIEM 安裝作業的密碼。 |
| 驗證 SSL | 核取方塊 | 已勾選 | 否 | 如果啟用,Google SecOps 伺服器會檢查為 API 根目錄設定的憑證。 |
| 目標組織 | CSV | 不適用 | 否 | 指定連接器應擷取哪些組織的事件。 參數接受多個值,請以半形逗號分隔。 |
| 往回調整時數上限 | 整數 | 24 | 是 | 指定時間範圍,擷取過去 X 小時內的事件。 |
| 每個週期事件數量上限 | 整數 | 10 | 是 | 指定連接器執行一次時應處理的事件數量。 |
| 每項事件的事件數量上限 | 整數 | 100 | 是 | 指定連接器應追蹤的事件數量上限。 達到上限後,系統就不會將新事件新增至 Google SecOps。 |
| 要擷取的事件狀態 | CSV | 0 | 否 | 指定要擷取至 Google SecOps 的事件狀態。 參數接受多個值,請以半形逗號分隔。 0 代表未解決的事件。 |
| 要擷取的最低嚴重性 | 整數 | 不適用 | 否 | 指定要擷取至 Google SecOps 的最低事件嚴重性,請以數字表示,例如 5 或 7。 |
| 將許可清單當做黑名單使用 | 核取方塊 | 已取消勾選 | 是 | 如果啟用,許可清單會做為黑名單使用。 |
| 追蹤已擷取事件中新增的事件 | 核取方塊 | 已勾選 | 是 | 如果啟用,當新事件新增至已擷取的 FortiSIEM 事件時,Google SecOps 會建立含有這些新事件的新快訊。 |
| 追蹤新事件門檻 (小時) | 整數 | 24 | 是 | 如果勾選「追蹤新增至已擷取事件的新事件」核取方塊,請指定連接器應追蹤已擷取事件的新事件時數上限。 達到上限後,系統就不會將新事件新增至 Google SecOps。 |
| Proxy 伺服器位址 | 字串 | 不適用 | 否 | 指定要使用的 Proxy 伺服器位址。 |
| Proxy 使用者名稱 | 字串 | 不適用 | 否 | 指定要用於驗證的 Proxy 使用者名稱。 |
| Proxy 密碼 | 密碼 | 不適用 | 否 | 指定用於驗證的 Proxy 密碼。 |
連接器規則
Proxy 支援
連接器支援 Proxy。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。