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:
If static code 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)

Jika tidak ada entitas IP: Tidak ada alamat IP yang ditambahkan ke Aset Daftar IP {0}.format(name)

Tindakan harus gagal dan menghentikan eksekusi playbook:
jika terjadi error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau lainnya: cetak "Error executing action "Add IP to IP List Asset". Alasan: {0}''.format(error.Stacktrace)


Jika aset tidak ditemukan: cetak "Error saat menjalankan tindakan "Tambahkan IP ke Aset Daftar IP". Alasan: Aset {0} tidak ditemukan di Tenable Security Center. ''.format(error.Stacktrace)

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:
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)

Jika tidak ada entitas IP: cetak "Setidaknya 1 entitas IP harus tersedia untuk membuat Aset Daftar IP".


Tindakan harus gagal dan menghentikan eksekusi playbook:
jika terjadi error fatal, seperti kredensial salah, tidak ada koneksi ke server, lainnya: cetak "Error executing action "Create IP List Asset". Alasan: {0}''.format(error.Stacktrace)

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 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:

  1. Buka https://INSTANCE_IP_ADDRESS/#policies.
  2. Pilih kebijakan yang ingin Anda gunakan dalam tindakan.
  3. Di URL, Anda akan dapat melihat ID kebijakan tersebut.

Untuk ID Repository:

  1. Buka https://INSTANCE_IP_ADDRESS/#repositories.
  2. Pilih repositori yang ingin Anda gunakan dalam tindakan.
  3. 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:
If static code 200(is_success = true): print "Successfully started asset scan {0} in Tenable Security Center.".format(name)

Tindakan akan gagal dan menghentikan eksekusi playbook:
jika terjadi error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau lainnya: cetak "Error saat menjalankan tindakan "Run Asset Scan". Alasan: {0}''.format(error.Stacktrace)

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.