Mengintegrasikan APIVoid dengan Google SecOps
Dokumen ini menjelaskan cara mengintegrasikan APIVoid dengan Google Security Operations (Google SecOps).
Versi integrasi: 12.0
Sebelum memulai
Sebelum mengonfigurasi integrasi APIVoid di Google SecOps untuk v2, pastikan Anda memiliki hal berikut:
Akun APIVoid v2: Akun aktif dengan akses ke layanan API v2.
Kunci API APIVoid v2: Kunci API baru yang dibuat khusus untuk API v2 dari dasbor pengguna APIVoid Anda.
Endpoint API yang diperbarui: Pahami URL endpoint API v2 yang diperbarui untuk layanan APIVoid tertentu yang akan Anda gunakan (seperti IP Reputation API, Domain Reputation API).
Membuat kunci API APIVoid v2
Untuk membuat kunci API APIVoid v2, selesaikan langkah-langkah berikut:
Login ke dasbor pengguna APIVoid Anda.
Buka bagian Kunci API. (Lokasinya dapat bervariasi bergantung pada update dasbor.)
Buat Kunci API baru. Segera salin dan simpan kunci dengan aman. Pesan ini hanya dapat ditampilkan satu kali.
Jaringan
Fungsi | Port default | Arah | Protokol |
---|---|---|---|
API | Multinilai | Keluar | apikey |
Parameter integrasi
Gunakan parameter berikut untuk mengonfigurasi integrasi:
Nama parameter | Jenis | Nilai default | Wajib diisi | Deskripsi |
---|---|---|---|---|
Nama Instance | String | T/A | Tidak | Nama Instance yang ingin Anda konfigurasi integrasinya. |
Deskripsi | String | T/A | Tidak | Deskripsi Instance. |
Root API | String | https://endpoint.apivoid.com | Ya | Alamat instance APIVoid. |
Kunci API | Sandi | T/A | Ya | Kunci API yang dibuat di konsol APIVoid. |
Verifikasi SSL | Kotak centang | Tidak dicentang | Tidak | Gunakan kotak centang ini jika koneksi APIVoid Anda memerlukan verifikasi SSL. |
Menjalankan dari Jarak Jauh | Kotak centang | Tidak dicentang | Tidak | Centang kolom untuk menjalankan integrasi yang dikonfigurasi dari jarak jauh. Setelah dicentang, opsi akan muncul untuk memilih pengguna jarak jauh (agen). |
Untuk mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan di tahap berikutnya, jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.
Tindakan
Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan tertunda dari Ruang Kerja Anda dan Melakukan tindakan manual.
Mendapatkan Reputasi Domain
Dapatkan pemeriksaan reputasi domain jika domain dikecualikan oleh layanan daftar blokir domain yang populer dan tepercaya, seperti URLVir, ThreatLog, OpenPhish, Spam404, PhishTank, ZeuS Tracker, dan lainnya. Beberapa layanan daftar blokir domain mengidentifikasi situs yang berpotensi berbahaya dan menipu yang terlibat dalam distribusi malware, insiden phishing, dan toko online palsu.
Parameter
Nama parameter | Jenis | Nilai default | Wajib diisi | Deskripsi |
---|---|---|---|---|
Ambang batas | String | 0 | Ya | Batas risiko domain. Nilai minimum harus berupa nilai numerik. Contoh: 3 |
Membuat Insight | Kotak centang | Dicentang | Ya | Tentukan apakah tindakan harus membuat insight atau tidak. |
Kasus penggunaan
Salah satu kasus penggunaan Domain Reputation API adalah untuk memeriksa apakah situs klien dikecualikan, memeriksa URL yang dikirimkan oleh pengguna di aplikasi Anda, atau untuk mengidentifikasi situs yang berpotensi berbahaya dan tidak aman.
Dijalankan pada
Tindakan ini berjalan di entity berikut:
- Hostname
- URL
Hasil tindakan
Pengayaan entitas
Menandai entity sebagai mencurigakan jika jumlah mesin negatif sama dengan atau di atas nilai minimum yang diberikan.
Nama kolom pengayaan | Logika - Kapan harus diterapkan |
---|---|
alexa_top_100k | Menampilkan apakah ada di hasil JSON |
domain_length | Menampilkan apakah ada di hasil JSON |
alexa_top_10k | Menampilkan apakah ada di hasil JSON |
daftar yang tidak diizinkan | Menampilkan apakah ada di hasil JSON |
server | Menampilkan apakah ada di hasil JSON |
host | Menampilkan apakah ada di hasil JSON |
most_abused_tld | Menampilkan apakah ada di hasil JSON |
alexa_top_250k | Menampilkan apakah ada di hasil JSON |
Insight
Keparahan | Deskripsi |
---|---|
Peringatkan | Insight peringatan dibuat untuk menginformasikan status berbahaya dari entitas yang diperkaya. dibuat saat jumlah mesin yang terdeteksi sama dengan atau melebihi nilai minimum Threshold mencurigakan yang ditetapkan sebelum pemindaian. |
Hasil skrip
Nama hasil skrip | Opsi nilai | Contoh |
---|---|---|
berhasil | Benar/Salah | success:False |
Hasil JSON
[
{
"EntityResult": {
"alexa_top_100k": false,
"domain_length": 17,
"alexa_top_10k": false,
"blacklists": {
"scantime": "0.07",
"detection_rate": "0%",
"detections": 0,
"engines_count": 29,
"engines": [{
"engine": "ThreatLog",
"detected": false,
"confidence": "high",
"reference": "http://www.threatlog.com/"
}, {
"engine": "Threat Sourcing",
"detected": false,
"confidence": "high",
"reference": "https://www.threatsourcing.com/"
}, {
"engine": "URLVir",
"detected": false,
"confidence": "high",
"reference": "http://www.urlvir.com/"
}]},
"server": {
"region_name": null,
"reverse_dns": " ",
"ip": " ",
"isp": null,
"continent_code": null,
"latitude": null,
"city_name": null,
"longitude": null,
"country_code": null,
"country_name": null,
"continent_name": null
},
"host": "example.com",
"most_abused_tld": false,
"alexa_top_250k": false
},
"Entity": "example.com"
}, {
"EntityResult": {
"alexa_top_100k": false,
"domain_length": 9,
"alexa_top_10k": false,
"blacklists": {
"scantime": "0.03",
"detection_rate": "0%",
"detections": 0,
"engines_count": 29,
"engines": [{
"engine": "ThreatLog",
"detected": false,
"confidence": "high",
"reference": "http://www.threatlog.com/"
}, {
"engine": "Threat Sourcing",
"detected": false,
"confidence": "high",
"reference": "https://www.threatsourcing.com/"
}, {
"engine": "URLVir",
"detected": false,
"confidence": "high",
"reference": "http://www.urlvir.com/"
}]},
"server": {
"region_name": null,
"reverse_dns": " ",
"ip": " ",
"isp": null,
"continent_code": null,
"latitude": null,
"city_name": null,
"longitude": null,
"country_code": null,
"country_name": null,
"continent_name": null
},
"host": "192.0.2.1",
"most_abused_tld": false,
"alexa_top_250k": false
},
"Entity": "192.0.2.1"
}
]
Mendapatkan Reputasi IP
IP Reputation API mendeteksi alamat IP yang berpotensi berbahaya yang umumnya digunakan untuk spam, serangan situs, atau aktivitas penipuan.
Parameter
Parameter | Jenis | Nilai default | Wajib diisi | Deskripsi |
---|---|---|---|---|
Ambang batas | String | T/A | Ya | Ambang batas risiko IP. Nilai minimum harus berupa nilai numerik. Contoh: 3. |
Membuat Insight | Kotak centang | Dicentang | Ya | Tentukan apakah tindakan harus membuat insight atau tidak. |
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil tindakan
Pengayaan entitas
Menandai entity sebagai mencurigakan jika jumlah mesin negatif sama dengan atau di atas nilai minimum yang diberikan.
Nama kolom pengayaan | Logika - Kapan harus diterapkan |
---|---|
informasi | Menampilkan apakah ada di hasil JSON |
daftar yang tidak diizinkan | Menampilkan apakah ada di hasil JSON |
anonimitas | Menampilkan apakah ada di hasil JSON |
ip | Menampilkan apakah ada di hasil JSON |
Insight
Keparahan | Deskripsi |
---|---|
Peringatkan | Insight peringatan dibuat untuk menginformasikan status berbahaya dari hash yang telah di-enrich. Insight dibuat saat jumlah mesin yang terdeteksi sama dengan atau melebihi nilai minimum Threshold mencurigakan yang ditetapkan sebelum pemindaian. |
Hasil skrip
Nama hasil skrip | Opsi nilai | Contoh |
---|---|---|
berhasil | Benar/Salah | success:False |
Hasil JSON
[
{
"EntityResult": {
"information": {
"is_proxy": false,
"is_vpn": false,
"region_name": "Zhejiang",
"is_webproxy": false,
"latitude": 28.680280685424805,
"isp": "ChinaNet Zhejiang Province Network",
"continent_code": "AS",
"is_tor": false,
"reverse_dns": " ",
"detections": 18,
"engines_count": 76,
"longitude": 121.44277954101562,
"city_name": "Jiaojiang",
"country_name": "China",
"continent_name": "Asia",
"detection_rate": "24%",
"country_code": "CN",
"is_hosting": false
},
"blacklists": {
"scantime": "0.57",
"detection_rate":
"24%",
"detections": 18,
"engines_count": 76,
"engines": [{
"engine": "PlonkatronixBL",
"detected": false,
"reference": "http://bl.plonkatronix.com/"
}, {
"engine": "Engine",
"detected": true,
"reference": "https://home.nuug.no/~engine/"
}, {"engine": "Malc0de",
"detected": false,
"reference": "http://malc0de.com/database/index.php"
}]},
"anonymity": {
"is_tor": false,
"is_proxy": false,
"is_vpn": false,
"is_webproxy": false,
"is_hosting": false
},
"ip": "192.0.2.1"
},
"Entity": "192.0.2.1"
}
]
Mendapatkan Reputasi URL
Mendapatkan reputasi keamanan dan skor risiko URL.
Parameter
Nama parameter | Jenis | Nilai default | Wajib diisi | Deskripsi |
---|---|---|---|---|
Ambang batas | Bilangan bulat | T/A | Ya | Batas risiko URL. Nilai minimum harus berupa nilai numerik. Contoh: 3 |
Kasus penggunaan
Analis dapat mengambil reputasi URL, mirip dengan cara mengambil reputasi domain atau alamat IP.
Dijalankan pada
Tindakan ini dijalankan pada entity URL.
Hasil tindakan
Pengayaan entitas
Menandai entity sebagai mencurigakan jika jumlah mesin telusur negatif sama dengan atau di atas nilai minimum yang diberikan. if data.get("report", {}).get("risk_score", {}).get("result") > threshold
Nama kolom pengayaan | Logika - Kapan harus diterapkan |
---|---|
domain_blacklist | Menampilkan apakah ada di hasil JSON |
html_forms | Menampilkan apakah ada di hasil JSON |
server_details | Menampilkan apakah ada di hasil JSON |
response_headers | Menampilkan apakah ada di hasil JSON |
pengalihan | Menampilkan apakah ada di hasil JSON |
file_type | Menampilkan apakah ada di hasil JSON |
risk_score | Menampilkan apakah ada di hasil JSON |
security_checks | Menampilkan apakah ada di hasil JSON |
geo_location | Menampilkan apakah ada di hasil JSON |
url_parts | Menampilkan apakah ada di hasil JSON |
site_category | Menampilkan apakah ada di hasil JSON |
web_page | Menampilkan apakah ada di hasil JSON |
dns_records | Menampilkan apakah ada di hasil JSON |
Hasil skrip
Nama hasil skrip | Opsi nilai | Contoh |
---|---|---|
is_success | Benar/Salah | is_success:False |
Hasil JSON
[
{
"EntityResult": {
"domain_blacklist": {
"detections": 0,
"engines": [{
"detected": false,
"name": "SpamhausDBL", "reference": "https://www.spamhaus.org/lookup/"
}, {
"detected": false,
"name": "ThreatLog",
"reference": "http://www.threatlog.com/"
}, {
"detected": false,
"name": "OpenPhish",
"reference": "http://www.openphish.com/"
}, {
"detected": false,
"name": "PhishTank",
"reference": "http://www.phishtank.com/"
}, {
"detected": false,
"name": "Phishing.Database",
"reference": "https://github.com/mitchellkrogza/Phishing.Database"
}, {
"detected": false,
"name": "PhishStats",
"reference": "https://phishstats.info/"
}, {
"detected": false,
"name": "URLVir",
"reference": "http://www.urlvir.com/"
}, {
"detected": false,
"name": "URLhaus",
"reference": "https://urlhaus.abuse.ch/"
}, {
"detected": false,
"name": "RPiList Not Serious",
"reference": "https://github.com/RPiList/specials"
}, {
"detected": false,
"name": "precisionsec",
"reference": "https://precisionsec.com/"
}, {
"detected": false,
"name": "AntiSocial Blacklist",
"reference": "https://theantisocialengineer.com/"
}, {
"detected": false,
"name": "PhishFeed",
"reference": "https://phishfeed.com/"
}, {
"detected": false,
"name": "Spam404",
"reference": "https://www.spam404.com/"
}]},
"html_forms": {
"number_of_total_input_fields": 0,
"email_field_present": false,
"number_of_total_forms": 0,
"password_field_present": false,
"two_text_inputs_in_a_form": false,
"credit_card_field_present": false
},
"server_details": {
"continent_name": "Asia",
"hostname": "example.com",
"region_name": "Seoul-teukbyeolsi",
"ip": "192.0.2.141",
"isp": "Example Corporation",
"continent_code": "AS",
"country_name": "Korea (Republic of)",
"city_name": "Seoul",
"longitude": 126.97782897949219,
"country_code": "KR",
"latitude": 37.568260192871094
},
"response_headers": {
"status": "HTTP/1.1 404 Not Found",
"content-length": "177",
"code": 404,
"server": "nginx/1.4.6 (Ubuntu)",
"connection": "keep-alive",
"date": "Wed, 15 Jul 2020 08:21:54 GMT",
"content-type": "text/html"
},
"redirection": {
"url": null,
"found": false,
"external": false
},
"file_type": {
"headers": "HTML",
"extension": "HTML",
"signature": " "
},
"risk_score": {
"result": 10
},
"security_checks": {
"is_suspended_page": false,
"is_defaced_heuristic": false,
"is_windows_exe_file": false,
"is_credit_card_field": false,
"is_windows_exe_file_on_free_hosting": false,
"is_masked_linux_elf_file": false,
"is_exe_on_directory_listing": false,
"is_php_on_directory_listing": false,
"is_masked_windows_exe_file": false,
"is_sinkholed_domain": false,
"is_robots_noindex": false,
"is_windows_exe_file_on_free_dynamic_dns": false,
"is_doc_on_directory_listing": false,
"is_non_standard_port": false,
"is_linux_elf_file_on_free_dynamic_dns": false,
"is_suspicious_domain": false, "is_suspicious_url_pattern": false,
"is_china_country": false,
"is_risky_geo_location": false,
"is_pdf_on_directory_listing": false,
"is_valid_https": false,
"is_external_redirect": false, "is_windows_exe_file_on_ipv4": false,
"is_phishing_heuristic": false,
"is_linux_elf_file_on_ipv4": false,
"is_email_address_on_url_query": false,
"is_uncommon_clickable_url": false,
"is_most_abused_tld": false,
"is_domain_blacklisted": false,
"is_host_an_ipv4": false,
"is_linux_elf_file_on_free_hosting": false,
"is_zip_on_directory_listing": false,
"is_password_field": false,
"is_linux_elf_file": false,
"is_empty_page_title": false,
"is_directory_listing": false,
"is_masked_file": false,
"is_suspicious_file_extension": false,
"is_suspicious_content": false
},
"geo_location": {
"countries": ["KR"]
},
"url_parts": {
"host_nowww": "example.com",
"host": "www.example.com",
"path": "/dynamic/example.html",
"query": null,
"scheme": "http",
"port": 80},
"site_category": {
"is_vpn_provider": false,
"is_url_shortener": false,
"is_anonymizer": false,
"is_torrent": false,
"is_free_dynamic_dns": false,
"is_free_hosting": false
},
"web_page": {
"keywords": "",
"description": "",
"title": "404 Not Found"
},
"dns_records": {
"ns": {
"records": [{
"country_name": "Korea (Republic of)",
"ip": "192.0.2.95",
"isp": "Example Corporation",
"target": "example.com",
"country_code": "KR"
}, {
"country_name": "Korea (Republic of)",
"ip": "192.0.2.26",
"isp": "LX",
"target": "example.com",
"country_code": "KR"
}]},
"mx": {
"records": []
}}},
"Entity": "www.example.com:80/dynamic/example.html"
}
]
Repositori kasus
Jenis hasil | Deskripsi | Jenis |
---|---|---|
Pesan output* |
|
Umum |
Repositori kasus CSV | Jika data tersedia, buat tabel CSV entitas baru:
|
Umum |
Pengayaan | Jika data tersedia, tambahkan berikut sebagai pengayaan entitas: (jangan lupa menambahkan awalan "APIVoid")
|
Entity |
Mendapatkan Screenshot
Ambil screenshot berkualitas tinggi dari situs atau URL apa pun.
Parameter
T/A
Kasus penggunaan
Analis dapat mengambil screenshot berkualitas tinggi dari situs atau URL apa pun, dalam format gambar PNG atau JPG.
Dijalankan pada
Tindakan ini berjalan di entity Pengguna.
Hasil tindakan
Pengayaan entitas
Menandai entity sebagai mencurigakan jika jumlah mesin negatif sama dengan atau di atas nilai minimum yang diberikan. is_suspicious: if data.get("score") > threshold
Nama kolom pengayaan | Logika - Kapan harus diterapkan |
---|---|
domain | Menampilkan apakah ada di hasil JSON |
should_block | Menampilkan apakah ada di hasil JSON |
skor | Menampilkan apakah ada di hasil JSON |
sekali pakai | Menampilkan apakah ada di hasil JSON |
has_mx_records | Menampilkan apakah ada di hasil JSON |
has_spf_records | Menampilkan apakah ada di hasil JSON |
Hasil skrip
Nama hasil skrip | Opsi nilai | Contoh |
---|---|---|
is_success | Benar/Salah | is_success:False |
Hasil JSON
[
{
"EntityResult": {
"domain": "example.com",
"valid_tld": true,
"email": "user@example.co",
"role_address": false,
"should_block": false,
"risky_tld": false,
"dirty_words_username": false,
"suspicious_domain": false,
"score": 100,
"educational_domain": false,
"dirty_words_domain": false,
"did_you_mean": " ",
"username": "user",
"valid_format": true,
"is_spoofable ": false,
"disposable": false,
"government_domain": false,
"has_spf_records": true,
"domain_popular": false,
"has_mx_records": true,
"china_free_email": false,
"free_email": false,
"russian_free_email": false,
"police_domain": false,
"dmarc_enforced": false,
"suspicious_username": false
},
"Entity": "USER@EXAMPLE.COM"
}
]
Repositori kasus
Jenis hasil | Deskripsi | Jenis |
---|---|---|
Pesan output* |
|
Umum |
Lampiran | Jika data tersedia, buat objek file baru:
|
Umum |
Ping
Uji konektivitas.
Parameter
T/A
Dijalankan pada
Tindakan ini dijalankan di semua entity.
Hasil tindakan
Hasil skrip
Nama hasil skrip | Opsi nilai | Contoh |
---|---|---|
berhasil | Benar/Salah | success:False |
Verifikasi Email
Periksa apakah email sekali pakai, memiliki data MX, dan lainnya.
Parameter
Nama parameter | Jenis | Nilai default | Wajib diisi | Deskripsi |
---|---|---|---|---|
Ambang batas | Bilangan bulat | T/A | Ya | Ambang batas risiko email. Nilai minimum harus berupa nilai numerik. Contoh: 3 |
Kasus penggunaan
Analis dapat memeriksa apakah email sekali pakai, mendapatkan data MX, dan lainnya.
Dijalankan pada
Tindakan ini berjalan di entity Pengguna.
Hasil tindakan
Pengayaan entitas
Menandai entity sebagai mencurigakan jika jumlah mesin negatif sama dengan atau di atas nilai minimum yang diberikan. is_suspicious: if data.get("score") > threshold
Nama kolom pengayaan | Logika - Kapan harus diterapkan |
---|---|
domain | Menampilkan apakah ada di hasil JSON |
should_block | Menampilkan apakah ada di hasil JSON |
skor | Menampilkan apakah ada di hasil JSON |
sekali pakai | Menampilkan apakah ada di hasil JSON |
has_mx_records | Menampilkan apakah ada di hasil JSON |
has_spf_records | Menampilkan apakah ada di hasil JSON |
Hasil skrip
Nama hasil skrip | Opsi nilai | Contoh |
---|---|---|
is_success | Benar/Salah | is_success:False |
Hasil JSON
[
{
"EntityResult": {
"domain": "example.com",
"valid_tld": true,
"email": "user@example.com",
"role_address": false,
"should_block": false,
"risky_tld": false,
"dirty_words_username": false,
"suspicious_domain": false,
"score": 100,
"educational_domain": false,
"dirty_words_domain": false,
"did_you_mean": " ",
"username": "user",
"valid_format": true,
"is_spoofable ": false,
"disposable": false,
"government_domain": false,
"has_spf_records": true,
"domain_popular": false,
"has_mx_records": true,
"china_free_email": false,
"free_email": false,
"russian_free_email": false,
"police_domain": false,
"dmarc_enforced": false,
"suspicious_username": false
},
"Entity": "USER@EXAMPLE.COm"
}
]
Repositori kasus
Jenis hasil | Deskripsi | Jenis |
---|---|---|
Pesan output* |
|
Umum |
Repositori kasus CSV | Konten CSV: data entitas(contoh di bawah) | Umum |
Pengayaan | Jika data tersedia, tambahkan berikut sebagai pengayaan entitas: (jangan lupa menambahkan awalan "APIVoid")
|
Entity |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.