Mengumpulkan log Sophos Central

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log Sophos Central menggunakan Bindplane. Parser mengubah log JSON menjadi model data terpadu (UDM). Fungsi ini mengekstrak kolom dari struktur JSON bertingkat, memetakan kolom tersebut ke kolom UDM, dan melakukan kategorisasi peristiwa berdasarkan kolom type, yang memperkaya data dengan detail dan tindakan spesifik untuk berbagai jenis peristiwa Sophos Central.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Security Operations.
  • Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan systemd.
  • Pastikan Anda memiliki komputer Windows atau Linux tambahan yang dapat terus menjalankan Python.
  • Jika berjalan di balik proxy, pastikan port firewall terbuka.
  • Pastikan Anda memiliki akses dengan hak istimewa ke Sophos XG Firewall.

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Proses Transfer. 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

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 mengirim ke Google SecOps

  1. Akses file konfigurasi:

    1. Temukan file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ di Linux atau di direktori penginstalan di Windows.
    2. 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:
            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: SYSLOG
                namespace: sophos_central
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.

  4. Ganti <customer_id> dengan ID pelanggan yang sebenarnya.

  5. 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 akses Sophos Central API

  1. Login ke Sophos Central Admin.
  2. Pilih Setelan Global > Pengelolaan Token API.
  3. Klik Add Token untuk membuat token baru.
  4. Masukkan nama token, lalu klik Simpan. Ringkasan Token API untuk token yang diberikan akan ditampilkan.
  5. Di bagian API Token Summary, klik Copy untuk menyalin URL dan header akses API.

Menginstal Python di komputer tambahan

  1. Buka browser web, lalu buka situs Python.
  2. Klik Download Python untuk sistem operasi Anda (Windows atau Mac).
  3. Instal Python.

    • Di Windows:
      1. Jalankan penginstal.
      2. Centang kotak yang bertuliskan Tambahkan Python ke PATH.
      3. Klik Instal Sekarang.
    • Di Mac:

      1. Python mungkin sudah diinstal, jika belum, Anda dapat menginstal versi terbaru menggunakan terminal.
      2. Buka Terminal, lalu ketik perintah berikut:

        python --version
        

Mendownload skrip integrasi Sophos

  1. Buka halaman GitHub untuk Repositori GitHub Integrasi SIEM Sophos Central.
  2. Klik tombol Code > Download ZIP berwarna hijau.
  3. Ekstrak file ZIP.

Menyiapkan konfigurasi skrip

  1. Temukan dan Buka file config.ini dengan editor teks.
  2. Edit file konfigurasi:
    • Token API: masukkan Kunci API yang disalin sebelumnya dari Sophos Central.
    • Detail Server Syslog: masukkan detail server syslog Anda.
    • Host: masukkan alamat IP Bindplane.
    • Port: masukkan nomor port Bindplane.
    • Protokol: masukkan UDP (Anda juga dapat menggunakan TCP atau TLS, bergantung pada penyiapan Anda).
  3. Simpan file dengan mengklik tombol Save.

Jalankan skrip:

  1. Buka folder skrip.

    • Di Windows:

      1. Tekan tombol Windows, lalu ketik cmd.
      2. Klik Command Prompt.
      3. Buka folder skrip:

        cd C:\Users\YourName\Downloads\Sophos-Central-SIEM-Integration
        
    • Di macOS:

      1. Buka Applications > Utilities.
      2. Buka Terminal.
      3. Buka folder skrip:

        cd /Users/YourName/Downloads/Sophos-Central-SIEM-Integration
        
  2. Jalankan skrip:

    • Ketik perintah berikut untuk memulai skrip:

      python siem.py
      

Otomatiskan skrip agar terus berjalan di Windows (menggunakan Task Scheduler):

  1. Buka Task Scheduler dengan mengetik Task Scheduler di menu Start.
  2. Klik Create Task.
  3. Di tab General:
    • Beri nama tugas Anda; misalnya, Sophos Central Log Export.
  4. Di tab Triggers:
    • Klik Baru dan tetapkan tugas untuk dijalankan Setiap hari atau Saat memulai (bergantung pada preferensi Anda).
  5. Di tab Actions:
    • Klik Baru, lalu pilih Mulai program.
    • Jelajahi file yang dapat dieksekusi python.exe (biasanya ditemukan di C:\PythonXX\python.exe).
    • Di kolom Add arguments, ketik jalur ke skrip; misalnya, C:\Users\YourName\Downloads\Sophos-Central-SIEM-Integration\siem.py.
  6. Klik OK untuk menyimpan tugas.

Otomatiskan skrip agar berjalan terus-menerus di Mac (menggunakan Cron Job):

  1. Buka Terminal.
  2. Ketik crontab -e dan tekan Enter.
  3. Tambahkan baris baru di akhir file:

    * * * * * /usr/bin/python /Users/YourName/Downloads/Sophos-Central-SIEM-Integration/siem.py
    
  4. Simpan dan keluar dari editor.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
customer_id target.resource.id Dipetakan langsung dari kolom customer_id.
data.core_remedy_items.items.0.descriptor target.process.file.full_path Dipetakan langsung dari kolom data.core_remedy_items.items.0.descriptor.
data.source_info.ip principal.ip
principal.asset.ip
Dipetakan langsung dari kolom data.source_info.ip.
deskripsi metadata.description Dipetakan langsung dari kolom description saat metadata.event_type adalah GENERIC_EVENT.
dhost principal.hostname
principal.asset.hostname
Dipetakan langsung dari kolom dhost.
duid security_result.detection_fields.value Dipetakan langsung dari kolom duid.
selesai metadata.event_timestamp Diurai ke format RFC 3339 dan dipetakan ke kolom event_timestamp.
endpoint_id target.asset_id Dipetakan sebagai Device endpoint Id: {endpoint_id}.
endpoint_type security_result.about.labels.value Dipetakan langsung dari kolom endpoint_type.
grup security_result.category_details Dipetakan langsung dari kolom group.
nama security_result.description
security_result.summary
Dipetakan langsung dari kolom name. Jika flag is_alert atau is_significant ditetapkan, flag tersebut akan dipetakan ke security_result.summary.
is_alert Tetapkan ke true untuk nilai type tertentu yang menunjukkan pemberitahuan, jika tidak, secara default akan ditetapkan ke false.
is_significant Tetapkan ke true untuk nilai type tertentu yang menunjukkan peristiwa yang signifikan, jika tidak, nilai defaultnya adalah false.
metadata.event_type Ditentukan berdasarkan kolom type dan logika tambahan dalam parser. Nilai yang memungkinkan mencakup: FILE_OPEN, SCAN_HOST, SETTING_MODIFICATION, STATUS_HEARTBEAT, SETTING_CREATION, NETWORK_CONNECTION, SCAN_PROCESS, SCAN_UNCATEGORIZED, USER_CREATION, USER_UNCATEGORIZED, STATUS_UPDATE.
metadata.log_type Tetapkan ke SOPHOS_CENTRAL.
metadata.product_event_type Dipetakan langsung dari kolom type.
metadata.product_name Tetapkan ke Sophos Central.
metadata.vendor_name Tetapkan ke Sophos.
network.direction Tetapkan ke OUTBOUND untuk nilai type tertentu yang menunjukkan koneksi jaringan keluar.
network.ip_protocol Tetapkan ke TCP untuk nilai type tertentu yang menunjukkan koneksi jaringan TCP.
security_result.action Ditentukan berdasarkan kolom action yang diekstrak dari kolom name menggunakan pola grok. Nilai yang memungkinkan mencakup: ALLOW, BLOCK, ALLOW_WITH_MODIFICATION, UNKNOWN_ACTION.
security_result.detection_fields.key Tetapkan ke duid jika kolom duid ada.
security_result.rule_name Diekstrak dari kolom name menggunakan pola grok untuk nilai type tertentu.
security_result.severity Dipetakan dari kolom severity dengan pemetaan berikut: rendah -> RENDAH, sedang -> SEDANG, tinggi/kritis -> TINGGI.
target.application Diekstrak dari kolom name menggunakan pola grok untuk nilai type tertentu.
target.asset.hostname Dipetakan dari kolom dhost untuk nilai type tertentu.
target.file.full_path Diekstrak dari kolom name menggunakan pola grok untuk nilai type tertentu, atau dipetakan langsung dari data.core_remedy_items.items.0.descriptor atau core_remedy_items.items.0.descriptor.
target.file.size Diekstrak dari kolom name menggunakan pola grok dan dikonversi menjadi uinteger untuk nilai type tertentu.
target.hostname Dipetakan dari kolom dhost untuk nilai type tertentu.
target.resource.name Tetapkan ke nilai tertentu berdasarkan kolom type, atau ekstrak dari kolom name menggunakan pola grok.
target.resource.type Tetapkan ke nilai tertentu berdasarkan kolom type.
target.user.userid Dipetakan dari kolom suser setelah mengekstrak nama pengguna menggunakan pola grok.
target.url Diekstrak dari kolom name menggunakan pola grok untuk nilai type tertentu.
source_info.ip principal.ip
principal.asset.ip
Dipetakan langsung dari kolom source_info.ip.
pengguna principal.user.userid
target.user.userid
Diekstrak dari kolom suser menggunakan pola grok untuk menghapus awalan nama host.
jenis metadata.product_event_type Dipetakan langsung dari kolom type.

Perubahan

2025-01-30

Peningkatan:

  • Menambahkan dukungan untuk mengurai log JSON yang tidak diuraikan.

2025-01-08

Peningkatan:

  • Menambahkan url, action, dan scan_name di statedata untuk mengurai log yang tidak diuraikan.
  • Memetakan user_id ke principal.user.userid.

2024-09-05

Peningkatan:

  • Menambahkan dukungan untuk mengurai log JSON yang tidak diuraikan.
  • Memetakan location ke principal.cloud.availability_zone.

2024-05-17

Peningkatan:

  • Memetakan data.core_remedy_items.items.0.descriptor dan core_remedy_items.items.0.descriptor ke target.process.file.full_path.

2024-05-14

Perbaikan bug:

  • Mengubah pemetaan target.user.userid dari duid menjadi suser.
  • Memetakan duid ke security_result.detection_fields.

2022-12-27

  • Parser yang baru dibuat.

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