Tenable Security Center
Versi integrasi: 15.0
Mengintegrasikan Tenable Security Center dengan Google Security Operations
Untuk mendapatkan petunjuk mendetail terkait cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Input integrasi
Untuk mengonfigurasi integrasi, gunakan parameter berikut:
| Parameter | |
|---|---|
Server Address |
Wajib Alamat server Tenable Security Center yang akan digunakan dalam integrasi. |
Username |
Wajib Nama pengguna untuk login ke server Tenable Security Center. |
Password |
Wajib Sandi untuk login ke server Tenable Security Center. |
Verify SSL |
Opsional Jika dipilih, akan memverifikasi bahwa sertifikat SSL untuk koneksi ke server Tenable valid. Dipilih secara default. |
Tindakan
Menambahkan IP ke Aset Daftar IP
Tambahkan aset daftar IP ke IP di Tenable Security Center.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Nama Aset | String | T/A | Ya | Tentukan nama aset daftar IP yang ingin Anda tambahi IP baru. |
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil tindakan
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil 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
}
Repositori kasus
| Jenis hasil | Nilai/Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:
Jika tidak ada entitas IP: Tidak ada alamat IP yang ditambahkan ke
Aset Daftar IP {0}.format(name)
Jika bukan kode statis 200 (is_success = false): print "Error executing action "Add IP to IP List Asset". Alasan: {0}''.format(error_msg) |
Umum |
Membuat Aset Daftar IP
Buat aset daftar IP di Tenable Security Center. Memerlukan setidaknya satu entitas IP agar berhasil dieksekusi.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Nama | String | T/A | Ya | Tentukan nama untuk aset daftar IP. |
| Deskripsi | String | T/A | Tidak | Tentukan deskripsi aset daftar IP. |
| Tag | String | T/A | Tidak | Tentukan tag aset daftar IP. |
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil tindakan
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil 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
}
Repositori kasus
| Jenis hasil | Nilai/Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:
Jika tidak ada entitas IP: cetak "Setidaknya 1 entitas IP harus tersedia untuk membuat Aset Daftar IP".
Jika bukan kode statis 200 (is_success = false): cetak "Error saat menjalankan tindakan "Buat Aset Daftar IP". Alasan: {0}''.format(error_msg) |
Umum |
Memperkaya IP
Dapatkan informasi tentang alamat IP dan lengkapi informasinya.
Parameter
| Parameter | Jenis | Nilai Default | Deskripsi |
|---|---|---|---|
| Nama Repositori | String | T/A | Nama repositori. |
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil tindakan
Pengayaan entitas
| Nama Kolom Pengayaan | Logika-Kapan harus diterapkan |
|---|---|
| macAddress | Menampilkan apakah ada di hasil JSON |
| severityLow | Menampilkan apakah ada di hasil JSON |
| link | Menampilkan apakah ada di hasil JSON |
| ip | Menampilkan apakah ada di hasil JSON |
| pemindaian terakhir | Menampilkan apakah ada di hasil JSON |
| severityCritical | Menampilkan apakah ada di hasil JSON |
| total | Menampilkan apakah ada di hasil JSON |
| severityAll | Menampilkan apakah ada di hasil JSON |
| mcafeeGUID | Menampilkan apakah ada di hasil JSON |
| policyName | Menampilkan apakah ada di hasil JSON |
| uuid | Menampilkan apakah ada di hasil JSON |
| lastAuthRun | Menampilkan apakah ada di hasil JSON |
| severityInfo | Menampilkan apakah ada di hasil JSON |
| osCPE | Menampilkan apakah ada di hasil JSON |
| keunikan | Menampilkan apakah ada di hasil JSON |
| dnsName | Menampilkan apakah ada di hasil JSON |
| repositori | Menampilkan apakah ada di hasil JSON |
| ip | Menampilkan apakah ada di hasil JSON |
| deskripsi | Menampilkan apakah ada di hasil JSON |
| nama | Menampilkan apakah ada di hasil JSON |
| lastUnauthRun | Menampilkan apakah ada di hasil JSON |
| biosGUID | Menampilkan apakah ada di hasil JSON |
| tpmID | Menampilkan apakah ada di hasil JSON |
| skor | Menampilkan apakah ada di hasil JSON |
| hasPassive | Menampilkan apakah ada di hasil JSON |
| pluginSet | Menampilkan apakah ada di hasil JSON |
| hasCompliance | Menampilkan apakah ada di hasil JSON |
| severityHigh | Menampilkan apakah ada di hasil JSON |
| netbiosName | Menampilkan apakah ada di hasil JSON |
| severityMedium | Menampilkan apakah ada di hasil JSON |
| os | Menampilkan apakah ada di hasil JSON |
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil 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"
}
]
Mendapatkan Aset Terkait
Mendapatkan aset yang terkait dengan alamat IP.
Parameter
| Parameter | Jenis | Nilai Default | Deskripsi |
|---|---|---|---|
| Nama Repositori | String | T/A | Nama repositori. |
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil tindakan
Pengayaan entitas
| Nama Kolom Pengayaan | Logika-Kapan harus diterapkan |
|---|---|
| id | Menampilkan apakah ada di hasil JSON |
| nama | Menampilkan apakah ada di hasil JSON |
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil 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"
}
]
Dapatkan Laporannya
Mendapatkan konten laporan menurut ID atau nama.
Parameter
| Parameter | Jenis | Nilai Default | Deskripsi |
|---|---|---|---|
| ID Laporan | String | T/A | Nomor ID laporan.Dapat ditemukan di URL laporan. |
Run On
Tindakan ini dijalankan di semua entity.
Hasil tindakan
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
{
"pubSites":
[
"https://example.com",
"https://example.net"
]
}
Mendapatkan Hasil Pemindaian
Tunggu hingga pemindaian selesai dan dapatkan hasil pemindaian.
Parameter
| Parameter | Jenis | Nilai Default | Deskripsi |
|---|---|---|---|
| ID Hasil Pemindaian | String |
T/A | ID hasil pemindaian. |
Dijalankan pada
Tindakan ini dijalankan di semua entity.
Hasil tindakan
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil 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"
}
]
}
Mendapatkan Kerentanan untuk IP
Mendapatkan ringkasan kerentanan dan tingkat keparahan untuk alamat IP.
Parameter
T/A
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil tindakan
Pengayaan entitas
| Nama Kolom Pengayaan | Logika-Kapan harus diterapkan |
|---|---|
| macAddress | Menampilkan apakah ada di hasil JSON |
| protokol | Menampilkan apakah ada di hasil JSON |
| uuid | Menampilkan apakah ada di hasil JSON |
| keluarga | Menampilkan apakah ada di hasil JSON |
| pluginInfo | Menampilkan apakah ada di hasil JSON |
| ip | Menampilkan apakah ada di hasil JSON |
| pluginID | Menampilkan apakah ada di hasil JSON |
| tingkat keseriusan, | Menampilkan apakah ada di hasil JSON |
| repositori | Menampilkan apakah ada di hasil JSON |
| keunikan | Menampilkan apakah ada di hasil JSON |
| dnsName | Menampilkan apakah ada di hasil JSON |
| port | Menampilkan apakah ada di hasil JSON |
| netbiosName | Menampilkan apakah ada di hasil JSON |
| nama | Menampilkan apakah ada di hasil JSON |
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil 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"
}
]
Ping
Uji konektivitas.
Dijalankan pada
Tindakan ini dijalankan di semua entity.
Hasil tindakan
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| null | T/A | T/A |
Memindai IP
Mulai pemindaian alamat IP.
Parameter
| Parameter | Jenis | Nilai Default | Deskripsi |
|---|---|---|---|
| Nama pemindaian | String | T/A | Nama pemindaian yang akan dibuat. |
| Nama Kebijakan | String | T/A | Nama kebijakan. |
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil tindakan
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| scan_result_id | T/A | T/A |
Menjalankan Pemindaian Aset
Jalankan Pemindaian Aset di Tenable Security Center.
Tempat Menemukan ID Kebijakan dan ID Repositori
Untuk ID Kebijakan:
- Buka
https://INSTANCE_IP_ADDRESS/#policies. - Pilih kebijakan yang ingin Anda gunakan dalam tindakan.
- Di URL, Anda akan dapat melihat ID kebijakan tersebut.
Untuk ID Repository:
- Buka
https://INSTANCE_IP_ADDRESS/#repositories. - Pilih repositori yang ingin Anda gunakan dalam tindakan.
- Di URL, Anda akan dapat melihat ID repositori tersebut.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib Diisi | Deskripsi |
|---|---|---|---|---|
| Nama Pindai | T/A | Ya | Tentukan nama untuk pemindaian. | |
| Nama Aset | String | T/A | Ya | Tentukan nama aset yang harus dipindai. |
| ID Kebijakan | Bilangan bulat | T/A | Ya | Tentukan ID kebijakan yang harus digunakan dalam pemindaian. |
| ID Repositori | Bilangan bulat | T/A | Ya | Tentukan ID repositori yang harus digunakan dalam pemindaian. |
| Deskripsi | String | T/A | Tidak | Tentukan deskripsi untuk pemindaian. |
Dijalankan pada
Tindakan ini tidak dijalankan di entity.
Hasil tindakan
Hasil skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil 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
}
Repositori kasus
| Jenis hasil | Nilai/Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:
Tindakan akan gagal dan menghentikan eksekusi playbook: Jika aset tidak ditemukan: cetak "Error saat menjalankan tindakan "Run Asset Scan". Alasan: Aset {0} tidak ditemukan di Tenable Security Center. ''.format(name) Jika bukan kode statis 200 (is_success = false): print "Error saat menjalankan tindakan "Run Asset Scan". Alasan:{0}".format(error_msg) |
Umum |
Konektor
Konektor Tenable Security Center
Untuk mendapatkan petunjuk mendetail tentang cara mengonfigurasi konektor di Google SecOps, lihat Mengonfigurasi konektor.
Parameter konektor
Gunakan parameter berikut untuk mengonfigurasi konektor:
| Parameter | Jenis | Nilai Default | Deskripsi |
|---|---|---|---|
| DeviceProductField | String | device_product | Nama kolom yang digunakan untuk menentukan produk perangkat. |
| EventClassId | String | nama | Nama kolom yang digunakan untuk menentukan nama peristiwa (sub-jenis). |
| PythonProcessTimeout | String | 60 | Batas waktu tunggu (dalam detik) untuk proses python yang menjalankan skrip saat ini. |
| Alamat Server | String | null | T/A |
| Nama pengguna | String | null | T/A |
| Sandi | Sandi | null | T/A |
| Use SSL | Kotak centang | Tidak dicentang | T/A |
| Maksimum Hari Mundur | Bilangan bulat | 1 | Jumlah hari sebelumnya, dari mana Anda ingin mengambil data. |
| Batas Per Siklus | Bilangan bulat | 10 | Jumlah pemberitahuan yang diserap ke dalam konektor di setiap siklus eksekusi. |
| Alamat Server Proxy | String | null | Alamat server proxy yang akan digunakan. |
| Nama Pengguna Proxy | String | null | Nama pengguna proxy untuk melakukan autentikasi. |
| Sandi Proxy | Sandi | null | Sandi proxy untuk mengautentikasi. |
Aturan konektor
Konektor mendukung proxy.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.