Mengumpulkan log WatchGuard Firebox

Didukung di:

Dokumen ini menjelaskan cara menyerap log WatchGuard Firebox ke Google Security Operations menggunakan Bindplane. WatchGuard Firebox adalah perangkat firewall pengelolaan ancaman terpadu (UTM) yang menyediakan fitur keamanan jaringan termasuk inspeksi paket stateful, pencegahan intrusi, kontrol aplikasi, pemfilteran URL, antivirus gateway, dan konektivitas VPN. Log Firebox mencatat peristiwa traffic, notifikasi keamanan, aktivitas autentikasi, dan informasi kondisi sistem.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps.
  • Host Windows 2016 atau yang lebih baru atau Linux dengan systemd.
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane.
  • Akses istimewa ke UI web WatchGuard Firebox (Fireware Web UI) atau WatchGuard System Manager.

Mendapatkan kredensial Google SecOps untuk agen Bindplane

Untuk mengautentikasi agen Bindplane ke Google SecOps, pilih salah satu metode berikut:

  • Deployment baru: Gunakan Chronicle API (Opsi 1).
  • Deployment lama: Terus gunakan file autentikasi penyerapan (Opsi 2) hingga Ingestion API dihentikan pada 20 Juli 2027.
  1. Login ke konsolGoogle Cloud dan pilih project Google Cloud yang ditautkan ke instance Google SecOps Anda.
  2. Buka IAM & Admin > Service Accounts.
  3. Klik Create service account.
  4. Berikan detail konfigurasi berikut:
    • Service account name: Masukkan nama akun (misalnya, bindplane-ingest).
    • Deskripsi akun layanan: Masukkan deskripsi (misalnya, Bindplane agent log ingestion).
  5. Klik Create and continue.
  6. Di bagian Grant this service account access to project, klik Select a role, lalu pilih Chronicle Editor.
  7. Klik Continue lalu klik Done.
  8. Klik akun layanan yang Anda buat, lalu buka tab Keys.
  9. Klik Add key > Create new key.
  10. Pilih JSON, lalu klik Create. File kunci akan didownload ke komputer Anda.
  11. Simpan file kunci sebagai ingestion-auth.json di direktori Bindplane collector (/opt/observiq-otel-collector/ingestion-auth.json di Linux atau C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json di Windows), atau perbarui creds_file_path di config.yaml agar sesuai dengan jalur tempat Anda menyimpannya.
  12. Buka IAM & Admin > Settings dan salin Project number. Anda akan memerlukannya untuk konfigurasi pengekspor.

Opsi 2: Mendownload file autentikasi penyerapan (lama)

  1. Login ke konsol Google SecOps.
  2. Buka SIEM Settings > Collection Agents.
  3. Download file autentikasi penyerapan.
  4. Simpan file dengan aman di sistem tempat agen Bindplane akan diinstal.

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

Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.

Penginstalan Windows

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Penginstalan Linux

  1. Buka terminal dengan hak istimewa root atau sudo.
  2. 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

Mengonfigurasi agen Bindplane untuk menyerap syslog dan mengirimkannya ke Google SecOps

  1. Akses file konfigurasi:

    • Cari file config.yaml. Biasanya, file ini berada di direktori /opt/observiq-otel-collector/ di Linux atau di direktori penginstalan di Windows.
    • Buka file menggunakan editor teks (misalnya, nano, vi, atau Notepad).
  2. Edit file config.yaml sebagai berikut:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'WATCHGUARD'
        raw_log_field: body
        ingestion_labels:
    
    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 <LOCATION> dengan region instance Google SecOps Anda (misalnya, us, europe, atau asia-southeast1). Pengekspor akan menambahkan awalan chronicle.googleapis.com dengan nilai ini.
  • Ganti <PROJECT_NUMBER> dengan nomor project dari IAM & Admin > Settings.
  • Ganti YOUR_CUSTOMER_ID dengan ID Pelanggan yang sebenarnya.
  • Ganti /path/to/ingestion-authentication-file.json dengan jalur file tempat file kunci akun layanan (Opsi 1) disimpan di Langkah 1.

Pengekspor API penyerapan lama

  • Jika Anda menggunakan file autentikasi penyerapan dari Opsi 2, ganti blok exporters dengan kode berikut. Tetapkan creds_file_path ke jalur ke file autentikasi penyerapan, dan jika instance Anda berada di luar AS, ganti malachiteingestion-pa.googleapis.com dengan endpoint regional Anda (misalnya, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'WATCHGUARD'
        raw_log_field: body
        ingestion_labels:
    

Mulai ulang agen Bindplane untuk menerapkan perubahan

  1. Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:

    sudo systemctl restart observiq-otel-collector
    
  2. Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Mengonfigurasi penerusan syslog WatchGuard Firebox

Untuk mengonfigurasi WatchGuard Firebox agar meneruskan pesan syslog ke agen Bindplane, ikuti langkah-langkah berikut menggunakan Fireware Web UI:

  1. Login ke Fireware Web UI (https://<firebox-ip>:8080).
  2. Buka System > Logging.
  3. Klik Tambahkan di bagian Server Syslog.
  4. Berikan detail konfigurasi berikut:

    • IP Address: Masukkan alamat IP host agen Bindplane (misalnya, 192.168.1.100).
    • Port: Masukkan 514 (atau port yang dikonfigurasi di agen Bindplane).
    • Log Format: Pilih Syslog (format syslog BSD standar).
  5. Di bagian Syslog Settings, konfigurasikan level log:

    • Tetapkan Tingkat Log ke Informasi atau yang lebih tinggi untuk merekam peristiwa traffic, keamanan, dan sistem.
  6. Klik Simpan.

Mengonfigurasi jenis log yang akan diteruskan

  1. Di Fireware Web UI, buka System > Logging > Syslog.
  2. Pastikan jenis log berikut diaktifkan untuk penerusan syslog:

    • Traffic - peristiwa traffic firewall (izinkan, tolak).
    • Alarm - Peristiwa IPS dan alarm keamanan.
    • Peristiwa - peristiwa sistem dan perubahan status.
    • Debug - opsional, hanya untuk pemecahan masalah.
  3. Klik Simpan.

(Alternatif) Mengonfigurasi melalui WatchGuard System Manager

  1. Buka WatchGuard System Manager dan hubungkan ke Firebox.
  2. Buka Setup > Logging > Send log messages to this syslog server.
  3. Klik Tambahkan.
  4. Berikan detail konfigurasi berikut:

    • IP Address: Masukkan alamat IP host agen Bindplane.
    • Port: Masukkan 514.
    • Log Format: Pilih Syslog.
  5. Klik OK dan simpan konfigurasi ke Firebox.

Untuk mengetahui informasi selengkapnya, lihat dokumentasi logging WatchGuard Fireware.

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 sebagai "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 Belum 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 Belum 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 Belum 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 "reputation".
response Belum 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 Belum 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 sebagai "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 sebagai "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 Belum 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 Belum 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 Belum 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 Belum 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 ditetapkan 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 Ditetapkan 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 Ditetapkan ke "Tindakan atas resource" saat action dipetakan ke target.labels.value.
(T/A) intermediary.labels.key Tetapkan ke "Firewall Member Name" jika 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" jika 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 "state" jika status dipetakan ke principal.labels.value.
(T/A) target.labels.key Disetel 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" jika nilai yang sesuai dipetakan dari log mentah.

Log Perubahan

Melihat Log Perubahan untuk parser ini

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.