Mengumpulkan log Sophos UTM

Didukung di:

Dokumen ini menjelaskan cara menyerap log Sophos UTM ke Google Security Operations menggunakan Bindplane.

Sophos UTM (Unified Threat Management) adalah perangkat keamanan jaringan all-in-one yang menyediakan kemampuan firewall, VPN, pencegahan intrusi, pemfilteran web, pemfilteran email, dan antivirus. Solusi ini menawarkan pengelolaan keamanan terpusat untuk jaringan perusahaan melalui satu konsol pengelolaan berbasis web. Parser mengekstrak kolom dari log berformat KV Sophos UTM. Log ini menggunakan grok dan/atau kv untuk mengurai pesan log, lalu memetakan nilai ini ke Model Data Terpadu (UDM). Layanan ini juga menetapkan nilai metadata default untuk sumber dan jenis peristiwa.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Windows Server 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses istimewa ke antarmuka WebAdmin Sophos UTM

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat 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
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sc query observiq-otel-collector
    

Layanan akan ditampilkan sebagai RUNNING.

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
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sudo systemctl status observiq-otel-collector
    

Layanan akan ditampilkan sebagai aktif (berjalan).

Referensi penginstalan tambahan

Untuk opsi penginstalan dan pemecahan masalah tambahan, lihat Panduan penginstalan agen BindPlane.

Mengonfigurasi agen BindPlane untuk menyerap syslog dan mengirimkannya ke Google SecOps

Cari file konfigurasi

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Edit file konfigurasi

  • Ganti seluruh konten config.yaml dengan konfigurasi berikut:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            customer_id: 'YOUR_CUSTOMER_ID'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: 'SOPHOS_UTM'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Parameter konfigurasi

  • Ganti placeholder berikut:

    • Konfigurasi penerima:

      • udplog: Gunakan udplog untuk syslog UDP atau tcplog untuk syslog TCP
      • 0.0.0.0: Alamat IP yang akan didengarkan (0.0.0.0 untuk mendengarkan semua antarmuka)
      • 514: Nomor port yang akan diproses (port syslog standar)
    • Konfigurasi eksportir:

      • creds_file_path: Jalur lengkap ke file autentikasi penyerapan:
        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • YOUR_CUSTOMER_ID: ID Pelanggan dari bagian Dapatkan ID pelanggan
      • endpoint: URL endpoint regional:
        • Amerika Serikat: malachiteingestion-pa.googleapis.com
        • Eropa: europe-malachiteingestion-pa.googleapis.com
        • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
        • Lihat Endpoint Regional untuk mengetahui daftar lengkapnya
      • log_type: Jenis log persis seperti yang muncul di Chronicle (SOPHOS_UTM)

Simpan file konfigurasi

  • Setelah mengedit, simpan file:
    • Linux: Tekan Ctrl+O, lalu Enter, lalu Ctrl+X
    • Windows: Klik File > Save

Mulai ulang agen Bindplane untuk menerapkan perubahan

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

    sudo systemctl restart observiq-otel-collector
    
    1. Pastikan layanan sedang berjalan:

        sudo systemctl status observiq-otel-collector
      
    2. Periksa log untuk mengetahui error:

        sudo journalctl -u observiq-otel-collector -f
      
  • Untuk memulai ulang agen Bindplane di Windows, pilih salah satu opsi berikut:

    • Command Prompt atau PowerShell sebagai administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Konsol layanan:

      1. Tekan Win+R, ketik services.msc, lalu tekan Enter.
      2. Temukan observIQ OpenTelemetry Collector.
      3. Klik kanan, lalu pilih Mulai Ulang.

      4. Pastikan layanan sedang berjalan:

        sc query observiq-otel-collector
        
      5. Periksa log untuk mengetahui error:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Mengonfigurasi penerusan Syslog di Sophos UTM

  1. Login ke antarmuka WebAdmin Sophos UTM.
  2. Buka Logging & Reporting > Log Settings > Remote Syslog Server.
  3. Klik tombol untuk Mengaktifkan syslog jarak jauh.
  4. Berikan detail konfigurasi berikut:
    • Server Syslog Jarak Jauh: Masukkan alamat IP host agen Bindplane.
    • Port: Masukkan 514.
  5. Di bagian Remote Syslog Log Selection, pilih jenis log yang akan diteruskan:
    • Filter Paket: Log filter paket firewall
    • Filter Web: Aktivitas pemfilteran web
    • IPS: Peristiwa Intrusion Prevention System
    • Autentikasi: Peristiwa autentikasi pengguna
    • Email: Peristiwa karantina dan pemfilteran email
    • Perlindungan Jaringan: Log perlindungan ancaman lanjutan
    • WebServer Protection: Log WAF
    • VPN: Peristiwa koneksi VPN
    • HA/Cluster: Peristiwa ketersediaan tinggi dan cluster
    • Sistem: Peristiwa tingkat sistem
    • DHCP: Log server DHCP
    • DNS: Log kueri DNS
  6. Klik Terapkan untuk menyimpan konfigurasi.
  7. Pastikan pesan syslog dikirim dengan memeriksa log agen Bindplane.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
tindakan security_result.action Jika tindakan adalah "lulus" atau "terima", petakan ke "ALLOW". Jika tindakan adalah "drop", petakan ke "BLOCK".
ad_domain target.administrative_domain Pemetaan langsung.
alamat target.ip, target.asset.ip Pemetaan langsung, digunakan saat ID adalah "2203".
aplikasi target.application Pemetaan langsung.
app-id additional.fields[].key, additional.fields[].value.string_value Diganti namanya menjadi app_id. Jika tidak kosong, kunci disetel ke "app-id" dan nilainya adalah app-id itu sendiri.
application principal.application Pemetaan langsung.
aptptime additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong, kunci disetel ke "aptptime" dan nilainya adalah aptptime itu sendiri.
auth extensions.auth.auth_details Pemetaan langsung.
authtime additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong dan bukan "0", kunci disetel ke "authtime" dan nilainya adalah authtime itu sendiri.
avscantime additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong dan bukan "0", kunci disetel ke "avscantime" dan nilainya adalah avscantime itu sendiri.
category security_result.detection_fields[].key, security_result.detection_fields[].value Jika tidak kosong, kunci disetel ke "category" dan nilainya adalah kategori itu sendiri. Jika nama berisi "portscan", security_result.category disetel ke "NETWORK_RECON" dan kolom deteksi dengan kunci "category" dan nilai "NETWORK_RECON" ditambahkan.
categoryname security_result.category_details Pemetaan langsung.
koneksi security_result.rule_name Pemetaan langsung, digunakan saat ID adalah "2203".
data content-type (Lihat kolom lainnya) Kolom data berisi key-value pair yang diuraikan ke dalam kolom individual.
datetime metadata.event_timestamp Diuraikan dan dipetakan sebagai detik sejak epoch.
device additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong dan bukan "0", kunci disetel ke "device" dan nilainya adalah perangkat itu sendiri.
dnstime additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong dan bukan "0", kunci disetel ke "dnstime" dan nilainya adalah dnstime itu sendiri.
dstip target.ip, target.asset.ip Pemetaan langsung. Juga diekstrak dari kolom URL jika ada.
dstmac target.mac Pemetaan langsung.
dstport target.port Pemetaan langsung, dikonversi menjadi bilangan bulat.
peristiwa error security_result.summary Pemetaan langsung, digunakan saat ID adalah "2201", "2202", atau "2203".
exceptions additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong, kunci disetel ke "exceptions" dan nilainya adalah pengecualian itu sendiri.
file about.file.full_path Pemetaan langsung.
filteraction security_result.rule_name Pemetaan langsung.
fullreqtime additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong, kunci disetel ke "fullreqtime" dan nilainya adalah fullreqtime itu sendiri.
fwrule security_result.rule_id Pemetaan langsung.
grup target.group.group_display_name Pemetaan langsung.
id metadata.product_log_id Pemetaan langsung.
info security_result.description Pemetaan langsung. Jika ada, metadata.event_type ditetapkan ke "NETWORK_UNCATEGORIZED".
Antarmuka initf security_result.about.labels[].key, security_result.about.labels[].value Jika tidak kosong, label dengan kunci "Interface" dan nilai interface akan ditambahkan ke security_result.about.labels.
ip_address target.ip, target.asset.ip Pemetaan langsung.
pesan baris panjang security_result.summary Digunakan saat ID adalah "0003". Juga digunakan untuk parsing grok umum.
metode network.http.method Pemetaan langsung.
nama security_result.summary Pemetaan langsung.
outitf pid target.process.pid Pemetaan langsung.
port target.port Pemetaan langsung, dikonversi menjadi bilangan bulat.
profil prec security_result.rule_name Pemetaan langsung.
proto network.ip_protocol Dikonversi menjadi nama protokol IP menggunakan tabel lookup.
referer alasan network.http.referral_url Pemetaan langsung.
permintaan additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong, kunci disetel ke "request" dan nilainya adalah permintaan itu sendiri.
reputasi additional.fields[].key, additional.fields[].value.string_value Jika tidak kosong, kunci disetel ke "reputasi" dan nilainya adalah reputasi itu sendiri.
rx network.received_bytes Pemetaan langsung, digunakan saat ID adalah "2202", dikonversi menjadi bilangan bulat tidak bertanda.
tingkat keparahan sandbox security_result.severity Jika tingkat keparahan adalah "info", petakan ke "RENDAH".
ukuran target.file.size Pemetaan langsung, dikonversi menjadi bilangan bulat yang tidak bertanda tangan.
srcip principal.ip, principal.asset.ip Pemetaan langsung.
srcmac principal.mac Pemetaan langsung.
srcport principal.port Pemetaan langsung, dikonversi menjadi bilangan bulat.
statuscode network.http.response_code Pemetaan langsung, dikonversi menjadi bilangan bulat.
sub network.application_protocol Jika sub adalah "http", metadata.event_type disetel ke "NETWORK_HTTP" dan network.application_protocol disetel ke "HTTP". Jika sub adalah "packetfilter", metadata.description disetel ke sub. Jika tidak, dikonversi ke nama protokol aplikasi menggunakan tabel lookup. Jika tidak ada kecocokan yang ditemukan dalam tabel lookup, dstport akan digunakan untuk lookup.
sys metadata.product_event_type Pemetaan langsung.
tcpflags tos ttl tx network.sent_bytes Pemetaan langsung, digunakan saat ID adalah "2202", dikonversi menjadi bilangan bulat tidak bertanda.
ua network.http.user_agent Pemetaan langsung.
url network.http.referral_url, target.hostname, target.asset.hostname Pemetaan langsung untuk network.http.referral_url. Nama host yang diekstrak untuk target.hostname dan target.asset.hostname. Juga digunakan untuk mengekstrak dstip.
pengguna target.user.userid Pemetaan langsung.
nama pengguna target.user.userid Pemetaan langsung, digunakan saat ID adalah "2201" atau "2202".
varian Tidak disertakan dalam UDM akhir, tetapi digunakan dalam deskripsi Digunakan bersamaan dengan sub untuk membuat security_result.description saat id adalah "2201", "2202", atau "2203".
virtual_ip target.ip, target.asset.ip Pemetaan langsung, digunakan saat ID adalah "2201" atau "2202".
metadata.event_type metadata.event_type Diinisialisasi ke "GENERIC_EVENT". Ditetapkan ke nilai tertentu berdasarkan konten log dan logika parser.
metadata.log_type metadata.log_type Dikodekan secara permanen ke "SOPHOS_UTM".
metadata.product_name metadata.product_name Dikodekan secara permanen ke "SOPHOS UTM".
metadata.vendor_name metadata.vendor_name Dikodekan secara permanen ke "SOPHOS Ltd".
intermediary.hostname intermediary.hostname Diekstrak dari pesan log menggunakan grok dan diganti namanya.

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