Mengumpulkan log WatchGuard Fireware
Ringkasan
Parser ini mengekstrak log WatchGuard Fireware dalam format JSON atau key-value (KV), lalu mengubahnya menjadi UDM. Proses ini menangani log "Traffic" dan "Event" secara berbeda, menggunakan filter grok dan kv untuk mengekstrak kolom dan memetakannya ke UDM, dengan logika khusus untuk berbagai nilai msg_id
dan nama peristiwa, menangani protokol jaringan, tindakan pengguna, hasil keamanan, dan detail relevan lainnya. Proses ini juga memproses grup kedua entri syslog, mengekstrak informasi serupa, dan memetakannya ke format UDM.
Sebelum memulai
- Pastikan Anda memiliki instance Google SecOps.
- Pastikan Anda memiliki akses istimewa ke Watchguard.
- Pastikan Anda memiliki host Windows 2012 SP2 atau yang lebih baru atau Linux dengan systemd.
- Jika berjalan di belakang proxy, pastikan port firewall terbuka.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka SIEM Settings > Collection Agents.
- Download File Autentikasi Penyerapan.
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
- Untuk penginstalan Windows, jalankan skrip berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
. - Untuk penginstalan Linux, jalankan skrip berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
. - Opsi penginstalan tambahan dapat ditemukan di panduan penginstalan ini.
Mengonfigurasi Agen BindPlane untuk memproses Syslog dan mengirimkannya ke Google SecOps
- Akses komputer tempat BindPlane diinstal.
Edit file
config.yaml
sebagai berikut:receivers: tcplog: # Replace the below port <54525> and IP (0.0.0.0) with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: testNamespace raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Mulai ulang Bindplane Agent untuk menerapkan perubahan menggunakan perintah berikut:
sudo systemctl bindplane restart
Menambahkan konfigurasi server Syslog ke Watchguard
- Login ke UI Watchguard.
- Pilih Sistem > Logging.
- Klik tab Syslog Server.
- Centang kotak Kirim pesan log ke server syslog ini.
- Klik Tambahkan.
Tentukan nilai untuk parameter input dalam dialog Syslog Server:
- Alamat IP: ketik alamat IP server.
- Port: ubah port server syslog default (514), ketik port lain untuk server Anda.
- Log Format: pilih Syslog dari menu drop-down.
- Opsional: Deskripsi: ketik deskripsi untuk server (misalnya, Ekspor Google SecOps).
- Opsional: Stempel waktu: centang kotak centang untuk menyertakan tanggal dan waktu terjadinya peristiwa di Firebox Anda dalam detail pesan log.
- Opsional: Nomor seri perangkat, pilih kotak centang untuk menyertakan nomor seri Firebox dalam detail pesan log.
- Fasilitas Syslog: untuk setiap jenis pesan log, pilih prioritas dari drop-down (misalnya, pesan syslog berprioritas tinggi, seperti alarm, pilih Local0).
- Opsional: Pulihkan Default: untuk memulihkan setelan default.
Klik Simpan.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
action |
security_result.action_details |
Nilai action dari log mentah ditetapkan ke security_result.action_details . |
action |
target.labels.value |
Nilai action dari log mentah ditetapkan ke target.labels.value , dengan target.labels.key adalah "Tindakan atas resource". |
arg |
target.file.full_path |
Nilai arg dari log mentah ditetapkan ke target.file.full_path . |
app_cat_id |
about.labels.value |
Nilai app_cat_id dari log mentah ditetapkan ke about.labels.value , dengan about.labels.key adalah "app_cat_id". |
app_cat_name |
target.application |
Digunakan bersama dengan app_name untuk membentuk nilai target.application (misalnya, "Google - Layanan web"). |
app_id |
about.labels.value |
Nilai app_id dari log mentah ditetapkan ke about.labels.value , dengan about.labels.key adalah "app_id". |
app_name |
target.application |
Digunakan bersama dengan app_cat_name untuk membentuk nilai target.application (misalnya, "Google - Layanan web"). |
cats |
security_result.category_details |
Nilai cats dari log mentah ditetapkan ke security_result.category_details . |
cert_issuer |
network.tls.server.certificate.issuer |
Nilai cert_issuer dari log mentah ditetapkan ke network.tls.server.certificate.issuer . |
cert_subject |
network.tls.server.certificate.subject |
Nilai cert_subject dari log mentah ditetapkan ke network.tls.server.certificate.subject . |
cn |
network.tls.server.certificate.subject |
Nilai cn dari log mentah ditetapkan ke network.tls.server.certificate.subject . |
conn_action |
security_result.action_details |
Nilai conn_action dari log mentah ditetapkan ke security_result.action_details . |
content_type |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
description |
metadata.description |
Nilai description yang berasal dari log mentah ditetapkan ke metadata.description . |
dhcp_type |
network.dhcp.type |
Nilai dhcp_type dari log mentah dipetakan ke jenis DHCP yang sesuai di network.dhcp.type (misalnya, "REQUEST", "ACK"). |
dst_host |
target.hostname |
Nilai dst_host dari log mentah ditetapkan ke target.hostname . |
dst_ip |
target.ip |
Nilai dst_ip dari log mentah ditetapkan ke target.ip . |
dst_mac |
target.mac |
Nilai dst_mac dari log mentah ditetapkan ke target.mac . |
dst_port |
target.port |
Nilai dst_port dari log mentah ditetapkan ke target.port . |
dst_user |
target.user.user_display_name |
Nilai dst_user dari log mentah ditetapkan ke target.user.user_display_name . |
dstname |
target.administrative_domain |
Nilai dstname dari log mentah ditetapkan ke target.administrative_domain . |
duration |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
elapsed_time |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
endpoint |
intermediary.labels.value |
Nilai endpoint dari log mentah ditetapkan ke intermediary.labels.value , dengan intermediary.labels.key adalah "Gateway-Endpoint". |
event_name |
principal.application |
Nilai event_name dari log mentah ditetapkan ke principal.application . |
firewall_id |
intermediary.asset_id |
Nilai firewall_id dari log mentah diawali dengan "Firewall ID : " dan ditetapkan ke intermediary.asset_id . |
firewall_name |
principal.asset_id |
Nilai firewall_name dari log mentah diawali dengan "Firewall: " dan ditetapkan ke principal.asset_id . |
firewallname |
intermediary.hostname |
Nilai firewallname dari log mentah ditetapkan ke intermediary.hostname . |
firewallname |
principal.hostname |
Nilai firewallname dari log mentah ditetapkan ke principal.hostname . |
fqdn_dst_match |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
geo |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
geo_dst |
target.location.country_or_region |
Nilai geo_dst dari log mentah ditetapkan ke target.location.country_or_region . |
geo_src |
principal.location.country_or_region |
Nilai geo_src dari log mentah ditetapkan ke principal.location.country_or_region . |
host |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
ike_policy |
security_result.rule_id |
Nilai ike_policy dari log mentah ditetapkan ke security_result.rule_id . |
ike_policy_version |
security_result.rule_version |
Nilai ike_policy_version dari log mentah ditetapkan ke security_result.rule_version . |
intermediary_host |
intermediary.hostname |
Nilai intermediary_host dari log mentah ditetapkan ke intermediary.hostname . |
ipaddress |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
ipsec_policy |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
ipsec_policy_version |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
keyword |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
line |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
log_message |
metadata.description |
Nilai log_message dari log mentah ditetapkan ke metadata.description jika deskripsi lain yang lebih spesifik tidak tersedia. |
log_reason |
security_result.summary |
Nilai log_reason dari log mentah ditetapkan ke security_result.summary . |
log_type |
metadata.log_type |
Nilai log_type dari log mentah ditetapkan ke metadata.log_type . Selalu ditetapkan ke "WATCHGUARD". |
msg |
security_result.summary |
Nilai msg dari log mentah ditetapkan ke security_result.summary . |
msg_id |
metadata.product_event_type |
Nilai msg_id dari log mentah ditetapkan ke metadata.product_event_type . |
new_action |
security_result.action_details |
Digunakan dengan conn_action untuk membentuk nilai security_result.action_details (misalnya, "ProxyReplace: IP protocol - HTTPS-Client.DPI-Off"). |
op |
network.http.method |
Nilai op dari log mentah ditetapkan ke network.http.method . |
path |
target.url |
Nilai path dari log mentah ditetapkan ke target.url . |
pid |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
policy_name |
intermediary.resource.name |
Nilai policy_name dari log mentah ditetapkan ke intermediary.resource.name . |
policy_name |
security_result.rule_name |
Nilai policy_name dari log mentah ditetapkan ke security_result.rule_name . |
policyname_label.value |
security_result.rule_labels.value |
Nilai policy_name dari log mentah ditetapkan ke security_result.rule_labels.value , dengan security_result.rule_labels.key adalah "PolicyName". |
prin_host |
principal.hostname |
Nilai prin_host dari log mentah ditetapkan ke principal.hostname . |
proc_id |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
protocol |
network.ip_protocol |
Nilai protocol dari log mentah, yang dikonversi menjadi huruf besar, ditetapkan ke network.ip_protocol . Penanganan khusus untuk "EXTERNAL ICMP" yang dipetakan ke "ICMP". |
proxy_act |
security_result.rule_id |
Nilai proxy_act dari log mentah ditetapkan ke security_result.rule_id . |
proxy_act |
security_result.rule_name |
Nilai proxy_act dari log mentah ditetapkan ke security_result.rule_name . |
query_name |
network.dns.questions.name |
Nilai query_name dari log mentah ditetapkan ke network.dns.questions.name . |
query_type |
network.dns.questions.type |
Nilai query_type dari log mentah ditetapkan ke network.dns.questions.type . Penanganan khusus untuk jenis kueri numerik dan pemetaan ke jenis kueri DNS standar. |
rc |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
reason |
security_result.summary |
Nilai reason dari log mentah ditetapkan ke security_result.summary . |
record_type |
network.dns.answers.type |
Nilai record_type dari log mentah dipetakan ke jenis data DNS yang sesuai di network.dns.answers.type . |
redirect_action |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
reputation |
additional.fields.value.string_value |
Nilai reputation dari log mentah ditetapkan ke additional.fields.value.string_value , dengan additional.fields.key adalah "reputasi". |
response |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
response_code |
network.dns.response_code |
Nilai response_code dari log mentah dipetakan ke kode respons DNS yang sesuai di network.dns.response_code . |
route_type |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
rule_name |
security_result.rule_name |
Nilai rule_name dari log mentah ditetapkan ke security_result.rule_name . |
rcvd_bytes |
network.received_bytes |
Nilai rcvd_bytes dari log mentah ditetapkan ke network.received_bytes . |
sent_bytes |
network.sent_bytes |
Nilai sent_bytes dari log mentah ditetapkan ke network.sent_bytes . |
server_ssl |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
severity |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
sig_vers |
network.tls.server.certificate.version |
Nilai sig_vers dari log mentah ditetapkan ke network.tls.server.certificate.version . |
signature_cat |
additional.fields.value.string_value |
Nilai signature_cat dari log mentah ditetapkan ke additional.fields.value.string_value , dengan additional.fields.key adalah "signature_cat". |
signature_id |
additional.fields.value.string_value |
Nilai signature_id dari log mentah ditetapkan ke additional.fields.value.string_value , dengan additional.fields.key adalah "signature_id". |
signature_name |
additional.fields.value.string_value |
Nilai signature_name dari log mentah ditetapkan ke additional.fields.value.string_value , dengan additional.fields.key adalah "signature_name". |
sni |
network.tls.client.server_name |
Nilai sni dari log mentah ditetapkan ke network.tls.client.server_name . |
src_ctid |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
src_host |
principal.hostname |
Nilai src_host dari log mentah ditetapkan ke principal.hostname . |
src_ip |
principal.ip |
Nilai src_ip dari log mentah ditetapkan ke principal.ip . |
src_ip_nat |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
src_mac |
principal.mac |
Nilai src_mac dari log mentah ditetapkan ke principal.mac . |
src_port |
principal.port |
Nilai src_port dari log mentah ditetapkan ke principal.port . |
src_user |
principal.user.user_display_name |
Nilai src_user dari log mentah ditetapkan ke principal.user.user_display_name . |
src_user_name |
principal.user.user_display_name |
Nilai src_user_name dari log mentah ditetapkan ke principal.user.user_display_name . |
src_vpn_ip |
principal.ip |
Nilai src_vpn_ip dari log mentah ditetapkan ke principal.ip . |
srv_ip |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
srv_port |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
ssl_offload |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
tcp_info |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
time |
metadata.event_timestamp.seconds , timestamp.seconds |
Nilai time dari log mentah diuraikan dan digunakan untuk mengisi metadata.event_timestamp.seconds dan timestamp.seconds . |
time1 |
metadata.event_timestamp.seconds , timestamp.seconds |
Nilai time1 dari log mentah diuraikan dan digunakan untuk mengisi metadata.event_timestamp.seconds dan timestamp.seconds . |
tls_profile |
about.labels.value |
Nilai tls_profile dari log mentah ditetapkan ke about.labels.value , dengan about.labels.key adalah "tls_profile". |
tls_version |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
user_name |
principal.user.userid , principal.user.user_display_name |
Nilai user_name dari log mentah ditetapkan ke principal.user.userid atau principal.user.user_display_name , bergantung pada konteksnya. |
user_type |
Tidak dipetakan | Tidak dipetakan ke objek IDM dalam contoh UDM yang diberikan. |
(T/A) | intermediary.resource.type |
Selalu ditetapkan ke "ACCESS_POLICY". |
(T/A) | metadata.event_type |
Ditentukan oleh logika parser berdasarkan msg_id , log_type , event_name , dan kolom lainnya. Dapat berupa NETWORK_CONNECTION , SERVICE_MODIFICATION , NETWORK_SMTP , NETWORK_DNS , NETWORK_HTTP , USER_LOGIN , USER_LOGOUT , USER_RESOURCE_UPDATE_CONTENT , RESOURCE_PERMISSIONS_CHANGE , RESOURCE_CREATION , GENERIC_EVENT , STATUS_UPDATE , atau USER_UNCATEGORIZED . |
(T/A) | metadata.product_name |
Selalu disetel ke "Fireware". |
(T/A) | metadata.vendor_name |
Selalu ditetapkan ke "Watchguard". |
(T/A) | security_result.action |
Ditentukan oleh logika parser berdasarkan disposition . Dapat berupa "ALLOW" atau "BLOCK". |
(T/A) | extensions.auth.type |
Disetel ke "AUTHTYPE_UNSPECIFIED" untuk peristiwa login/logout pengguna, dan "VPN" untuk peristiwa jaringan yang terkait dengan VPN. |
(T/A) | network.application_protocol |
Ditentukan oleh logika parser berdasarkan msg_id dan event_name . Dapat berupa "DNS", "DHCP", "HTTP", atau "HTTPS". |
(T/A) | network.dns.questions.type |
Tetapkan ke 1 untuk kueri catatan "A". |
(T/A) | target.labels.key |
Ditetapkan ke "Tindakan atas resource" saat action dipetakan ke target.labels.value . |
(T/A) | intermediary.labels.key |
Disetel ke "Nama Anggota Firewall" saat prin_host dipetakan ke intermediary.labels.value . |
(T/A) | intermediary.labels.key |
Disetel ke "Gateway-Endpoint" saat endpoint dipetakan ke intermediary.labels.value . |
(T/A) | principal.labels.key |
Setel ke "Gateway" jika gateway dipetakan ke principal.labels.value . |
(T/A) | target.labels.key |
Setel ke "Gateway" jika gateway dipetakan ke target.labels.value . |
(T/A) | principal.labels.key |
Disetel ke "state" saat status dipetakan ke principal.labels.value . |
(T/A) | target.labels.key |
Disetel ke "Status Gateway" jika status dipetakan ke target.labels.value . |
(T/A) | additional.fields.key |
Disetel ke "signature_name", "signature_cat", "signature_id", atau "reputation" saat nilai yang sesuai dipetakan dari log mentah. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.