Tenable Security Center
Versione integrazione: 15.0
Integra Tenable Security Center con Google Security Operations
Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps, vedi Configurare le integrazioni.
Input di integrazione
Per configurare l'integrazione, utilizza i seguenti parametri:
| Parametri | |
|---|---|
Server Address |
Obbligatorio L'indirizzo del server Tenable Security Center da utilizzare nell'integrazione. |
Username |
Obbligatorio Nome utente per accedere al server Tenable Security Center. |
Password |
Obbligatorio Password per accedere al server Tenable Security Center. |
Verify SSL |
Optional Se selezionata, verifica che il certificato SSL per la connessione al server Tenable sia valido. Selezionata per impostazione predefinita. |
Azioni
Aggiungere un asset elenco IP-IP
Aggiungi un asset elenco IP a IP in Tenable Security Center.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Nome risorsa | Stringa | N/D | Sì | Specifica il nome dell'asset elenco IP a cui vuoi aggiungere nuovi IP. |
Pubblica su
Questa azione viene eseguita sull'entità Indirizzo IP.
Risultati dell'azione
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato 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
}
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:
Se non sono presenti entità IP: non sono stati aggiunti indirizzi IP all'asset elenco IP {0}.format(name)
Se non è codice statico 200 (is_success = false): stampa "Errore durante l'esecuzione dell'azione "Aggiungi IP all'asset Elenco IP". Motivo: {0}''.format(error_msg) |
Generale |
Crea asset elenco IP
Crea un asset elenco IP in Tenable Security Center. Richiede almeno un'entità IP per l'esecuzione corretta.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Nome | Stringa | N/D | Sì | Specifica il nome della risorsa elenco IP. |
| Descrizione | Stringa | N/D | No | Specifica la descrizione dell'asset elenco IP. |
| Tag | Stringa | N/D | No | Specifica il tag dell'asset elenco IP. |
Pubblica su
Questa azione viene eseguita sull'entità Indirizzo IP.
Risultati dell'azione
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato 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
}
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:
Se non sono presenti entità IP, stampa "Per creare un asset elenco IP deve essere disponibile almeno un'entità IP".
Se non è codice statico 200 (is_success = false): stampa "Error executing action "Create IP List Asset". Motivo: {0}''.format(error_msg) |
Generale |
Arricchisci IP
Ottieni informazioni sugli indirizzi IP e arricchiscile.
Parametri
| Parametro | Tipo | Valore predefinito | Descrizione |
|---|---|---|---|
| Nome repository | Stringa | N/D | Il nome del repository. |
Pubblica su
Questa azione viene eseguita sull'entità Indirizzo IP.
Risultati dell'azione
Arricchimento delle entità
| Nome campo di arricchimento | Logica: quando applicarla |
|---|---|
| macAddress | Restituisce se esiste nel risultato JSON |
| severityLow | Restituisce se esiste nel risultato JSON |
| link | Restituisce se esiste nel risultato JSON |
| ip | Restituisce se esiste nel risultato JSON |
| ultima scansione | Restituisce se esiste nel risultato JSON |
| severityCritical | Restituisce se esiste nel risultato JSON |
| totale | Restituisce se esiste nel risultato JSON |
| severityAll | Restituisce se esiste nel risultato JSON |
| mcafeeGUID | Restituisce se esiste nel risultato JSON |
| policyName | Restituisce se esiste nel risultato JSON |
| uuid | Restituisce se esiste nel risultato JSON |
| lastAuthRun | Restituisce se esiste nel risultato JSON |
| severityInfo | Restituisce se esiste nel risultato JSON |
| osCPE | Restituisce se esiste nel risultato JSON |
| unicità | Restituisce se esiste nel risultato JSON |
| dnsName | Restituisce se esiste nel risultato JSON |
| repository | Restituisce se esiste nel risultato JSON |
| ip | Restituisce se esiste nel risultato JSON |
| descrizione | Restituisce se esiste nel risultato JSON |
| nome | Restituisce se esiste nel risultato JSON |
| lastUnauthRun | Restituisce se esiste nel risultato JSON |
| biosGUID | Restituisce se esiste nel risultato JSON |
| tpmID | Restituisce se esiste nel risultato JSON |
| punteggio | Restituisce se esiste nel risultato JSON |
| hasPassive | Restituisce se esiste nel risultato JSON |
| pluginSet | Restituisce se esiste nel risultato JSON |
| hasCompliance | Restituisce se esiste nel risultato JSON |
| severityHigh | Restituisce se esiste nel risultato JSON |
| netbiosName | Restituisce se esiste nel risultato JSON |
| severityMedium | Restituisce se esiste nel risultato JSON |
| os | Restituisce se esiste nel risultato JSON |
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato 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"
}
]
Recupera asset correlati
Ottieni asset correlati a un indirizzo IP.
Parametri
| Parametro | Tipo | Valore predefinito | Descrizione |
|---|---|---|---|
| Nome repository | Stringa | N/D | Il nome del repository. |
Pubblica su
Questa azione viene eseguita sull'entità Indirizzo IP.
Risultati dell'azione
Arricchimento delle entità
| Nome campo di arricchimento | Logica: quando applicarla |
|---|---|
| id | Restituisce se esiste nel risultato JSON |
| nome | Restituisce se esiste nel risultato JSON |
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato 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"
}
]
Scarica report
Recupera i contenuti del report per ID o nome.
Parametri
| Parametro | Tipo | Valore predefinito | Descrizione |
|---|---|---|---|
| ID report | Stringa | N/D | Numero ID report.Si trova nell'URL del report. |
Run On
Questa azione viene eseguita su tutte le entità.
Risultati dell'azione
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato JSON
{
"pubSites":
[
"https://example.com",
"https://example.net"
]
}
Recuperare i risultati della scansione
Attendi il completamento della scansione e ottieni i risultati.
Parametri
| Parametro | Tipo | Valore predefinito | Descrizione |
|---|---|---|---|
| ID risultato scansione | Stringa |
N/D | L'ID dei risultati della scansione. |
Pubblica su
Questa azione viene eseguita su tutte le entità.
Risultati dell'azione
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato 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"
}
]
}
Ottieni le vulnerabilità per l'IP
Ottieni un riepilogo delle vulnerabilità e della gravità per un indirizzo IP.
Parametri
N/D
Pubblica su
Questa azione viene eseguita sull'entità Indirizzo IP.
Risultati dell'azione
Arricchimento delle entità
| Nome campo di arricchimento | Logica: quando applicarla |
|---|---|
| macAddress | Restituisce se esiste nel risultato JSON |
| protocollo | Restituisce se esiste nel risultato JSON |
| uuid | Restituisce se esiste nel risultato JSON |
| famiglia | Restituisce se esiste nel risultato JSON |
| pluginInfo | Restituisce se esiste nel risultato JSON |
| ip | Restituisce se esiste nel risultato JSON |
| pluginID | Restituisce se esiste nel risultato JSON |
| gravità | Restituisce se esiste nel risultato JSON |
| repository | Restituisce se esiste nel risultato JSON |
| unicità | Restituisce se esiste nel risultato JSON |
| dnsName | Restituisce se esiste nel risultato JSON |
| porta | Restituisce se esiste nel risultato JSON |
| netbiosName | Restituisce se esiste nel risultato JSON |
| nome | Restituisce il valore se esiste nel risultato JSON |
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato 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"
}
]
Dindin
Testa la connettività.
Pubblica su
Questa azione viene eseguita su tutte le entità.
Risultati dell'azione
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| null | N/D | N/D |
Scansiona IP
Avvia una scansione degli indirizzi IP.
Parametri
| Parametro | Tipo | Valore predefinito | Descrizione |
|---|---|---|---|
| Nome scansione | Stringa | N/D | Il nome della scansione da creare. |
| Nome del criterio | Stringa | N/D | Il nome della policy. |
Pubblica su
Questa azione viene eseguita sull'entità Indirizzo IP.
Risultati dell'azione
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| scan_result_id | N/D | N/D |
Esegui scansione asset
Esegui la scansione degli asset in Tenable Security Center.
Dove trovare l'ID criterio e l'ID repository
Per l'ID norma:
- Vai a
https://INSTANCE_IP_ADDRESS/#policies. - Seleziona il criterio che vuoi utilizzare in azione.
- Nell'URL, potrai visualizzare un ID di queste norme.
Per l'ID repository:
- Vai a
https://INSTANCE_IP_ADDRESS/#repositories. - Seleziona il repository che vuoi utilizzare nell'azione.
- Nell'URL potrai visualizzare un ID del repository.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | È obbligatorio | Descrizione |
|---|---|---|---|---|
| Nome scansione | N/D | Sì | Specifica il nome della scansione. | |
| Nome risorsa | Stringa | N/D | Sì | Specifica il nome dell'asset da analizzare. |
| ID policy | Numero intero | N/D | Sì | Specifica l'ID della policy da utilizzare nella scansione. |
| ID repository | Numero intero | N/D | Sì | Specifica l'ID del repository da utilizzare nella scansione. |
| Descrizione | Stringa | N/D | No | Specifica la descrizione della scansione. |
Pubblica su
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato dello script
| Nome del risultato dello script | Opzioni di valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Risultato 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
}
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:
L'azione deve non riuscire e interrompere l'esecuzione di un playbook: Se l'asset non è stato trovato: stampa "Errore durante l'esecuzione dell'azione "Esegui scansione asset". Motivo: l'asset {0} non è stato trovato in Tenable Security Center. ''.format(name) Se non è il codice statico 200 (is_success = false): stampa "Error executing action "Run Asset Scan". Motivo:{0}".format(error_msg) |
Generale |
Connettori
Connettore Tenable Security Center
Per istruzioni dettagliate su come configurare un connettore in Google SecOps, vedi Configurazione del connettore.
Parametri del connettore
Utilizza i seguenti parametri per configurare il connettore:
| Parametro | Tipo | Valore predefinito | Descrizione |
|---|---|---|---|
| DeviceProductField | Stringa | device_product | Il nome del campo utilizzato per determinare il prodotto del dispositivo. |
| EventClassId | Stringa | nome | Il nome del campo utilizzato per determinare il nome dell'evento (sottotipo). |
| PythonProcessTimeout | Stringa | 60 | Il limite di timeout (in secondi) per il processo Python che esegue lo script corrente. |
| Indirizzo del server | Stringa | null | N/D |
| Nome utente | Stringa | null | N/D |
| Password | Password | null | N/D |
| Use SSL (Usa SSL) | Casella di controllo | Deselezionata | N/D |
| Max Days Backwards | Numero intero | 1 | Il numero di giorni precedenti a partire dai quali vuoi recuperare i dati. |
| Limite per ciclo | Numero intero | 10 | La quantità di avvisi importati nel connettore in ogni ciclo di esecuzione. |
| Indirizzo del server proxy | Stringa | null | L'indirizzo del server proxy da utilizzare. |
| Nome utente proxy | Stringa | null | Il nome utente del proxy con cui eseguire l'autenticazione. |
| Password proxy | Password | null | La password del proxy per l'autenticazione. |
Regole del connettore
Il connettore supporta i proxy.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.