Mengumpulkan log DNS ExtraHop
Dokumen ini menjelaskan cara menyerap log DNS ExtraHop ke Google Security Operations menggunakan Bindplane. Parser mengekstrak log berformat JSON dari string pesan mentah, menangani data non-JSON dengan menghapus peristiwa. Kemudian, kolom tertentu dari JSON yang diekstrak dipetakan ke kolom yang sesuai dalam skema Model Data Terpadu (UDM), mengonversi jenis data, dan menangani berbagai struktur respons DNS untuk memastikan representasi yang konsisten.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Windows 2016 atau yang lebih baru atau host Linux dengan
systemd
- Jika berjalan di belakang proxy, pastikan port firewall terbuka
- Akses istimewa ke DNS ExtraHop
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- 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
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
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
- Akses file konfigurasi:
- Cari file
config.yaml
. Biasanya, file ini berada di direktori/etc/bindplane-agent/
di Linux atau di direktori penginstalan di Windows. - Buka file menggunakan editor teks (misalnya,
nano
,vi
, atau Notepad).
- Cari file
- Edit file
config.yaml
sebagai berikut:yaml 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: 'EXTRAHOP_DNS' 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.
- Ganti
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 Syslog untuk ExtraHop Open Data Stream (DNS)
- Login ke Administrasi ExtraHop menggunakan
https://<extrahop-hostname-or-IP-address>/admin
.
- Buka Konfigurasi Sistem > Buka Aliran Data.
- Klik Add Target.
- Dari drop-down Target Type, pilih Syslog.
- Berikan detail konfigurasi berikut:
- Nama: Masukkan nama unik untuk mengidentifikasi target.
- Host: Masukkan alamat IP agen Bindplane.
- Port: Masukkan nomor port agen Bindplane.
- Protocol: Pilih UDP, atau TCP, bergantung pada konfigurasi Bindplane Anda.
- (Opsional) Pilih Waktu Lokal untuk mengirim informasi syslog dengan stempel waktu dalam zona waktu lokal.
- Klik Uji.
- Klik Simpan.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
ans.data |
network.dns.answers.data | Diekstrak dari kolom data dalam array answers di log mentah. |
ans.name |
network.dns.answers.name | Diekstrak dari kolom name dalam array answers di log mentah. |
ans.ttl |
network.dns.answers.ttl | Diekstrak dari kolom ttl dalam array answers di log mentah. Dikonversi ke uinteger . |
ans.typeNum |
network.dns.answers.type | Diekstrak dari kolom typeNum dalam array answers di log mentah. Dikonversi ke uinteger . |
ans_data |
network.dns.answers.data | Diekstrak dari kolom ans_data dalam log mentah saat array answers tidak ada. |
ans_name |
network.dns.answers.name | Diekstrak dari kolom ans_name dalam log mentah saat array answers tidak ada. |
ans_ttl |
network.dns.answers.ttl | Diekstrak dari kolom ans_ttl dalam log mentah saat array answers tidak ada. Dikonversi ke uinteger . |
client_ip |
principal.ip | Diekstrak dari kolom client_ip di log mentah. |
dns_type |
network.dns.response | Jika nilainya adalah 'response', maka 'true', jika tidak, tidak dipetakan. Dikonversi ke boolean . |
dst_ip |
target.ip | Diekstrak dari kolom dst_ip di log mentah. |
ip_or_host |
intermediary.hostname | Jika ip_or_host bukan alamat IP yang valid, alamat tersebut dipetakan ke intermediary.hostname . |
ip_or_host |
intermediary.ip | Jika ip_or_host adalah alamat IP yang valid, alamat IP tersebut dipetakan ke intermediary.ip . |
opcode |
network.dns.opcode | Diekstrak dari kolom opcode di log mentah. Dipetakan ke nilai numerik berdasarkan string opcode (misalnya, "QUERY" -> 0). Dikonversi ke uinteger . |
qname |
network.dns.questions.name | Diekstrak dari kolom qname di log mentah. |
qtype |
network.dns.questions.type | Diekstrak dari kolom qtype di log mentah. Dipetakan ke nilai numerik berdasarkan string jenis catatan (misalnya, "A" -> 1). Dikonversi ke uinteger . |
metadata.event_type | Tetapkan ke NETWORK_DNS . |
|
metadata.log_type | Tetapkan ke EXTRAHOP_DNS . |
|
network.application_protocol | Tetapkan ke DNS . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.