Mengumpulkan log Fortinet Firewall
Dokumen ini menjelaskan cara mengumpulkan dan menyerap log Fortinet ke Google Security Operations menggunakan Bindplane. Parser mengekstrak kolom dari log, yang menangani format JSON dan SYSLOG (dengan key-value pair). Alat ini menormalisasi kolom yang diekstrak ke dalam Unified Data Model (UDM), termasuk koneksi jaringan, aktivitas pengguna, peristiwa DNS, dan temuan keamanan, sekaligus menangani berbagai format log dan kasus ekstrem.
Sebelum memulai
- Pastikan Anda memiliki instance Google Security Operations.
- Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd
. - Jika berjalan di balik proxy, pastikan port firewall terbuka.
- Pastikan Anda memiliki akses dengan hak istimewa ke perangkat Fortinet Firewall.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer. Simpan file dengan aman di sistem tempat Bindplane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Menginstal agen Bindplane
Penginstalan Windows
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
Jalankan perintah berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Referensi penginstalan tambahan
- Untuk opsi penginstalan tambahan, lihat panduan penginstalan ini.
Mengonfigurasi agen Bindplane untuk menyerap Syslog dan mengirim ke Google SecOps
Akses file konfigurasi:
- Temukan file
config.yaml
. Biasanya, file ini berada di direktori/etc/bindplane-agent/
di Linux atau di direktori penginstalan di Windows. - Buka file menggunakan editor teks (misalnya,
nano
,vi
, atau Notepad).
- Temukan file
Edit file
config.yaml
sebagai berikut:```yaml receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: FORTINET_FIREWALL raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels ```
Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.
Ganti
<customer_id>
dengan ID pelanggan yang sebenarnya.Perbarui
/path/to/ingestion-authentication-file.json
ke jalur tempat file autentikasi disimpan di bagian Mendapatkan file autentikasi penyerapan Google SecOps.
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart bindplane-agent
Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi Syslog di FortiGate menggunakan CLI
- Login ke antarmuka command line di perangkat Fortinet FortiGate Anda.
Ketik perintah berikut dalam urutan yang sama (ganti variabel dengan nilai yang sesuai dengan lingkungan Anda).
sh full-configuration | grep -f syslogd config log syslogd setting set status enable set server IP_ADDRESS set mode udp set port PORT set facility LOCAL set reliable enable or disable set source-ip FIEWALL_IP end
Perbarui nilai berikut:
IP_ADDRESS
: masukkan alamat IPv4 agen Bindplane.PORT
: masukkan nomor port untuk agen Bindplane; misalnya,514
.LOCAL
: menetapkan tingkat fasilitas sebagai local6 (Anda juga dapat memilih lainnya sebagailocal0
,local1
,local2
,local3
,local4
,local5
, ataulocal7
untuk log informasi).enable or disable
: masukkandisable
untuk mengirim data sebagai UDP (Jika Anda menetapkan nilai andal sebagaienable
, data akan dikirim sebagai TCP).FIEWALL_IP
: masukkan alamat IPv4 Firewall.
Mengonfigurasi Syslog di FortiGate menggunakan GUI
- Login ke UI web Fortinet Fortigate.
- Buka Log & Laporan > Setelan Log.
- Edit konfigurasi berikut:
- Kirim log ke Syslog: pilih Aktifkan.
- Alamat IP / FQDN: masukkan alamat IPv4 agen Bindplane.
- Pembuatan Log Peristiwa: pilih Semua.
- Local Traffic Log: pilih All.
Buka Policy & Objects > Firewall Policy
- Aktifkan level log ke Semua (jangan tetapkan ke Nonaktifkan & UTM) untuk setiap kebijakan firewall.
- Pastikan kebijakan Implicit Deny juga berada di level log All.
Buka CLI dan masukkan perintah berikut.
Dapatkan IP aplikasi firewall Anda:
Show full-configuration | grep -f syslogd
Tetapkan IP & Fasilitas sumber:
LOCAL
: Tetapkan tingkat fasilitas sebagai local6 (Anda juga dapat memilih lainnya sebagailocal0
,local1
,local2
,local3
,local4
,local5
, ataulocal7
untuk log informasi).FIEWALL_IP
: Masukkan alamat IPv4 Firewall.config log syslogd setting set source-ip FIEWALL_IP set facility LOCAL end
Aktifkan resolve-ip untuk setiap perangkat fortigate:
config log setting set resolve-ip enable
Ulangi proses ini untuk setiap perangkat yang perlu diaktifkan di Google SecOps.
Opsional: Opsi konfigurasi Syslog Fortigate tambahan
Untuk FortiGate v5.X, jalankan perintah berikut untuk mengaktifkan log yang diperluas:
config antivirus profile edit default set extended-utm-log enable end config application edit default set extended-utm-log enable end config webfilter edit default set extended-utm-log enable end config spamfilter edit default set extended-utm-log enable end config dlp edit default set extended-utm-log enable end config ips edit default set extended-utm-log enable end
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
action |
security_result.action_details |
Nilai diambil langsung dari kolom action dalam log mentah. |
act |
security_result.action_details |
Jika kolom action kosong, nilai diambil dari kolom act dalam log mentah. |
agent |
network.http.user_agent , network.http.parsed_user_agent |
Nilai diambil dari kolom agent . Kolom parsed_user_agent adalah versi kolom user_agent yang diuraikan. |
appid |
security_result1.rule_id |
Nilai diambil dari kolom appid . |
app |
target.application , network.application_protocol , additional.fields |
Jika kolom service kosong, nilai diambil dari kolom app . Jika service adalah salah satu dari HTTPS, HTTP, DNS, DHCP, atau SMB, nilai tersebut akan digunakan untuk mengisi network.application_protocol . Jika tidak, nilai ini akan digunakan untuk target.application . Kolom tambahan dengan kunci app dan nilai string kolom app ditambahkan ke additional.fields . |
appact |
additional.fields |
Kolom tambahan dengan kunci appact dan nilai string kolom appact ditambahkan ke additional.fields . |
appcat |
additional.fields |
Kolom tambahan dengan kunci appcat dan nilai string kolom appcat ditambahkan ke additional.fields . |
applist |
additional.fields |
Kolom tambahan dengan kunci applist dan nilai string kolom applist ditambahkan ke additional.fields . |
apprisk |
additional.fields |
Kolom tambahan dengan kunci apprisk dan nilai string kolom apprisk ditambahkan ke additional.fields . |
attack |
security_result.category_details , security_result.threat_name , security_result.summary , security_result.detection_fields |
Nilai ditambahkan ke security_result.category_details . Untuk peristiwa IPS/Anomali, peristiwa ini juga digunakan untuk security_result.summary dan security_result.threat_name . Kolom deteksi dengan kunci attack dan nilai kolom attack ditambahkan ke security_result.detection_fields . |
attackid |
security_result.threat_id , security_result1.rule_id , security_result.detection_fields |
Untuk peristiwa IPS, nilai ini digunakan untuk security_result.threat_id . Untuk peristiwa lainnya, nama ini digunakan untuk security_result1.rule_id . Kolom deteksi dengan kunci attackId dan nilai kolom attackid ditambahkan ke security_result.detection_fields . |
cat |
security_result1.rule_id |
Untuk peristiwa webfilter, nilai ini digunakan untuk security_result1.rule_id . |
catdesc |
security_result.description , security_result1.rule_name , security_result.category_details |
Jika ada, kolom ini akan ditambahkan ke kolom msg untuk membuat security_result.description . Ini juga digunakan untuk security_result1.rule_name . Nilai ditambahkan ke security_result.category_details . |
changes |
security_result.summary |
Kolom changes diuraikan sebagai pasangan nilai kunci. Nilai mode dari changes yang diuraikan digunakan untuk security_result.summary . |
connection_type |
metadata.product_event_type |
Nilai ditambahkan ke metadata.product_event_type jika ada. |
craction |
security_result.about.labels |
Label dengan kunci craction dan nilai kolom craction ditambahkan ke security_result.about.labels . |
crlevel |
security_result.severity , event.idm.is_alert , event.idm.is_significant |
Jika crlevel adalah CRITICAL atau level adalah alert, is_alert dan is_significant akan ditetapkan ke TRUE. Nilai dipetakan ke security_result.severity berdasarkan pemetaan berikut: TINGGI untuk HIGH , SEDANG untuk MEDIUM , RENDAH untuk LOW , KRITIS untuk CRITICAL . |
crscore |
security_result.severity_details |
Untuk peristiwa IPS, nilai ini digunakan untuk security_result.severity_details . |
cs6 |
principal.user.group_identifiers |
Nilai ditambahkan ke principal.user.group_identifiers . |
date , time |
timestamp |
Kolom date dan time digabungkan dan diuraikan untuk membuat timestamp . |
devid |
security_result.detection_fields |
Kolom deteksi dengan kunci devid dan nilai kolom devid ditambahkan ke security_result.detection_fields . |
devname |
intermediary.hostname , target.hostname , target.asset.hostname , principal.hostname , principal.asset.hostname |
Jika dvchost ada, dvchost akan digunakan untuk intermediary.hostname . Jika tidak, devname akan digunakan. Untuk peristiwa VPN dengan type sebagai event , peristiwa tersebut digunakan untuk target.hostname . Untuk peristiwa pembuatan pengguna, peristiwa ini digunakan untuk principal.hostname . |
deviceSeverity |
level |
Nilai ini digunakan untuk mengisi kolom level . |
device_product |
metadata.product_name |
Nilai ini digunakan untuk metadata.product_name . Jika tidak ada, Fortigate akan digunakan sebagai default. |
device_vendor |
metadata.vendor_name |
Nilai ini digunakan untuk metadata.vendor_name . Jika tidak ada, Fortinet akan digunakan sebagai default. |
device_version |
metadata.product_version |
Nilai ini digunakan untuk metadata.product_version . |
dhcp_msg |
network.dhcp.type , metadata.event_type , network.application_protocol |
Jika nilainya Ack , network.dhcp.type ditetapkan ke ACK , metadata.event_type ditetapkan ke NETWORK_DHCP , dan network.application_protocol ditetapkan ke DHCP . |
dir |
direction |
Jika direction kosong, nilai diambil dari kolom dir . |
direction |
network.direction |
Nilai dipetakan ke network.direction berdasarkan pemetaan berikut: INBOUND untuk incoming , inbound , dan response ; OUTBOUND untuk outgoing , outbound , dan request . |
dst |
target.ip , target.asset.ip |
Nilai diuraikan sebagai alamat IP dan digunakan untuk target.ip . |
dstauthserver |
target.hostname , target.asset.hostname |
Nilai ini digunakan untuk target.hostname . |
dstcountry |
target.location.country_or_region |
Jika nilainya bukan Reserved atau kosong, nilai tersebut akan digunakan untuk target.location.country_or_region . |
dstip |
target.ip , target.asset.ip |
Nilai diuraikan sebagai alamat IP dan digunakan untuk target.ip . |
dstinetsvc |
security_result.detection_fields |
Kolom deteksi dengan kunci dstinetsvc dan nilai kolom dstinetsvc ditambahkan ke security_result.detection_fields . |
dstintf |
security_result.detection_fields |
Kolom deteksi dengan kunci dstintf dan nilai kolom dstintf ditambahkan ke security_result.detection_fields . |
dstintfrole |
security_result.detection_fields |
Kolom deteksi dengan kunci dstintfrole dan nilai kolom dstintfrole ditambahkan ke security_result.detection_fields . |
dstmac |
target.mac |
Nilai diuraikan sebagai alamat MAC dan digunakan untuk target.mac . |
dstosname |
target.platform |
Jika nilainya adalah WINDOWS , target.platform akan ditetapkan ke WINDOWS . |
dstport |
target.port |
Nilai dikonversi menjadi bilangan bulat dan digunakan untuk target.port . |
dstswversion |
target.platform_version |
Nilai ini digunakan untuk target.platform_version . |
dstuuid |
target.resource.product_object_id |
Nilai ini digunakan untuk target.resource.product_object_id . |
dstuser |
target.user.userid |
Nilai ini digunakan untuk target.user.userid . |
dtype |
security_result.category_details |
Nilai ditambahkan ke security_result.category_details . |
duration |
network.session_duration.seconds |
Jika nilai tidak kosong atau 0 , nilai tersebut akan dikonversi menjadi bilangan bulat dan digunakan untuk network.session_duration.seconds . |
duser |
principal.user.userid , target.user.userid , target.user.user_display_name |
Untuk peristiwa endpoint/sistem, ini digunakan untuk principal.user.userid . Untuk peristiwa login pengguna, ini digunakan untuk target.user.userid . Untuk log berformat CEF, format ini digunakan untuk target.user.user_display_name . |
dvchost |
devname |
Nilai ini digunakan untuk mengganti kolom devname . |
d_uid |
target.user.userid |
Nilai yang diekstrak dari kolom request digunakan untuk target.user.userid . |
error |
security_result.severity_details |
Jika level adalah error , dan error ada, nilai tersebut akan digunakan untuk security_result.severity_details . |
eventtime |
timestamp , metadata.event_timestamp |
Nilai diuraikan untuk membuat timestamp dan metadata.event_timestamp . |
eventtype |
security_result1.rule_type , security_result.detection_fields |
Nilai ini digunakan untuk security_result1.rule_type . Untuk peristiwa IPS, nama ini juga digunakan untuk security_result.detection_fields . |
filename |
target.file.full_path |
Nilai ini digunakan untuk target.file.full_path . |
group |
principal.user.group_identifiers |
Jika nilainya bukan N/A atau kosong, nilai tersebut akan ditambahkan ke principal.user.group_identifiers . |
hostname |
target.hostname , target.asset.hostname , principal.hostname , principal.asset.hostname |
Nilai ini digunakan untuk target.hostname . Untuk peristiwa Ack DHCP, parameter ini digunakan untuk principal.hostname . |
httpmethod |
network.http.method |
Nilai ini digunakan untuk network.http.method . |
in |
network.received_bytes |
Nilai dikonversi menjadi bilangan bulat tanpa tanda tangan dan digunakan untuk network.received_bytes . |
incidentserialno |
security_result.about.labels |
Label dengan kunci incidentserialno dan nilai kolom incidentserialno ditambahkan ke security_result.about.labels . |
ip |
principal.ip , principal.asset.ip , network.dhcp.yiaddr |
Untuk peristiwa endpoint/sistem, nilai ditambahkan ke principal.ip . Untuk peristiwa Ack DHCP, parameter ini digunakan untuk network.dhcp.yiaddr . |
ipaddr |
intermediary.ip |
Nilai diuraikan sebagai daftar alamat IP yang dipisahkan koma dan ditambahkan ke intermediary.ip . |
level |
security_result.severity , security_result.severity_details , event.idm.is_alert , event.idm.is_significant |
Jika crlevel adalah CRITICAL atau level adalah alert, is_alert dan is_significant akan ditetapkan ke TRUE. Nilai dipetakan ke security_result.severity berdasarkan pemetaan berikut: TINGGI untuk warning , SEDANG untuk notice , RENDAH untuk information dan info , ERROR untuk error . security_result.severity_details disetel ke level: <value> . |
locip |
principal.ip , principal.asset.ip |
Untuk peristiwa VPN, nilai ditambahkan ke principal.ip . |
locport |
dstport |
Nilai ini digunakan untuk mengganti kolom dstport . |
logdesc |
metadata.description |
Nilai ini digunakan untuk metadata.description . |
logid |
metadata.product_log_id , additional.fields |
Nilai ini digunakan untuk metadata.product_log_id . Kolom tambahan dengan kunci logid dan nilai string kolom logid ditambahkan ke additional.fields . |
log_id |
metadata.product_log_id |
Nilai ini digunakan untuk metadata.product_log_id . |
metadata.event_type |
metadata.event_type |
Nilai ditetapkan berdasarkan jenis peristiwa dan kolom lainnya. Setelan defaultnya adalah GENERIC_EVENT. Dapat ditetapkan ke NETWORK_CONNECTION, USER_UNCATEGORIZED, NETWORK_HTTP, USER_LOGIN, USER_LOGOUT, NETWORK_DNS, NETWORK_DHCP, STATUS_UNCATEGORIZED, NETWORK_UNCATEGORIZED, USER_CREATION, USER_DELETION. |
metadata.log_type |
metadata.log_type |
Nilai ditetapkan ke FORTINET_FIREWALL . |
metadata.product_event_type |
metadata.product_event_type |
Nilai ditetapkan ke <type> - <subtype> . Jika ada, connection_type akan ditambahkan ke nilai. Untuk log berformat CEF, setelan ini ditetapkan ke [<device_event_class_id>] - <event_name> <severity> . |
metadata.product_name |
metadata.product_name |
Nilai ini ditetapkan ke Fortigate secara default. Jika device_product ada, nilai tersebut akan digunakan. |
metadata.product_version |
metadata.product_version |
Nilai diambil dari kolom device_version jika ada. |
metadata.vendor_name |
metadata.vendor_name |
Nilai ini ditetapkan ke Fortinet secara default. Jika device_vendor ada, nilai tersebut akan digunakan. |
mode |
security_result.summary |
Nilai yang diekstrak dari kolom changes digunakan untuk security_result.summary . |
msg |
metadata.description , security_result.summary , security_result.description , security_result1.rule_name |
Jika logdesc tidak ada, nilai akan digunakan untuk metadata.description . Untuk peristiwa sistem, ini digunakan untuk security_result.summary . Untuk peristiwa webfilter, peristiwa ini ditambahkan di awal security_result.description . Untuk peristiwa virus dengan msg adalah File is infected. , peristiwa ini digunakan bersama dengan virus untuk mengisi security_result.summary . Untuk peristiwa app-ctrl, peristiwa ini digunakan untuk security_result1.rule_name . |
name |
principal.hostname , principal.asset.hostname |
Nilai ini digunakan untuk principal.hostname . |
nas |
principal.nat_ip |
Nilai diuraikan sebagai alamat IP dan digunakan untuk principal.nat_ip . |
operation |
security_result.action_details , security_result.action |
Nilai ini digunakan untuk security_result.action_details . Nilai ini juga dipetakan ke security_result.action berdasarkan pemetaan berikut: ALLOW untuk accept , passthrough , pass , permit , detected , close , dan edit ; BLOCK untuk deny , dropped , dan blocked ; FAIL untuk timeout ; UNKNOWN_ACTION untuk nilai lainnya. |
os |
principal.platform , principal.platform_version |
Jika nilai berisi Windows , principal.platform ditetapkan ke WINDOWS dan versi diekstrak serta digunakan untuk principal.platform_version . |
osname |
principal.platform |
Jika nilainya adalah WINDOWS , principal.platform akan ditetapkan ke WINDOWS . |
osversion |
principal.platform_version |
Nilai ini digunakan untuk principal.platform_version . |
out |
network.sent_bytes |
Nilai dikonversi menjadi bilangan bulat tanpa tanda tangan dan digunakan untuk network.sent_bytes . |
path |
security_result.description |
Nilai ini digunakan untuk security_result.description . |
performed_on |
security_result.about.application |
Nilai ini digunakan untuk security_result.about.application . |
policyid |
security_result.rule_id |
Nilai ini digunakan untuk security_result.rule_id . |
policyname |
security_result.rule_name |
Nilai ini digunakan untuk security_result.rule_name . |
policytype |
security_result.rule_type |
Nilai ini digunakan untuk security_result.rule_type . |
poluuid |
additional.fields |
Kolom tambahan dengan kunci poluuid dan nilai string kolom poluuid ditambahkan ke additional.fields . |
pri |
security_result.severity_details |
Nilai ini digunakan untuk security_result.severity_details . |
profile |
target.resource.name , target.resource.resource_type |
Nilai ini digunakan untuk target.resource.name dan target.resource.resource_type ditetapkan ke ACCESS_POLICY . |
proto |
network.ip_protocol |
Nilai dipetakan ke network.ip_protocol berdasarkan pemetaan berikut: UDP untuk 17 , TCP untuk 6 , IP6IN4 untuk 41 , ICMP untuk 1 , dan jika service adalah PING atau berisi ICMP . |
protocol |
network.application_protocol |
Jika nilainya adalah udp , network.ip_protocol akan ditetapkan ke UDP . Jika nilainya adalah tcp , network.ip_protocol akan ditetapkan ke TCP . Jika tidak, jika tidak kosong, nilai akan diuraikan dan digunakan untuk network.application_protocol . |
qclass |
network.dns.questions.class |
Jika nilainya adalah IN , network.dns.questions.class akan ditetapkan ke 1 . |
qname |
network.dns.questions.name |
Nilai ini digunakan untuk network.dns.questions.name . |
qtypeval |
network.dns.questions.type |
Nilai dikonversi menjadi bilangan bulat tanpa tanda tangan dan diganti namanya menjadi network.dns.questions.type . |
rcvdbyte |
network.received_bytes |
Nilai dikonversi menjadi bilangan bulat tanpa tanda tangan dan digunakan untuk network.received_bytes . |
rcvdpkt |
additional.fields |
Kolom tambahan dengan kunci receivedPackets dan nilai string kolom rcvdpkt ditambahkan ke additional.fields . |
reason |
security_result.description |
Jika nilainya bukan N/A atau kosong, nilai tersebut akan digunakan untuk security_result.description . |
referralurl |
network.http.referral_url |
Nilai ini digunakan untuk network.http.referral_url . |
ref |
metadata.url_back_to_product |
Nilai ini digunakan untuk metadata.url_back_to_product . |
remip |
principal.ip , principal.asset.ip |
Untuk peristiwa VPN, nilai ditambahkan ke principal.ip . |
remport |
srcport |
Nilai ini digunakan untuk mengganti kolom srcport . |
request |
target.user.userid |
Jika nilai berisi duid , duid akan diekstrak dan digunakan untuk target.user.userid . |
sentbyte |
network.sent_bytes |
Nilai dikonversi menjadi bilangan bulat tanpa tanda tangan dan digunakan untuk network.sent_bytes . |
sentpkt |
additional.fields |
Kolom tambahan dengan kunci sentPackets dan nilai string kolom sentpkt ditambahkan ke additional.fields . |
server |
target.hostname , target.asset.hostname |
Untuk peristiwa pengguna, nilai ini digunakan untuk target.hostname . |
service |
network.application_protocol , target.application |
Jika nilainya adalah salah satu dari HTTPS, HTTP, DNS, DHCP, atau SMB, nilai tersebut akan digunakan untuk network.application_protocol . Jika tidak, nilai ini akan digunakan untuk target.application . |
sessionid |
network.session_id |
Nilai ini digunakan untuk network.session_id . |
session_id |
network.session_id |
Nilai ini digunakan untuk network.session_id . |
severity |
security_result.severity , security_result.detection_fields |
Untuk log berformat CEF, nilai ini digunakan untuk security_result.severity . Kolom deteksi dengan kunci severity dan nilai kolom severity ditambahkan ke security_result.detection_fields . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.