Mengumpulkan log Cisco eStreamer

Didukung di:

Dokumen ini menjelaskan cara menyerap log Cisco eStreamer ke Google Security Operations menggunakan Bindplane. Parser mengekstrak kolom dari pesan SYSLOG dalam format nilai kunci, menggunakan grok untuk mengurai pesan awal dan kv untuk menangani data nilai kunci. Kemudian, kolom yang diekstrak ini dipetakan ke Model Data Terpadu (UDM), menangani berbagai jenis data, dan memperkaya peristiwa dengan metadata seperti jenis peristiwa berdasarkan keberadaan informasi pokok dan target.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Instance Google SecOps
  • Host Windows Server 2012 SP2 atau yang lebih baru, atau Linux dengan systemd
  • Jika berjalan di belakang proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses istimewa ke Cisco Firepower Management Center (FMC)
  • Sistem Linux untuk menjalankan klien eNcore CLI

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
    

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

Untuk opsi penginstalan tambahan, lihat panduan penginstalan.

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. Akses file konfigurasi:
    • Cari file config.yaml. Biasanya, file ini ada di direktori /opt/observiq-otel-collector/ di Linux atau direktori `C:\Program Files\observIQ OpenTelemetry Collector` 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:
        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: 'CISCO_ESTREAMER'
        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 penerusan Syslog di Cisco eStreamer

Mengonfigurasi eStreamer di Firepower Management Center

  1. Login ke Firepower Management Center.
  2. Buka System > Integration > eStreamer.
  3. Klik eStreamer untuk mengakses Konfigurasi Peristiwa eStreamer.
  4. Centang kotak di samping jenis peristiwa yang ingin Anda rekam:
    • Peristiwa Penyusupan: Untuk peristiwa deteksi penyusupan
    • Data Paket Peristiwa Penyusupan: Untuk pengambilan paket yang terkait dengan peristiwa penyusupan
    • Peristiwa Koneksi: Untuk data koneksi jaringan
    • Peristiwa Intelijen Keamanan: Untuk data intelijen ancaman
    • Peristiwa File: Untuk peristiwa analisis file
    • Peristiwa Malware: Untuk peristiwa deteksi malware
  5. Klik Simpan.

Buat Klien eStreamer

  1. Di halaman eStreamer, klik Buat Klien.
  2. Berikan detail konfigurasi berikut:
    • Nama host: Masukkan alamat IP sistem Linux tempat klien eNcore akan berjalan.
    • Password: Masukkan sandi untuk mengenkripsi file sertifikat.
  3. Klik Simpan.
  4. Download file sertifikat PKCS12 yang dibuat dan transfer ke sistem klien eNcore Anda.

Menginstal dan Mengonfigurasi Klien eNcore CLI

  1. Di sistem Linux Anda, download klien CLI eStreamer eNcore dari Cisco.
  2. Ekstrak paket eNcore:

    tar -xzf eStreamer-eNcore-*.tar.gz
    cd eStreamer-eNcore-*
    
  3. Jalankan skrip penyiapan:

    ./encore.sh setup
    
  4. Saat diminta, pilih format output untuk pasangan nilai kunci (kompatibel dengan sistem SIEM).

  5. Masukkan alamat IP FMC dan sandi sertifikat PKCS12.

  6. Konfigurasi file estreamer.conf untuk menampilkan pesan syslog ke agen Bindplane Anda:

    • Buka file estreamer.conf di editor teks.
    • Temukan bagian outputter dan konfigurasikan untuk mengirim syslog ke agen BindPlane Anda:

      {
        "handler": {
          "outputters": [
            {
              "name": "syslog",
              "adapter": "kvpair",
              "enabled": true,
              "stream": {
                "uri": "udp://BINDPLANE_AGENT_IP:514"
              }
            }
          ]
        }
      }
      
  7. Ganti BINDPLANE_AGENT_IP dengan alamat IP agen Bindplane Anda.

Mulai eNcore Client

  1. Uji koneksi dalam mode latar depan:

    ./encore.sh foreground
    
  2. Setelah diverifikasi, mulai eNcore sebagai layanan latar belakang:

    ./encore.sh start
    

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
act security_result.action_details Nilai act dari log mentah ditetapkan ke kolom ini.
act security_result.action Jika nilai act adalah "Allow" (tidak peka huruf besar/kecil), maka nilai "ALLOW" akan ditetapkan ke kolom ini.
app network.http.user_agent Nilai app (diganti namanya menjadi requestClientApplication di parser) dari log mentah ditetapkan ke kolom ini.
blockLength security_result.detection_fields[].key String "blocklength" ditetapkan ke kolom ini.
blockLength security_result.detection_fields[].value Nilai blockLength dari log mentah, yang dikonversi menjadi string, ditetapkan ke kolom ini.
blockType security_result.detection_fields[].key String "blockType" ditetapkan ke kolom ini.
blockType security_result.detection_fields[].value Nilai blockType dari log mentah, yang dikonversi menjadi string, ditetapkan ke kolom ini.
bytesIn network.received_bytes Nilai bytesIn dari log mentah ditetapkan ke kolom ini dan dikonversi menjadi bilangan bulat yang tidak bertanda tangan.
bytesOut network.sent_bytes Nilai bytesOut dari log mentah ditetapkan ke kolom ini dan dikonversi menjadi bilangan bulat yang tidak bertanda tangan.
cat security_result.category_details Nilai cat dari log mentah ditetapkan ke kolom ini.
cs1 security_result.detection_fields[].value Nilai cs1 dari log mentah ditetapkan ke kolom ini.
cs1Label security_result.detection_fields[].key Nilai cs1Label dari log mentah ditetapkan ke kolom ini.
cs2 security_result.detection_fields[].value Nilai cs2 dari log mentah ditetapkan ke kolom ini.
cs2Label security_result.detection_fields[].key Nilai cs2Label dari log mentah ditetapkan ke kolom ini.
cs3 security_result.detection_fields[].value Nilai cs3 dari log mentah ditetapkan ke kolom ini.
cs3Label security_result.detection_fields[].key Nilai cs3Label dari log mentah ditetapkan ke kolom ini.
cs4 security_result.detection_fields[].value Nilai cs4 dari log mentah ditetapkan ke kolom ini.
cs4Label security_result.detection_fields[].key Nilai cs4Label dari log mentah ditetapkan ke kolom ini.
cs5 security_result.detection_fields[].value Nilai cs5 dari log mentah ditetapkan ke kolom ini.
cs5Label security_result.detection_fields[].key Nilai cs5Label dari log mentah ditetapkan ke kolom ini.
cs6 security_result.detection_fields[].value Nilai cs6 dari log mentah ditetapkan ke kolom ini.
cs6 security_result.rule_id Nilai cs6 dari log mentah ditetapkan ke kolom ini.
cs6Label security_result.detection_fields[].key Nilai cs6Label dari log mentah ditetapkan ke kolom ini.
data security_result.detection_fields[].value Nilai data dari objek JSON suser dalam log mentah ditetapkan ke kolom ini jika kolom suser adalah JSON.
deviceInboundInterface additional.fields[].key String "deviceInboundInterface" ditetapkan ke kolom ini.
deviceInboundInterface additional.fields[].value.string_value Nilai deviceInboundInterface dari log mentah ditetapkan ke kolom ini.
deviceOutboundInterface additional.fields[].key String "deviceOutboundInterface" ditetapkan ke kolom ini.
deviceOutboundInterface additional.fields[].value.string_value Nilai deviceOutboundInterface dari log mentah ditetapkan ke kolom ini.
dpt target.port Nilai dpt dari log mentah ditetapkan ke kolom ini dan dikonversi menjadi bilangan bulat.
dst target.asset.ip Nilai dst dari log mentah ditetapkan ke kolom ini.
dst target.ip Nilai dst dari log mentah ditetapkan ke kolom ini.
dvcpid security_result.about.process.pid Nilai dvcpid dari log mentah ditetapkan ke kolom ini.
dvchost target.asset.hostname Nilai dvchost dari log mentah ditetapkan ke kolom ini.
dvchost target.hostname Nilai dvchost dari log mentah ditetapkan ke kolom ini.
hostname principal.asset.hostname Nilai hostname dari log mentah ditetapkan ke kolom ini.
hostname principal.hostname Nilai hostname dari log mentah ditetapkan ke kolom ini. Ditentukan oleh logika parser berdasarkan keberadaan informasi principal dan target. Jika keduanya ada, nilainya adalah "NETWORK_CONNECTION". Jika hanya principal yang ada, nilainya adalah "STATUS_UPDATE". Jika hanya target yang ada, nilainya adalah "USER_UNCATEGORIZED". Jika tidak, nilainya adalah "GENERIC_EVENT".
product_event_type metadata.product_event_type Nilai product_event_type dari log mentah ditetapkan ke kolom ini.
product_name metadata.product_name Nilai product_name dari log mentah ditetapkan ke kolom ini.
proto network.ip_protocol Nilai proto dari log mentah dikonversi menjadi bilangan bulat, lalu dipetakan ke nama protokol IP yang sesuai (misalnya, 6 menjadi TCP, 17 menjadi UDP) menggunakan lookup yang disertakan dari "parse_ip_protocol.include".
severity security_result.severity_details Nilai severity dari log mentah ditetapkan ke kolom ini.
spt principal.port Nilai spt dari log mentah ditetapkan ke kolom ini dan dikonversi menjadi bilangan bulat.
src principal.asset.ip Nilai src dari log mentah ditetapkan ke kolom ini.
src principal.ip Nilai src dari log mentah ditetapkan ke kolom ini.
suser security_result.detection_fields[].value Nilai suser dari log mentah ditetapkan ke kolom ini jika bukan objek JSON. Jika berupa JSON, kolom data dari objek suser akan digunakan.
suser security_result.detection_fields[].key String "suser" ditetapkan ke kolom ini.
ts metadata.event_timestamp Nilai ts dari log mentah diuraikan sebagai stempel waktu dan ditetapkan ke kolom ini. Beberapa format stempel waktu dicoba hingga parsing berhasil.
vendor_name metadata.vendor_name Nilai vendor_name dari log mentah ditetapkan ke kolom ini.
version metadata.product_version Nilai version dari log mentah ditetapkan ke kolom ini.

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