Mengumpulkan log Forcepoint Email Security

Versi Parser: 2.0

Didukung di:

Dokumen ini menjelaskan cara menyerap log Forcepoint Email Security ke Google Security Operations menggunakan BindPlane. Parser pertama-tama mengekstrak kolom dari log berformat JSON dan menginisialisasi beberapa kolom UDM dengan nilai kosong. Kemudian, parser memetakan kolom yang diekstrak ke kolom yang sesuai dalam struktur UDM Chronicle berdasarkan kondisi dan manipulasi data tertentu, yang pada akhirnya membuat representasi terpadu dari peristiwa keamanan email.

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 appliance atau konsol pengelolaan Forcepoint Email Security

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 Google Cloud konsol dan pilih Google Cloud project yang ditautkan ke instance Google SecOps Anda.
  2. Buka IAM & Admin > Service Accounts.
  3. Klik Create service account.
  4. Berikan detail konfigurasi berikut:
    • Nama akun layanan: 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 pengumpul BindPlane (/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 , lalu 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 ingestion authentication file.
  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 SIEM Settings > Profile.
  3. Salin dan simpan ID pelanggan dari bagian Organization Details.

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

  1. Akses File Konfigurasi:

    • Temukan 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: <CUSTOMER_ID>
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'FORCEPOINT_EMAILSECURITY'
        raw_log_field: body
        ingestion_labels:
    
    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 <LOCATION> dengan region instance Google SecOps Anda (misalnya, us, europe, atau asia-southeast1). Pengekspor akan menambahkan awalan chronicle.googleapis.com dengan nilai ini.

  5. Ganti <PROJECT_NUMBER> dengan nomor project dari IAM & Admin > Settings.

  6. Ganti <CUSTOMER_ID> dengan ID pelanggan yang sebenarnya.

  7. Perbarui /path/to/ingestion-authentication-file.json ke jalur file tempat file kunci akun layanan (Opsi 1) disimpan di Langkah 1.

Pengekspor Ingestion API lama

  • Jika Anda menggunakan file autentikasi penyerapan dari Opsi 2, ganti blok exporters dengan blok berikut. Tetapkan creds_file_path ke jalur file autentikasi penyerapan, dan jika instance Anda berada di luar Amerika Serikat, 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: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'FORCEPOINT_EMAILSECURITY'
        raw_log_field: body
        ingestion_labels:
    

Memulai 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 di Forcepoint Email Security

  1. Login ke Forcepoint Email Security Management Console.
  2. Buka Settings > Integrations > SIEM Integration.
  3. Klik Enable SIEM Integration.
  4. Berikan detail konfigurasi berikut:

    • Format: Pilih LEEF (Log Event Extended Format).
    • Syslog Server: Masukkan alamat IP Agen BindPlane.
    • Syslog Port: Masukkan nomor port Agen BindPlane (misalnya, 514).
    • Protokol: Pilih UDP atau TCP, bergantung pada konfigurasi Agen BindPlane Anda yang sebenarnya.
    • Facility: Pilih kode fasilitas syslog (misalnya, Local0).
    • Tingkat Keparahan: Pilih tingkat keparahan untuk peristiwa log.
  5. Klik Save.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
Action security_result.action_details Dipetakan langsung dari kolom "Action" di log mentah.
AttachmentFilename additional.fields.value.list_value.values.string_value (key: Attachments_FileNames) Kolom "AttachmentFilename" dipisahkan dengan koma, lalu setiap nilai ditambahkan sebagai string_value ke array "additional.fields" dengan kunci "Attachments_FileNames".
AttachmentFileType additional.fields.value.list_value.values.string_value (key: AttachmentsFileType) Kolom "AttachmentFileType" dipisahkan dengan koma, lalu setiap nilai ditambahkan sebagai string_value ke array "additional.fields" dengan kunci "AttachmentsFileType".
AttachmentSize additional.fields.value.list_value.values.string_value (key: AttachmentsSize) Kolom "AttachmentSize" dipisahkan dengan koma, lalu setiap nilai ditambahkan sebagai string_value ke array "additional.fields" dengan kunci "AttachmentsSize".
DateTime Tidak dipetakan di UDM yang disediakan.
EnvelopeSender network.email.from Dipetakan langsung dari kolom "EnvelopeSender" di log mentah.
EventReceivedTime metadata.event_timestamp Diuraikan ke format stempel waktu dan dipetakan ke "metadata.event_timestamp".
FilteringReason security_result.category_details Dipetakan langsung dari kolom "FilteringReason" di log mentah.
MessageSandboxing security_result.detection_fields.value (key: MessageSandboxing) Dipetakan langsung dari kolom "MessageSandboxing" di log mentah dan ditambahkan sebagai pasangan nilai kunci ke array "security_result.detection_fields".
MessageSize security_result.detection_fields.value (key: MessageSize) Dipetakan langsung dari kolom "MessageSize" di log mentah dan ditambahkan sebagai pasangan nilai kunci ke array "security_result.detection_fields".
nxlog_filename additional.fields.value.string_value (key: nxlog_filename) Dipetakan langsung dari kolom "nxlog_filename" di log mentah dan ditambahkan sebagai pasangan nilai kunci ke array "additional.fields".
RecipientAddress network.email.to Dipetakan langsung dari kolom "RecipientAddress" di log mentah.
SenderIP principal.asset.ip, principal.ip Dipetakan langsung dari kolom "SenderIP" di log mentah.
SenderIPCountry principal.location.country_or_region Dipetakan langsung dari kolom "SenderIPCountry" di log mentah.
SourceModuleName principal.resource.attribute.labels.value (key: SourceModuleName) Dipetakan langsung dari kolom "SourceModuleName" di log mentah dan ditambahkan sebagai pasangan nilai kunci ke array "principal.resource.attribute.labels".
SourceModuleType principal.resource.attribute.labels.value (key: SourceModuleType) Dipetakan langsung dari kolom "SourceModuleType" di log mentah dan ditambahkan sebagai pasangan nilai kunci ke array "principal.resource.attribute.labels".
SpamScore security_result.detection_fields.value (key: SpamScore) Dipetakan langsung dari kolom "SpamScore" di log mentah dan ditambahkan sebagai pasangan nilai kunci ke array "security_result.detection_fields".
Subject network.email.subject Dipetakan langsung dari kolom "Subject" di log mentah.
VirusName security_result.detection_fields.value (key: VirusName) Dipetakan langsung dari kolom "VirusName" di log mentah dan ditambahkan sebagai pasangan nilai kunci ke array "security_result.detection_fields".
metadata.event_type Nilai ditentukan berdasarkan keberadaan kolom lain. Jika "has_network_email_data" benar (true), nilai akan ditetapkan ke "EMAIL_TRANSACTION". Jika "has_principal" benar (true), nilai akan ditetapkan ke "STATUS_UPDATE". Jika tidak, nilai akan ditetapkan secara default ke "GENERIC_EVENT".
metadata.product_name Nilai ditetapkan ke "FORCEPOINT EMAILSECURITY".
metadata.vendor_name Nilai ditetapkan ke "FORCEPOINT EMAILSECURITY".

Log Perubahan

Lihat Log Perubahan untuk parser ini

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