Tenable Security Center
Versão da integração: 15.0
Integre o Tenable Security Center com o Google Security Operations
Para obter instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte o artigo Configure integrações.
Entradas de integração
Para configurar a integração, use os seguintes parâmetros:
| Parâmetros | |
|---|---|
Server Address |
Obrigatório O endereço do servidor do Tenable Security Center a usar na integração. |
Username |
Obrigatório Nome de utilizador para iniciar sessão no servidor do Tenable Security Center. |
Password |
Obrigatório Palavra-passe para iniciar sessão no servidor do Tenable Security Center. |
Verify SSL |
Opcional Se selecionada, verifica se o certificado SSL para a ligação ao servidor Tenable é válido. Selecionado por predefinição. |
Ações
Adicione um IP ao recurso de lista de IPs
Adicione um IP a um recurso de lista de IPs no Tenable Security Center.
Parâmetros
| Nome a apresentar do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
|---|---|---|---|---|
| nome do recurso | String | N/A | Sim | Especifique o nome do recurso de lista de IPs ao qual quer adicionar novos IPs. |
É apresentado em
Esta ação é executada na entidade de endereço IP.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success:False |
Resultado 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
}
Parede da caixa
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não deve falhar nem parar a execução de um playbook:
Se não existirem entidades de IP: não foram adicionados endereços IP ao recurso de lista de IPs {0}.format(name)
Se não for código estático 200 (is_success = false): print "Erro ao executar a ação "Adicionar IP ao recurso de lista de IPs". Motivo: {0}''.format(error_msg) |
Geral |
Crie um recurso de lista de IPs
Crie um recurso de lista de IPs no Tenable Security Center. Requer, pelo menos, uma entidade de IP para uma execução bem-sucedida.
Parâmetros
| Nome a apresentar do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
|---|---|---|---|---|
| Nome | String | N/A | Sim | Especifique o nome do recurso de lista de IPs. |
| Descrição | String | N/A | Não | Especifique a descrição do recurso de lista de IPs. |
| Etiqueta | String | N/A | Não | Especifique a etiqueta do recurso de lista de IPs. |
É apresentado em
Esta ação é executada na entidade de endereço IP.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success:False |
Resultado 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
}
Parede da caixa
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não deve falhar nem parar a execução de um playbook:
Se não existirem entidades de IP: imprima "Tem de ter, pelo menos, 1 entidade de IP para criar um recurso de lista de IPs".
Se não for o código estático 200 (is_success = false): imprima "Erro ao executar a ação "Criar recurso de lista de IPs". Motivo: {0}''.format(error_msg) |
Geral |
Enriquecer IP
Obtenha informações sobre endereços IP e enriqueça-as.
Parâmetros
| Parâmetro | Tipo | Valor predefinido | Descrição |
|---|---|---|---|
| Nome do repositório | String | N/A | O nome do repositório. |
É apresentado em
Esta ação é executada na entidade de endereço IP.
Resultados da ação
Enriquecimento de entidades
| Nome do campo de enriquecimento | Lógica: quando aplicar |
|---|---|
| macAddress | Devolve se existir no resultado JSON |
| severityLow | Devolve se existir no resultado JSON |
| links | Devolve se existir no resultado JSON |
| ip | Devolve se existir no resultado JSON |
| última análise | Devolve se existir no resultado JSON |
| severityCritical | Devolve se existir no resultado JSON |
| total | Devolve se existir no resultado JSON |
| severityAll | Devolve se existir no resultado JSON |
| mcafeeGUID | Devolve se existir no resultado JSON |
| policyName | Devolve se existir no resultado JSON |
| uuid | Devolve se existir no resultado JSON |
| lastAuthRun | Devolve se existir no resultado JSON |
| severityInfo | Devolve se existir no resultado JSON |
| osCPE | Devolve se existir no resultado JSON |
| originalidade | Devolve se existir no resultado JSON |
| dnsName | Devolve se existir no resultado JSON |
| repositório | Devolve se existir no resultado JSON |
| ip | Devolve se existir no resultado JSON |
| descrição | Devolve se existir no resultado JSON |
| nome | Devolve se existir no resultado JSON |
| lastUnauthRun | Devolve se existir no resultado JSON |
| biosGUID | Devolve se existir no resultado JSON |
| tpmID | Devolve se existir no resultado JSON |
| pontuação | Devolve se existir no resultado JSON |
| hasPassive | Devolve se existir no resultado JSON |
| pluginSet | Devolve se existir no resultado JSON |
| hasCompliance | Devolve se existir no resultado JSON |
| severityHigh | Devolve se existir no resultado JSON |
| netbiosName | Devolve se existir no resultado JSON |
| severityMedium | Devolve se existir no resultado JSON |
| os | Devolve se existir no resultado JSON |
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success:False |
Resultado 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"
}
]
Get Related Assets
Obtenha recursos relacionados com um endereço IP.
Parâmetros
| Parâmetro | Tipo | Valor predefinido | Descrição |
|---|---|---|---|
| Nome do repositório | String | N/A | O nome do repositório. |
É apresentado em
Esta ação é executada na entidade de endereço IP.
Resultados da ação
Enriquecimento de entidades
| Nome do campo de enriquecimento | Lógica: quando aplicar |
|---|---|
| id | Devolve se existir no resultado JSON |
| nome | Devolve se existir no resultado JSON |
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success:False |
Resultado 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"
}
]
Obter relatório
Obtenha o conteúdo do relatório por ID ou nome.
Parâmetros
| Parâmetro | Tipo | Valor predefinido | Descrição |
|---|---|---|---|
| ID de relatórios | String | N/A | Número de ID da denúncia.Pode ser encontrado no URL da denúncia. |
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success:False |
Resultado JSON
{
"pubSites":
[
"https://example.com",
"https://example.net"
]
}
Obtenha resultados da análise
Aguarde a conclusão da análise e receba os resultados da mesma.
Parâmetros
| Parâmetro | Tipo | Valor predefinido | Descrição |
|---|---|---|---|
| ID do resultado da análise | String |
N/A | O ID dos resultados da análise. |
É apresentado em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success:False |
Resultado 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"
}
]
}
Obtenha vulnerabilidades para o IP
Obtenha um resumo das vulnerabilidades e da gravidade de um endereço IP.
Parâmetros
N/A
É apresentado em
Esta ação é executada na entidade de endereço IP.
Resultados da ação
Enriquecimento de entidades
| Nome do campo de enriquecimento | Lógica: quando aplicar |
|---|---|
| macAddress | Devolve se existir no resultado JSON |
| protocolo | Devolve se existir no resultado JSON |
| uuid | Devolve se existir no resultado JSON |
| família | Devolve se existir no resultado JSON |
| pluginInfo | Devolve se existir no resultado JSON |
| ip | Devolve se existir no resultado JSON |
| pluginID | Devolve se existir no resultado JSON |
| gravidade | Devolve se existir no resultado JSON |
| repositório | Devolve se existir no resultado JSON |
| originalidade | Devolve se existir no resultado JSON |
| dnsName | Devolve se existir no resultado JSON |
| porta | Devolve se existir no resultado JSON |
| netbiosName | Devolve se existir no resultado JSON |
| nome | Devolve se existir no resultado JSON |
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success:False |
Resultado 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"
}
]
Tchim-tchim
Teste a conetividade.
É apresentado em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| nulo | N/A | N/A |
Analisar IPs
Inicie uma análise de endereços IP.
Parâmetros
| Parâmetro | Tipo | Valor predefinido | Descrição |
|---|---|---|---|
| Nome da análise | String | N/A | O nome da análise a criar. |
| Nome da política | String | N/A | O nome da política. |
É apresentado em
Esta ação é executada na entidade de endereço IP.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| scan_result_id | N/A | N/A |
Execute a análise de recursos
Execute a análise de recursos no Tenable Security Center.
Onde encontrar o ID da política e o ID do repositório
Para o ID da política:
- Navegar para
https://INSTANCE_IP_ADDRESS/#policies. - Selecione a política que quer usar em ação.
- No URL, pode ver um ID dessa política.
Para o ID do repositório:
- Navegar para
https://INSTANCE_IP_ADDRESS/#repositories. - Selecione o repositório que quer usar na ação.
- No URL, pode ver um ID desse repositório.
Parâmetros
| Nome a apresentar do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
|---|---|---|---|---|
| Nome da análise | N/A | Sim | Especifique o nome da análise. | |
| nome do recurso | String | N/A | Sim | Especifique o nome do recurso que deve ser analisado. |
| ID da política | Número inteiro | N/A | Sim | Especifique o ID da política que deve ser usado na análise. |
| ID do repositório | Número inteiro | N/A | Sim | Especifique o ID do repositório que deve ser usado na análise. |
| Descrição | String | N/A | Não | Especifique a descrição da procura. |
É apresentado em
Esta ação não é executada em entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success:False |
Resultado 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
}
Parede da caixa
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não deve falhar nem parar a execução de um playbook:
A ação deve falhar e parar a execução de um manual de procedimentos: If asset not found: print "Error executing action "Run Asset Scan". Motivo: não foi possível encontrar o recurso {0} no Tenable Security Center. ''.format(name) Se não for o código estático 200 (is_success = false): print "Erro ao executar a ação "Executar análise de recursos". Motivo:{0}".format(error_msg) |
Geral |
Conetores
Conetor do centro de segurança da Tenable
Para ver instruções detalhadas sobre como configurar um conetor no Google SecOps, consulte o artigo Configurar o conetor.
Parâmetros do conetor
Use os seguintes parâmetros para configurar o conector:
| Parâmetro | Tipo | Valor predefinido | Descrição |
|---|---|---|---|
| DeviceProductField | String | device_product | O nome do campo usado para determinar o produto do dispositivo. |
| EventClassId | String | nome | O nome do campo usado para determinar o nome do evento (subtipo). |
| PythonProcessTimeout | String | 60 | O limite de tempo (em segundos) para o processo Python que executa o script atual. |
| Endereço do servidor | String | nulo | N/A |
| Nome de utilizador | String | nulo | N/A |
| Palavra-passe | Palavra-passe | nulo | N/A |
| Usar SSL | Caixa de verificação | Desmarcado | N/A |
| Máximo de dias para trás | Número inteiro | 1 | O número de dias anteriores a partir dos quais quer obter dados. |
| Limite por ciclo | Número inteiro | 10 | A quantidade de alertas carregados no conector em cada ciclo de execução. |
| Endereço do servidor proxy | String | nulo | O endereço do servidor proxy a usar. |
| Nome de utilizador do proxy | String | nulo | O nome de utilizador do proxy para autenticação. |
| Palavra-passe do proxy | Palavra-passe | nulo | A palavra-passe do proxy para autenticação. |
Regras de conector
O conetor suporta proxies.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.