Mengumpulkan log WatchGuard Fireware

Didukung di:

Ringkasan

Parser ini mengekstrak log WatchGuard Fireware dalam format JSON atau nilai kunci (KV), yang mengubahnya menjadi UDM. Log ini menangani log "Traffic" dan "Event" secara berbeda, menggunakan filter grok dan kv untuk mengekstrak kolom dan memetakan ke UDM, dengan logika spesifik 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 memetakan ke format UDM.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Chronicle.
  • Pastikan Anda memiliki akses dengan hak istimewa ke Watchguard.
  • Pastikan Anda memiliki Windows 2012 SP2 atau yang lebih baru atau host Linux dengan systemd.
  • Jika berjalan di balik proxy, pastikan port firewall terbuka.

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Proses Transfer.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.

Menginstal Agen BindPlane

  1. Untuk penginstalan Windows, jalankan skrip berikut: msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. 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.
  3. Opsi penginstalan tambahan dapat ditemukan di panduan penginstalan ini.

Mengonfigurasi Agen BindPlane untuk menyerap Syslog dan mengirim ke Google SecOps

  1. Akses komputer tempat BindPlane diinstal.
  2. 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
    
  3. Mulai ulang Agen BindPlane untuk menerapkan perubahan menggunakan perintah berikut: sudo systemctl bindplane restart

Menambahkan konfigurasi server Syslog ke Watchguard

  1. Login ke UI Watchguard.
  2. Pilih System > Logging.
  3. Klik tab Syslog Server.
  4. Centang kotak Kirim pesan log ke server syslog ini.
  5. Klik Tambahkan.
  6. Tentukan nilai untuk parameter input di dialog Syslog Server:

    • Alamat IP: ketik alamat IP server.
    • Port: ubah port server syslog default (514), ketik port yang berbeda untuk server Anda.
    • Format Log: 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 dalam detail pesan log.
    • Opsional: Nomor seri perangkat centang kotak untuk menyertakan nomor seri Firebox dalam detail pesan log.
    • Fasilitas syslog: untuk setiap jenis pesan log, pilih prioritas dari drop-down (misalnya, pesan syslog prioritas tinggi, seperti alarm, pilih Local0).
    • Opsional: Pulihkan Default: untuk memulihkan setelan default.
  7. 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 tetapkan 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 ke 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 konteks.
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 tetapkan ke "Fireware".
(T/A) metadata.vendor_name Selalu tetapkan ke "Watchguard".
(T/A) security_result.action Ditentukan oleh logika parser berdasarkan disposition. Dapat berupa "ALLOW" atau "BLOCK".
(T/A) extensions.auth.type Tetapkan 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 data "A".
(T/A) target.labels.key Tetapkan ke "Action over resource" saat action dipetakan ke target.labels.value.
(T/A) intermediary.labels.key Tetapkan ke "Nama Anggota Firewall" saat prin_host dipetakan ke intermediary.labels.value.
(T/A) intermediary.labels.key Tetapkan ke "Gateway-Endpoint" saat endpoint dipetakan ke intermediary.labels.value.
(T/A) principal.labels.key Tetapkan ke "Gateway" saat gateway dipetakan ke principal.labels.value.
(T/A) target.labels.key Tetapkan ke "Gateway" saat gateway dipetakan ke target.labels.value.
(T/A) principal.labels.key Tetapkan ke "status" saat status dipetakan ke principal.labels.value.
(T/A) target.labels.key Tetapkan ke "Status Gateway" saat status dipetakan ke target.labels.value.
(T/A) additional.fields.key Tetapkan ke "signature_name", "signature_cat", "signature_id", atau "reputation" saat nilai yang sesuai dipetakan dari log mentah.

Perubahan

2023-12-03

  • Mengubah pola Grok untuk mengurai kolom baru.
  • Mengubah beberapa pola Grok untuk mengurai pola baru "identified_log".
  • Menambahkan pola Grok baru untuk mengurai "identified_log" yang memiliki nilai "msg_id" sebagai "1600-0066".

2023-11-27

  • Memetakan "signature_name" ke "additional.fields" untuk log yang memiliki "msg_id" sama dengan "3000-0150".
  • Memetakan "signature_id", "signature_cat" ke "additional.fields".

2023-11-24

  • Mengubah beberapa pola Grok untuk mengurai kolom baru.
  • Memetakan "firewallname" ke "event.idm.read_only_udm.intermediary.hostname".
  • Memetakan "firewall_id" ke "event.idm.read_only_udm.intermediary.asset_id".
  • Memetakan "prin_host" ke "event.idm.read_only_udm.intermediary.labels"

2023-11-10

  • Menghapus kode duplikat.
  • Memetakan "signature_name" ke "additional.fields".

2023-09-28

  • Perbaikan bug:
  • Mengubah filter "date" untuk mendukung format berikut "yyyy-MM-dd HH:mm:ss", "MMM d HH:mm:ss", "MMM dd HH:mm:ss", "ISO8601", "yyyy-MM-ddTHH:mm:ss".

2023-05-25

  • Perbaikan bug:
  • Mengubah pemetaan untuk kolom "src_vpn_ip" dari "principal.ip" menjadi "target.ip" untuk peristiwa "Menerima pesan DPD dari host target melalui gateway".

2023-05-04

  • Peningkatan - Menambahkan pola Grok untuk menangani log yang tidak diuraikan dengan peristiwa 'dnsmasq', 'dhcpd', 'iked', 'admd'.

2023-01-20

  • Peningkatan - Menambahkan grok untuk menangani log yang tidak diuraikan.
  • Memetakan "dst_port" ke target.port.
  • Memetakan "src_port" ke principal.port.
  • Memetakan "rcvd_bytes" ke network.received_bytes.
  • Memetakan "geo_src" ke principal.location.country_or_region.
  • Memetakan "geo_dst" ke target.location.country_or_region.
  • Memetakan "prin_host" ke "principal.hostname".
  • Menambahkan pemeriksaan bersyarat untuk "dhcp_type", "intermediary_host", "protocol"
  • Untuk "msg_id" sama dengan "1600-0066"
  • Menambahkan pola grok untuk "msg_id" yang sama dengan "1600-0066".
  • Memetakan "description" ke "metadeta.description".
  • Untuk "msg_id" sama dengan "2DFF-0000"
  • Memetakan "proxy_act" ke "security_result.rule_name".

2022-12-17

  • Peningkatan - Memetakan nama firewall ke "principal.asset_id" untuk log yang berisi Member1.
  • Mengubah "event_type" dari "SERVICE_MODIFICATION" menjadi "NETWORK_CONNECTION".
  • Memetakan "src_user" ke "principal.user.email_addresses" jika merupakan Email, atau memetakan ke "principal.user.user_display_name".

2022-12-16

  • Peningkatan -
  • Menambahkan grok untuk menangani log yang tidak diuraikan dengan event_name 'firewall'.
  • Mengurangi jenis GENERIC_EVENT.

2022-11-16

  • Peningkatan - Memetakan kolom 'reason' ke 'security_result.action_details'.
  • Menambahkan grok untuk menangani log yang tidak diuraikan dengan event_name 'firewall'.
  • Menambahkan blok kondisional tambahan untuk mengurai log dengan event_name 'loggerd', 'sigd', 'sessiond', 'admd', 'iked'.

2022-11-07

  • Perbaikan bug:
  • Jalur yang dipetakan diberikan di header http dari 'target.file.full_path' ke 'target.url'.

2022-06-17

  • Peningkatan - Log yang diuraikan dengan peristiwa yang terkait dengan "firewall", "http-proxy", "https-proxy".