Mengumpulkan log DDI EfficientIP

Didukung di:

Dokumen ini menjelaskan cara menyerap log DDI EfficientIP ke Google Security Operations menggunakan agen Bindplane.

SOLIDserver EfficientIP adalah solusi DDI (DNS-DHCP-IPAM) komprehensif yang menyediakan appliance virtual dan hardware yang sangat skalabel, aman, dan andal untuk layanan jaringan penting termasuk DNS, DHCP, IP Address Management, NTP, dan TFTP. Platform ini menyediakan pengelolaan dan otomatisasi terpusat untuk infrastruktur jaringan dengan kemampuan pemantauan dan keamanan tingkat lanjut.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Windows Server 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Konektivitas jaringan antara agen Bindplane dan perangkat SOLIDserver EfficientIP
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses administratif ke konsol web SOLIDserver EfficientIP
  • SOLIDserver versi 8.0 atau yang lebih baru (diuji dengan 8.3.x dan 8.4.x)

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
    

    Status layanan harus 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
    

    Status layanan harus 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

  1. Ganti seluruh konten config.yaml dengan konfigurasi berikut:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/efficientip_ddi:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: EFFICIENTIP_DDI
        raw_log_field: body
        ingestion_labels:
          env: production
          source: solidserver
    
    service:
      pipelines:
        logs/efficientip_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/efficientip_ddi
    
  2. Ganti placeholder berikut:

    • Konfigurasi penerima:

      • listen_address: Setel ke 0.0.0.0:514 untuk memproses semua antarmuka di port UDP 514.
        • Untuk deployment non-root Linux, gunakan port 1514 atau yang lebih tinggi.
        • Pastikan port cocok dengan konfigurasi di SOLIDserver.
    • Konfigurasi pengekspor:

      • 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
      • customer_id: Ganti YOUR_CUSTOMER_ID dengan ID pelanggan dari langkah sebelumnya.

      • endpoint: 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: Tetapkan ke EFFICIENTIP_DDI (pencocokan persis diperlukan).

      • ingestion_labels: Label opsional untuk mengategorikan log (sesuaikan sesuai kebutuhan).

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:

    1. Jalankan perintah berikut:

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • Untuk memulai ulang agen Bindplane di Windows:

    1. 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.
    2. Pastikan layanan sedang berjalan:

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

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

Mengonfigurasi penerusan syslog EfficientIP DDI

  1. Login ke konsol web EfficientIP SOLIDserver.
  2. Di navigasi sebelah kiri, klik Administrasi.
  3. Di bagian Monitoring, klik Configuration.
  4. Di menu, klik + Tambahkan.
  5. Dalam daftar Layanan, pilih layanan berikut: named (untuk log DNS)
  6. Di kolom Target server, masukkan alamat IP dan port host agen Bindplane dalam format <ip-address>:<port>.
    • Contoh: 192.168.1.100:514
    • Jika menggunakan port non-standar di Linux, tentukan port yang sesuai (misalnya, 192.168.1.100:1514)
  7. Klik OK untuk menyimpan konfigurasi.

Memverifikasi penerusan log

  1. Periksa log agen BindPlane untuk mengonfirmasi bahwa log diterima:
    • Linux: sudo journalctl -u observiq-otel-collector -f
    • Windows: type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  2. Cari entri log yang berisi peristiwa kueri dan jawaban DNS dari SOLIDserver.
  3. Login ke konsol Google SecOps dan verifikasi bahwa log DDI EfficientIP muncul di halaman Events.

Jenis log yang didukung

Integrasi ini mengumpulkan jenis log berikut dari EfficientIP SOLIDserver:

  • Log kueri DNS: Kueri DNS klien dengan jenis kueri, nama domain, dan IP klien
  • Log respons DNS: Respons DNS dengan data respons, TTL, dan kode respons
  • Log DHCP: Operasi DHCP termasuk DISCOVER, OFFER, REQUEST, ACK, NAK, RELEASE, dan INFORM
  • Log DNS Guardian: Peristiwa keamanan termasuk deteksi perilaku mencurigakan, pemicu pengaktifan/penonaktifan
  • Log transfer zona DNS: Operasi dan notifikasi transfer zona
  • Log error DNS: Mencatat error format, SERVFAIL, REFUSED, dan error DNS lainnya

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
ip_version additional.fields Digabungkan sebagai label dengan kunci "ip_version" jika tidak kosong
message_size additional.fields Digabungkan sebagai label dengan kunci "message_size" jika tidak kosong
domain_name additional.fields Digabungkan sebagai label dengan kunci "domain_name" jika tidak kosong
T/A perantara Digabungkan dari objek perantara
deskripsi metadata.description Nilai disalin langsung jika tidak kosong
msg2 metadata.description Disetel ke msg2 jika event_type adalah GENERIC_EVENT dan description kosong
su_cmd metadata.event_type Ditetapkan ke "PROCESS_OPEN" jika su_cmd adalah "sudo"
activity_type metadata.event_type Ditetapkan ke "NETWORK_DNS" jika activity_type cocok dengan dns dan has_dns_questions adalah benar (true)
pesan metadata.event_type Ditetapkan ke "NETWORK_DHCP" jika pesan cocok dengan dhcp
inner_message metadata.event_type Ditetapkan ke "NETWORK_UNCATEGORIZED" jika inner_message cocok dengan pola tertentu dan has_principal serta has_target bernilai benar (true)
mundur metadata.event_type Disetel ke "NETWORK_DNS" jika prosesnya adalah "named" dan has_dns_questions adalah benar (true); disetel ke "STATUS_UPDATE" jika prosesnya adalah "named" dan has_principal adalah benar (true); disetel ke "GENERIC_EVENT" jika prosesnya adalah "named"; disetel ke "NETWORK_DHCP" jika prosesnya adalah "dhcpd"
PWD metadata.event_type Disetel ke "PROCESS_OPEN" jika PWD tidak kosong dan has_target atau has_principal adalah benar (true)
activity_type metadata.product_event_type Nilai disalin secara langsung
T/A metadata.vendor_name Tetapkan ke "EFFICIENTIP_DDI"
T/A metadata.product_name Tetapkan ke "EFFICIENTIP_DDI DHCP"
activity_type network.application_protocol Ditetapkan ke "DNS" jika activity_type cocok dengan dns dan has_dns_questions adalah benar (true)
pesan network.application_protocol Disetel ke "DHCP" jika pesan cocok dengan dhcp
mundur network.application_protocol Tetapkan ke "DNS" jika prosesnya adalah "named"; tetapkan ke "DHCP" jika prosesnya adalah "dhcpd"
src_mac network.dhcp.chaddr Nilai disalin langsung jika prosesnya adalah "dhcpd"
src_ip network.dhcp.ciaddr Nilai disalin secara langsung jika dhcp_info adalah "REQUEST"
giaddr network.dhcp.giaddr Nilai disalin secara langsung
dhcp_info network.dhcp.opcode Ditetapkan ke "BOOTREQUEST" jika dhcp_info adalah "INFORM", "DISCOVER", atau "REQUEST"; ditetapkan ke "BOOTREPLY" jika dhcp_info adalah "OFFER" atau "ACK"
siaddr network.dhcp.siaddr Nilai disalin secara langsung
transaction_id network.dhcp.transaction_id Nilai dikonversi menjadi uinteger jika tidak kosong atau "0"
dhcp_info network.dhcp.type Ditetapkan ke "INFORM" jika dhcp_info adalah "INFORM"; ditetapkan ke "DISCOVER" jika "DISCOVER"; ditetapkan ke "OFFER" jika "OFFER"; ditetapkan ke "REQUEST" jika "REQUEST"; ditetapkan ke "ACK" jika "PACK"
yiaddr network.dhcp.yiaddr Nilai disalin secara langsung
src_ip network.dhcp.yiaddr Ditetapkan ke src_ip jika prosesnya adalah "dhcpd" dan yiaddr kosong
answer_rrs network.dns.answers Digabungkan dari objek jawaban untuk setiap rd di answer_rrs
T/A network.dns.questions Digabungkan dari objek pertanyaan jika has_dns_questions benar
rcode network.dns.response_code Nilai dikonversi menjadi uinteger
response_code network.dns.response_code Nilai dipetakan ke kode numerik dan dikonversi menjadi uinteger
{i>transport<i} network.ip_protocol Nilai diubah menjadi huruf besar jika cocok dengan udp atau tcp
pengamat observer.ip Nilai dikonversi menjadi ipaddress
su_cmd principal.application Nilai disalin langsung jika su_cmd adalah "sudo"
mundur principal.application Disetel untuk diproses jika prosesnya adalah "named" atau "dhcpd"
host principal.asset.hostname Nilai disalin langsung jika tidak kosong
hostname principal.asset.hostname Nilai disalin secara langsung jika tidak kosong dan host kosong
src_ip principal.asset.ip Nilai disalin secara langsung
asset_id principal.asset_id Digabungkan sebagai "ID:" + asset_id
host principal.hostname Nilai disalin langsung jika tidak kosong
hostname principal.hostname Nilai disalin secara langsung jika tidak kosong dan host kosong
domain_name principal.hostname Nilai disalin langsung jika deskripsi berisi nama host dan host/nama host kosong
src_ip principal.ip Nilai disalin langsung jika berhasil dikonversi ke ipaddress; diekstrak dari deskripsi jika src_ip kosong
src_mac principal.mac Nilai disalin secara langsung
src_port principal.port Nilai dikonversi menjadi bilangan bulat
process_id principal.process.pid Nilai disalin secara langsung
source_user principal.user.userid Nilai disalin secara langsung
T/A security_result Digabungkan dari sec_result
dst_ip target.asset.ip Nilai disalin secara langsung
file_path target.file.full_path Nilai disalin secara langsung
dst_ip target.hostname Nilai disalin secara langsung jika bukan alamat IP yang valid
host target.hostname Nilai disalin secara langsung jika inner_message cocok dengan pola tertentu
dst_ip target.ip Nilai disalin secara langsung
dst_port target.port Nilai dikonversi menjadi bilangan bulat
target_cmd_line target.process.command_line Nilai disalin secara langsung
target_user target.user.userid Nilai disalin secara langsung

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