Mengumpulkan log Sophos Capsule8

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log Sophos Linux Sensor (sebelumnya Capsule8) menggunakan Bindplane. Sophos Capsule8 memberikan perlindungan runtime untuk workload Linux, container, dan lingkungan Kubernetes dengan mendeteksi dan merespons ancaman di tingkat kernel menggunakan teknologi eBPF. Parser pertama-tama mengekstrak dan menyusun data log berformat JSON. Kemudian, kolom yang diekstrak dipetakan ke atribut yang sesuai dalam Model Data Terpadu (UDM) Chronicle, dengan berfokus pada metadata, hasil keamanan, dan informasi utama.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Instance Google SecOps
  • Windows 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Komputer Windows atau Linux tambahan, yang dapat menjalankan Python secara terus-menerus
  • Jika berjalan di belakang proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses istimewa ke konsol Admin Sophos Central
  • Sophos Linux Sensor (sebelumnya Capsule8) di-deploy di sistem Linux Anda

Mengonfigurasi Sophos Linux Sensor untuk mengekspor pemberitahuan ke Sophos Central

Sebelum mengonfigurasi integrasi, Anda harus mengonfigurasi Sophos Linux Sensor terlebih dahulu untuk mengirim data pemberitahuan ke Sophos Central.

Prasyarat untuk integrasi Sophos Central

  1. Sophos Linux Sensor versi 5.5.2.22 atau yang lebih baru.
  2. Salah satu lisensi berikut:
    • Intercept X Advanced for Server dengan XDR
    • Server Penting Central Managed Detection and Response
    • Server Lengkap Central Managed Detection and Response
  3. URL MCS Sophos Central dan ID tenant Anda.
  4. Token API repositori paket SLS yang valid.

Menemukan URL MCS Anda

  1. Login ke Sophos Central.
  2. Klik nama akun > Setelan dukungan.
  3. Cari baris yang dimulai dengan This account is located untuk mengetahui wilayah geografis tempat akun Sophos Central Anda berada.
  4. Gunakan tabel berikut untuk menemukan URL MCS berdasarkan wilayah Anda:

    Wilayah URL MCS
    Amerika Serikat (Oregon) mcs2-cloudstation-us-west-2.prod.hydra.sophos.com
    Amerika Serikat (Ohio) mcs2-cloudstation-us-east-2.prod.hydra.sophos.com
    Irlandia mcs2-cloudstation-eu-west-1.prod.hydra.sophos.com
    Jerman mcs2-cloudstation-eu-central-1.prod.hydra.sophos.com
    Kanada mcs2.stn100yul.ctr.sophos.com
    Australia mcs2.stn100syd.ctr.sophos.com
    Asia Pasifik (Tokyo) mcs2.stn100hnd.ctr.sophos.com
    Amerika Selatan (Sao Paulo) mcs2.stn100gru.ctr.sophos.com

Jika Anda tidak melihat wilayah Anda dalam tabel, gunakan mcs2.stn100bom.ctr.sophos.com sebagai URL MCS Anda.

Mengonfigurasi output pemberitahuan Sophos Linux Sensor

  1. Buka /etc/sophos/runtimedetections.yaml di editor teks.
  2. Tambahkan baris berikut, dengan mengganti nilai placeholder dengan detail Sophos Central Anda yang sebenarnya:

    send_labs_telemetry: true
    endpoint_telemetry_enabled: true
    cloud_meta: auto
    
    # Set your customer id:
    customer_id: "{tenant-id}"
    
    mcs:
      token: "{LINUX_REPO_API_KEY}"
      url: "{MCS_URL}"
      enabled: true
    
  3. Simpan perubahan dan keluar.

  4. Mulai ulang sensor:

    systemctl restart sophoslinuxsensor
    

Opsional: Mengonfigurasi Sophos Linux Sensor untuk mengirim meta-peristiwa ke Data Lake

Mulai dari versi 5.11.0, SLS mendukung pengiriman data peristiwa ke Sophos Data Lake.

  1. Buka /etc/sophos/runtimedetections.yaml di editor teks.
  2. Tambahkan konfigurasi berikut:

    investigations:
      reporting_interval: 5s
      zeromq:
        topics:
        - process_events: running_processes_linux_events
          audit_user_msg: user_events_linux
      sinks:
      - backend: mcs
        name: "mcs"
        type: mcs
      flight_recorder:
        enabled: true
        tables:
        - name: "process_events"
          enabled: true
          rows: 1000
          filter:
          - match eventType == "PROCESS_EVENT_TYPE_EXEC"
          - match eventType == "BASELINE_TASK"
          - default ignore
        - name: "audit_user_msg"
          enabled: true
          rows: 1000
          filter:
          - ignore programName == "cron"
          - ignore processPid == 1
          - default match
    
  3. Simpan perubahan dan keluar.

  4. Mulai ulang sensor:

    systemctl restart sophoslinuxsensor
    

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

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:

    1. Cari 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_file_path: '/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
        log_type: 'SOPHOS_CAPSULE8'
        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 <customer_id> dengan ID pelanggan yang sebenarnya.
    • Perbarui /path/to/ingestion-authentication-file.json ke jalur tempat file autentikasi disimpan di bagian Dapatkan 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 Tambahkan 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.
  3. Instal Python:

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

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

        python --version
        

Download skrip integrasi Sophos

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

Menyiapkan konfigurasi skrip

  1. Buka file config.ini di direktori tempat Anda mengekstrak arsip ZIP.
  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 Agen BindPlane.
    • Port: Masukkan nomor port Agen BindPlane.
    • Protocol: 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
      

Mengotomatiskan skrip agar berjalan terus-menerus di Windows (menggunakan Task Scheduler):

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

Mengotomatiskan skrip agar berjalan terus-menerus di Mac (menggunakan Cron Jobs):

  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. Klik Simpan, lalu keluar dari editor.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
kategori read_only_udm.security_result.category_details Setiap elemen dalam array kategori ditambahkan sebagai category_details terpisah.
komentar read_only_udm.security_result.description Dipetakan langsung dari kolom komentar.
keyakinan read_only_udm.security_result.severity_details Dipetakan langsung dari kolom keyakinan.
deskripsi read_only_udm.security_result.summary Dipetakan langsung dari kolom deskripsi.
incident_id read_only_udm.security_result.rule_id Dipetakan langsung dari kolom incident_id.
lineage principal.process.parent_process... Array silsilah digunakan untuk mengisi serangkaian proses induk, hingga kedalaman 15 tingkat. Setiap elemen dalam array silsilah mewakili proses dalam rantai, dengan indeks 0 adalah induk langsung dan indeks yang lebih tinggi mewakili ancestor lebih lanjut. Kolom pid dan name dari setiap elemen silsilah dipetakan ke kolom yang sesuai di UDM.
location.container_id principal.labels.value Dipetakan langsung dari kolom location.container_id. Kunci yang sesuai ditetapkan ke "container_id".
location.container_labels.maintainer principal.labels.value Dipetakan langsung dari kolom location.container_labels.maintainer. Kunci yang sesuai ditetapkan ke "maintainer".
location.container_name principal.labels.value Dipetakan langsung dari kolom location.container_name. Kunci yang sesuai disetel ke "container_name".
location.image_id principal.labels.value Dipetakan langsung dari kolom location.image_id. Kunci yang sesuai ditetapkan ke "image_id".
location.image_name principal.labels.value Dipetakan langsung dari kolom location.image_name. Kunci yang sesuai ditetapkan ke "image_name".
location.kubernetes_namespace principal.labels.value Dipetakan langsung dari kolom location.kubernetes_namespace. Kunci yang sesuai ditetapkan ke "kubernetes_namespace".
location.kubernetes_pod principal.labels.value Dipetakan langsung dari kolom location.kubernetes_pod. Kunci yang sesuai ditetapkan ke "kubernetes_pod".
matched_rule read_only_udm.security_result.rule_name Dipetakan langsung dari kolom matched_rule.
metadata.gcp_instance_hostname principal.hostname Dipetakan langsung dari kolom metadata.gcp_instance_hostname.
metadata.gcp_instance_zone principal.cloud.availability_zone Zona ketersediaan diekstrak dari kolom metadata.gcp_instance_zone menggunakan ekspresi reguler.
metadata.gcp_project_id principal.cloud.project.name Dipetakan langsung dari kolom metadata.gcp_project_id.
metadata.gcp_project_numeric_id principal.cloud.project.id Dipetakan langsung dari kolom metadata.gcp_project_numeric_id.
metadata.network_interface_eth0_addr_0 principal.ip Alamat IP diekstrak dari kolom metadata.network_interface_eth0_addr_0 menggunakan ekspresi reguler.
metadata.network_interface_eth0_hardware_addr principal.mac Dipetakan langsung dari kolom metadata.network_interface_eth0_hardware_addr.
policy_type read_only_udm.metadata.product_event_type Dipetakan langsung dari kolom policy_type.
process_info.args principal.labels.value Setiap elemen dalam array process_info.args ditambahkan sebagai label terpisah. Kunci ditetapkan ke "process_info.arg[index]", dengan index adalah posisi argumen dalam array.
process_info.name principal.process.file.full_path Dipetakan langsung dari kolom process_info.name.
process_info.pid principal.process.pid Dipetakan langsung dari kolom process_info.pid.
process_info.ppid principal.process.parent_process.pid Dipetakan langsung dari kolom process_info.ppid.
priority read_only_udm.security_result.severity Dipetakan langsung dari kolom prioritas, dikonversi menjadi huruf besar.
timestamp read_only_udm.metadata.event_timestamp Dipetakan langsung dari kolom stempel waktu.
uuid read_only_udm.metadata.product_log_id Dipetakan langsung dari kolom uuid.
T/A read_only_udm.metadata.log_type Tetapkan ke nilai konstanta "SOPHOS_CAPSULE8".
T/A read_only_udm.metadata.event_type Ditetapkan ke nilai konstanta "SCAN_HOST".
T/A read_only_udm.metadata.vendor_name Tetapkan ke nilai konstan "Sophos".
T/A read_only_udm.metadata.product_name Tetapkan ke nilai konstanta "Capsule8".

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