Tenable Security Center

整合版本:15.0

將 Tenable Security Center 與 Google Security Operations 整合

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

整合輸入內容

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

參數
Server Address 必要

整合作業中使用的 Tenable Security Center 伺服器位址。

Username 必要

登入 Tenable Security Center 伺服器的使用者名稱。

Password 必要

登入 Tenable Security Center 伺服器時要使用的密碼。

Verify SSL 選用

如果選取這個選項,系統會驗證連線至 Tenable 伺服器的 SSL 憑證是否有效。

預設為選取。

動作

將 IP 新增至 IP 清單資產

在 Tenable Security Center 中,將 IP 新增至 IP 清單資產。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
資產名稱 字串 不適用 指定要新增 IP 的 IP 清單資產名稱。

執行日期

這項操作會對 IP 位址實體執行。

動作結果

指令碼結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果
{
    "type": "regular",
    "response": {
        "id": "41",
        "name": "api_test_5",
        "type": "static",
        "description": "",
        "tags": "qweqwe",
        "context": "",
        "status": "0",
        "createdTime": "1606129689",
        "modifiedTime": "1606129689",
        "ioSyncStatus": "Not Synced",
        "ioFirstSyncTime": "-1",
        "ioLastSyncSuccess": "-1",
        "ioLastSyncFailure": "-1",
        "ioSyncErrorDetails": null,
        "typeFields": {
            "definedIPs": "203.0.113.1,203.0.113.10"
        },
        "repositories": [
            {
                "ipCount": "-1",
                "repository": {
                    "id": "1",
                    "name": "Example-Repository",
                    "description": ""
                }
            }
        ],
        "ipCount": -1,
        "groups": [],
        "assetDataFields": [],
        "canUse": "true",
        "canManage": "true",
        "creator": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "owner": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "ownerGroup": {
            "id": "0",
            "name": "Full Access",
            "description": "Full Access group"
        },
        "targetGroup": {
            "id": -1,
            "name": "",
            "description": ""
        },
        "template": {
            "id": -1,
            "name": "",
            "description": ""
        }
    },
    "error_code": 0,
    "error_msg": "",
    "warnings": [],
    "timestamp": 1606129688
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止劇本執行:
如果靜態程式碼 200(is_success = true):print "Successfully added the following IPs to the IP List Asset {0} in Tenable Security Center:\n{1}".format(name, entity.identifier)

如果沒有 IP 實體:沒有 IP 位址新增至 IP 清單資產 {0}.format(name)

動作應會失敗,並停止執行劇本:
如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他問題:print "Error executing action "Add IP to IP List Asset". 原因: {0}''.format(error.Stacktrace)


如果找不到資產:列印「Error executing action "Add IP to IP List Asset"」。原因:在 Tenable Security Center 中找不到資產「{0}」。 ''.format(error.Stacktrace)

如果不是靜態代碼 200 (is_success = false):print "Error executing action "Add IP to IP List Asset". Reason: {0}''.format(error_msg)

一般

建立 IP 位址清單素材資源

在 Tenable Security Center 中建立 IP 清單資產。至少需要一個 IP 實體才能順利執行。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
名稱 字串 不適用 指定 IP 清單資產的名稱。
說明 字串 不適用 指定 IP 清單資產的說明。
標記 字串 不適用 指定 IP 清單資產的標記。

執行日期

這項操作會對 IP 位址實體執行。

動作結果

指令碼結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果
{
    "type": "regular",
    "response": {
        "id": "41",
        "name": "api_test_5",
        "type": "static",
        "description": "",
        "tags": "qweqwe",
        "context": "",
        "status": "0",
        "createdTime": "1606129689",
        "modifiedTime": "1606129689",
        "ioSyncStatus": "Not Synced",
        "ioFirstSyncTime": "-1",
        "ioLastSyncSuccess": "-1",
        "ioLastSyncFailure": "-1",
        "ioSyncErrorDetails": null,
        "typeFields": {
            "definedIPs": "203.0.113.1,203.0.113.10"
        },
        "repositories": [
            {
                "ipCount": "-1",
                "repository": {
                    "id": "1",
                    "name": "Example-Repository",
                    "description": ""
                }
            }
        ],
        "ipCount": -1,
        "groups": [],
        "assetDataFields": [],
        "canUse": "true",
        "canManage": "true",
        "creator": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "owner": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "ownerGroup": {
            "id": "0",
            "name": "Full Access",
            "description": "Full Access group"
        },
        "targetGroup": {
            "id": -1,
            "name": "",
            "description": ""
        },
        "template": {
            "id": -1,
            "name": "",
            "description": ""
        }
    },
    "error_code": 0,
    "error_msg": "",
    "warnings": [],
    "timestamp": 1606129688
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不得失敗,也不得停止劇本執行:
If static code 200(is_success = true): print "Successfully created new IP List Asset {0} with the following IPs in Tenable Security Center:\n{1}".format(name, entity.identifier)

如果沒有 IP 實體:請列印「至少應有 1 個 IP 實體,才能建立 IP 清單資產」。


動作應會失敗並停止執行劇本:
如果發生嚴重錯誤 (例如憑證錯誤、無法連線至伺服器等),請列印「Error executing action "Create IP List Asset"」。原因:{0}''.format(error.Stacktrace)

如果不是靜態代碼 200 (is_success = false):請列印「Error executing action 'Create IP List Asset'」(執行「建立 IP 位址清單資產」動作時發生錯誤)。Reason: {0}''.format(error_msg)

一般

充實 IP

取得 IP 位址相關資訊並加以擴充。

參數

參數 類型 預設值 說明
存放區名稱 字串 不適用 存放區名稱。

執行日期

這項操作會對 IP 位址實體執行。

動作結果

實體充實
補充資料欄位名稱 邏輯 - 應用時機
macAddress 如果 JSON 結果中存在該值,則傳回該值
severityLow 如果 JSON 結果中存在該值,則傳回該值
links 如果 JSON 結果中存在該值,則傳回該值
ip 如果 JSON 結果中存在該值,則傳回該值
上次掃描 如果 JSON 結果中存在該值,則傳回該值
severityCritical 如果 JSON 結果中存在該值,則傳回該值
總計 如果 JSON 結果中存在該值,則傳回該值
severityAll 如果 JSON 結果中存在該值,則傳回該值
mcafeeGUID 如果 JSON 結果中存在該值,則傳回該值
policyName 如果 JSON 結果中存在該值,則傳回該值
uuid 如果 JSON 結果中存在該值,則傳回該值
lastAuthRun 如果 JSON 結果中存在該值,則傳回該值
severityInfo 如果 JSON 結果中存在該值,則傳回該值
osCPE 如果 JSON 結果中存在該值,則傳回該值
獨特性 如果 JSON 結果中存在該值,則傳回該值
dnsName 如果 JSON 結果中存在該值,則傳回該值
存放區 如果 JSON 結果中存在該值,則傳回該值
ip 如果 JSON 結果中存在該值,則傳回該值
說明 如果 JSON 結果中存在該值,則傳回該值
名稱 如果 JSON 結果中存在該值,則傳回該值
lastUnauthRun 如果 JSON 結果中存在該值,則傳回該值
biosGUID 如果 JSON 結果中存在該值,則傳回該值
tpmID 如果 JSON 結果中存在該值,則傳回該值
分數 如果 JSON 結果中存在該值,則傳回該值
hasPassive 如果 JSON 結果中存在該值,則傳回該值
pluginSet 如果 JSON 結果中存在該值,則傳回該值
hasCompliance 如果 JSON 結果中存在該值,則傳回該值
severityHigh 如果 JSON 結果中存在該值,則傳回該值
netbiosName 如果 JSON 結果中存在該值,則傳回該值
severityMedium 如果 JSON 結果中存在該值,則傳回該值
os 如果 JSON 結果中存在該值,則傳回該值
指令碼結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果
[
{
"EntityResult":
{
"macAddress": "",
"severityLow": "0",
"links": [],
"ip": "203.0.113.1",
"lastScan": "1549425224",
"severityCritical": "0",
"total": "2",
"severityAll": "0,0,0,0,2",
"mcafeeGUID": "",
"policyName": "1e2e4247-0de7-56d5-8026-34ab1f3150ef-1130313/Basic Discovery Scan",
"uuid": "",
"lastAuthRun": "",
"severityInfo": "2",
"osCPE": "",
"uniqueness": "repositoryID,ip,dnsName",
 "dnsName": "example.com",
"repository":
          {
"id": "1",
"description": "",
"name": "repository"
          },
"lastUnauthRun": "1549363419",
"biosGUID": "",
"tpmID": "",
"score": "0",
"hasPassive": "No",
"pluginSet": "201902020242",
"hasCompliance": "No",
"severityHigh": "0",
"netbiosName": "",
"severityMedium": "0",
"os": ""
},
"Entity": "203.0.113.1"
}
]

取得與 IP 位址相關的資產。

參數

參數 類型 預設值 說明
存放區名稱 字串 不適用 存放區名稱。

執行日期

這項操作會對 IP 位址實體執行。

動作結果

實體充實
補充資料欄位名稱 邏輯 - 應用時機
id 如果 JSON 結果中存在該值,則傳回該值
名稱 如果 JSON 結果中存在該值,則傳回該值
指令碼結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果
[
{
"EntityResult":
[
{
"id": "0",
"description": "All defining ranges of the Group in whose context this Asset is being evaluated.",
"name": "All Defined Ranges"
}, {
"id": "2",
"description": "This asset uses the Scan Summary plugin to detect if a host has been scanned by Nessus. The Scan Summary plugin contains the list of tests conducted during the most recent scan.",
"name": "Systems that have been Scanned"
}, {
"id": "13",
"description": "Leverage Nessus plugin 10180 (Ping the remote host) and Nessus plugin 12503 (Host Fully Qualified Domain Name (FQDN) Resolution) to find hosts that don't have a resolvable FQDN in DNS.",
"name": "Scanned Hosts Not in DNS"
}
],
"Entity": "203.0.113.1"
}
]

取得報告

依 ID 或名稱取得報表內容。

參數

參數 類型 預設值 說明
報告 ID 字串 不適用 報告 ID 編號。可在報告網址中找到。

執行時間

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

動作結果

指令碼結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果
{
"pubSites":
[
"https://example.com",
"https://example.net"
]
}

取得掃描結果

等待掃描完成並取得掃描結果。

參數

參數 類型 預設值 說明
掃描結果 ID

字串

不適用 掃描結果 ID。

執行日期

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

動作結果

指令碼結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果

{
"severity_summary":
[
{
"count": "0",
"severity":
{
"id": "4",
"name": "Critical",
"description": "Critical Severity"
}
}, {
"count": "0",
"severity":
{
"id": "3",
"name": "High",
"description": "High Severity"
}
}, {
"count": "3",
"severity":
{"id": "2",
"name": "Medium",
"description": "Medium Severity"
}}
],
"results":
[
{
"name": "DNS Server Recursive Query Cache Poisoning Weakness",
"family": "DNS",
"hostTotal": "1",
"pluginID": "10539",
"total": "1",
"severity": "Medium"
}, {
"name": "DNS Server Spoofed Request Amplification DDoS",
"family": "DNS",
"hostTotal": "1",
"pluginID": "35450",
"total": "1",
"severity": "Medium"
}, {
"name": "SSL Medium Strength Cipher Suites Supported",
"family": "General",
"hostTotal": "1",
"pluginID": "42873",
"total": "1",
"severity": "Medium"
}
]
}

取得 IP 的安全漏洞

取得 IP 位址的安全漏洞和嚴重程度摘要。

參數

不適用

執行日期

這項操作會對 IP 位址實體執行。

動作結果

實體充實
補充資料欄位名稱 邏輯 - 應用時機
macAddress 如果 JSON 結果中存在該值,則傳回該值
通訊協定 如果 JSON 結果中存在該值,則傳回該值
uuid 如果 JSON 結果中存在該值,則傳回該值
系列 如果 JSON 結果中存在該值,則傳回該值
pluginInfo 如果 JSON 結果中存在該值,則傳回該值
ip 如果 JSON 結果中存在該值,則傳回該值
pluginID 如果 JSON 結果中存在該值,則傳回該值
嚴重性 如果 JSON 結果中存在該值,則傳回該值
存放區 如果 JSON 結果中存在該值,則傳回該值
獨特性 如果 JSON 結果中存在該值,則傳回該值
dnsName 如果 JSON 結果中存在該值,則傳回該值
通訊埠 如果 JSON 結果中存在該值,則傳回該值
netbiosName 如果 JSON 結果中存在該值,則傳回該值
名稱

如果 JSON 結果中存在,則傳回

指令碼結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果
[
{
"EntityResult":
[
{
"macAddress": "",
"protocol": "TCP",
"uuid": "",
"family": "Web Servers",
"pluginInfo": "10107 (443/6) HTTP Server Type and Version",
"ip": "203.0.113.1",
"pluginID": "10107",
"severity": "Info",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "example.com",
"port": "443",
"netbiosName": "",
"name": "HTTP Server Type and Version"
}, {
"macAddress": "",
"protocol": "UDP",
"uuid": "",
"family": "DNS",
"pluginInfo": "10539 (53/17) DNS Server Recursive Query Cache Poisoning Weakness",
"ip": "203.0.113.1",
"pluginID": "10539",
"severity": "Medium",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "exaample.com",
"port": "53",
"netbiosName": "",
"name": "DNS Server Recursive Query Cache Poisoning Weakness"
}, {
"macAddress": "",
"protocol": "TCP",
"uuid": "",
"family": "General",
"pluginInfo": "10863 (443/6) SSL Certificate Information",
"ip": "203.0.113.1",
"pluginID": "10863",
"severity": "Info",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "example.com",
"port": "443",
"netbiosName": "",
"name": "SSL Certificate Information"
}
],
"Entity": "203.0.113.1"
}
]

乒乓

測試連線。

執行日期

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

動作結果

指令碼結果
指令碼結果名稱 價值選項 示例
null 不適用 不適用

掃描 IP

開始掃描 IP 位址。

參數

參數 類型 預設值 說明
掃描作業名稱 字串 不適用 要建立的掃描名稱。
政策名稱 字串 不適用 政策名稱。

執行日期

這項操作會對 IP 位址實體執行。

動作結果

指令碼結果
指令碼結果名稱 價值選項 示例
scan_result_id 不適用 不適用

執行資產掃描

在 Tenable Security Center 中執行資產掃描。

如何查看政策 ID 和存放區 ID

政策 ID:

  1. 前往 https://INSTANCE_IP_ADDRESS/#policies
  2. 選取要使用的政策。
  3. 網址中會顯示該政策的 ID。

存放區 ID:

  1. 前往 https://INSTANCE_IP_ADDRESS/#repositories
  2. 選取要在動作中使用的存放區。
  3. 網址中會顯示該存放區的 ID。

參數

參數顯示名稱 類型 預設值 是否為必要項目 說明
掃描作業名稱 不適用 指定掃描名稱。
資產名稱 字串 不適用 指定要掃描的資產名稱。
政策 ID 整數 不適用 指定掃描時應使用的政策 ID。
存放區 ID 整數 不適用 指定掃描作業應使用的存放區 ID。
說明 字串 不適用 指定掃描作業的說明。

執行日期

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

動作結果

指令碼結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果
{
    "type": "regular",
    "response": {
        "id": "11",
        "name": "Scan Name",
        "description": "",
        "ipList": "",
        "type": "policy",
        "dhcpTracking": "false",
        "classifyMitigatedAge": "0",
        "emailOnLaunch": "false",
        "emailOnFinish": "false",
        "timeoutAction": "import",
        "scanningVirtualHosts": "false",
        "rolloverType": "template",
        "status": "0",
        "createdTime": "1606132784",
        "modifiedTime": "1606132784",
        "maxScanTime": "3600",
        "reports": [],
        "assets": [
            {
                "id": "38",
                "name": "api_test_1",
                "description": ""
            }
        ],
        "credentials": [],
        "numDependents": "0",
        "schedule": {
            "id": -1,
            "objectType": -1,
            "type": "now",
            "start": "",
            "repeatRule": "",
            "enabled": "true",
            "nextRun": -1,
            "dependent": {
                "id": -1,
                "name": "",
                "description": ""
            }
        },
        "policy": {
            "id": "1000002",
            "context": "",
            "name": "Host Discovery",
            "description": "",
            "tags": "",
            "owner": {
                "id": "1",
                "username": "security_manager",
                "firstname": "Manager",
                "lastname": "Security"
            },
            "ownerGroup": {
                "id": "0",
                "name": "Full Access",
                "description": "Full Access group"
            }
        },
        "policyPrefs": [
            {
                "name": "MODE|discovery",
                "value": "host_enumeration"
            },
            {
                "name": "description",
                "value": ""
            },
            {
                "name": "display_unreachable_hosts",
                "value": "no"
            },
            {
                "name": "log_live_hosts",
                "value": "yes"
            },
            {
                "name": "name",
                "value": "Host Discovery"
            },
            {
                "name": "reverse_lookup",
                "value": "no"
            }
        ],
        "repository": {
            "id": "1",
            "name": "Example-Repository",
            "description": ""
        },
        "canUse": "true",
        "canManage": "true",
        "plugin": {
            "id": -1,
            "name": "",
            "description": ""
        },
        "zone": {
            "id": -1,
            "name": "",
            "description": ""
        },
        "ownerGroup": {
            "id": "0",
            "name": "Full Access",
            "description": "Full Access group"
        },
        "creator": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "owner": {
            "id": "1",
            "username": "security_manager",
            "firstname": "Manager",
            "lastname": "Security"
        },
        "scanResultID": "34"
    },
    "error_code": 0,
    "error_msg": "",
    "warnings": [],
    "timestamp": 1606132783
}
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不得失敗,也不得停止劇本執行:
如果靜態程式碼 200(is_success = true):print "Successfully started asset scan {0} in Tenable Security Center.".format(name)

動作應會失敗並停止執行劇本:
如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:請列印「Error executing action "Run Asset Scan"」。原因:{0}''.format(error.Stacktrace)

如果找不到資產:列印「執行動作『執行資產掃描』時發生錯誤。原因:在 Tenable Security Center 中找不到資產「{0}」。''.format(name)

如果不是靜態代碼 200 (is_success = false):請列印「執行『執行資產掃描』動作時發生錯誤。Reason:{0}".format(error_msg)

一般

連接器

Tenable Security Center 連接器

如需在 Google SecOps 中設定連接器的詳細操作說明,請參閱設定連接器

連接器參數

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

參數 類型 預設值 說明
DeviceProductField 字串 device_product 用來判斷裝置產品的欄位名稱。
EventClassId 字串 名稱 用於判斷事件名稱 (子類型) 的欄位名稱。
PythonProcessTimeout 字串 60 執行目前指令碼的 Python 程序逾時限制 (以秒為單位)。
伺服器位址 字串 null 不適用
使用者名稱 字串 null 不適用
密碼 密碼 null 不適用
使用 SSL 核取方塊 已取消勾選 不適用
最多可回溯的天數 整數 1 要擷取資料的天數 (從今天回溯)。
每個週期上限 整數 10 每個執行週期擷取至連接器的快訊數量。
Proxy 伺服器位址 字串 null 要使用的 Proxy 伺服器位址。
Proxy 使用者名稱 字串 null 用於驗證的 Proxy 使用者名稱。
Proxy 密碼 密碼 null 用於驗證的 Proxy 密碼。

連接器規則

連接器支援 Proxy。

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