Mengumpulkan log DDI BlueCat
Parser ini menangani pesan syslog berformat LEEF dan non-LEEF dari Bluecat DDI (DNS, DHCP, IPAM). Alat ini mengekstrak kolom dari berbagai jenis log (misalnya, bernama, dhcpd, audit, dan CRON) menggunakan pola grok dan logika kondisional, memetakan kolom tersebut ke UDM berdasarkan jenis log dan mengisi kolom DNS, DHCP, atau terkait pengguna sebagaimana mestinya.
Sebelum memulai
- Pastikan Anda memiliki instance Google Security Operations.
- Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan systemd.
- Jika berjalan di balik proxy, pastikan port firewall terbuka.
- Pastikan Anda memiliki akses dengan hak istimewa ke Bluecat.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer.
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
- Untuk penginstalan Windows, jalankan skrip berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Untuk penginstalan Linux, jalankan skrip berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Opsi penginstalan tambahan dapat ditemukan di panduan penginstalan ini.
Mengonfigurasi Agen BindPlane untuk menyerap Syslog dan mengirim ke Google SecOps
- Akses komputer tempat BindPlane diinstal.
Edit file
config.yaml
sebagai berikut:receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: bluceat_ddi raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Mulai ulang Agen BindPlane untuk menerapkan perubahan:
sudo systemctl restart bindplane
Mengonfigurasi Syslog di Bluecat DDI
- Login ke Bluecat Address Manager (BAM).
- Dari menu konfigurasi, pilih konfigurasi.
- Pilih tab Server.
- Di bagian Servers, klik nama BDDS.
- Tab Details untuk server akan terbuka.
- Klik menu nama server.
- Pilih Service Configuration.
- Klik Service Type > Syslog (Address Manager mengkueri server dan menampilkan nilai saat ini).
- Di General, tetapkan nilai berikut:
- Server Syslog: alamat IP server Syslog Anda (Bindplane).
- Port Syslog: port server Syslog Anda (Bindplane).
- Transpor Syslog: pilih TCP atau UDP (bergantung pada konfigurasi Bindplane Anda).
- Klik Tambahkan.
- Server syslog yang baru ditambahkan akan muncul dalam daftar.
- Klik Perbarui.
Mengonfigurasi Setelan Syslog di BlueCat DDI
- Login ke BlueCat Address Manager.
- Buka Konfigurasi > Setelan Sistem > Logging.
- Di Setelan Logging, cari bagian Server Syslog.
- Klik Tambahkan Server Syslog.
- Berikan nilai yang diperlukan:
- Nama Server: nama unik untuk server syslog (misalnya, BindplaneServer).
- Alamat IP: alamat IP atau nama host server syslog.
- Protocol: pilih TCP, UDP (default), atau TLS (berdasarkan konfigurasi syslog Anda).
- Port: menentukan port untuk komunikasi syslog (default: 514 untuk UDP/TCP, 6514 untuk TLS).
- Konfigurasikan Tingkat Logging. Pilih tingkat yang sesuai berdasarkan kebutuhan Anda. Opsi mencakup:
- Darurat: masalah kritis yang perlu segera ditangani
- Pemberitahuan: pemberitahuan yang memerlukan tindakan segera
- Kritis: kondisi kritis
- Error: peristiwa error
- Peringatan: peristiwa peringatan
- Pemberitahuan: peristiwa normal, tetapi signifikan
- Info: pesan informatif
- Debug: informasi debug mendetail
- Opsional: Tambahkan fasilitas Syslog kustom untuk mengategorikan log (misalnya, local0 atau local1).
- Simpan konfigurasi.
Menerapkan Setelan Syslog ke Appliance DDI
- Buka Servers > Manage Servers.
- Pilih server DNS/DHCP tempat syslog harus diaktifkan.
- Klik Edit Server.
- Di bagian Logging:
- Pilih server syslog yang Anda konfigurasi sebelumnya.
- Aktifkan logging untuk layanan tertentu (Misalnya, kueri DNS atau lease DHCP).
- Simpan perubahan.
Tabel Pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
client_ip |
network.dhcp.ciaddr |
Diekstrak dari pesan DHCPREQUEST. Hanya diisi untuk pesan DHCPREQUEST. |
client_mac |
principal.mac |
Diekstrak dari pesan DHCP (DHCPDISCOVER, DHCPREQUEST, DHCPRELEASE). |
client_mac |
target.mac |
Diekstrak dari pesan DHCP (DHCPOFFER, DHCPNAK). |
client_mac |
network.dhcp.chaddr |
Diekstrak dari pesan DHCP (DHCPREQUEST, DHCPOFFER, DHCPACK, DHCPNAK, DHCPRELEASE). |
cmd |
target.process.command_line |
Diekstrak dari log CRON. Tanda & dan spasi dihapus. |
description |
metadata.description |
Diekstrak dari berbagai jenis log, yang memberikan konteks tambahan. |
description |
metadata.description |
Diekstrak dari log syslog-ng, yang memberikan konteks tambahan. |
file_path |
target.file.full_path |
Diekstrak dari berbagai jenis log, yang mewakili jalur lengkap ke file. |
file_path |
target.process.file.full_path |
Diekstrak dari log agetty, yang mewakili jalur lengkap ke file yang terkait dengan proses. |
inner_message |
metadata.description |
Digunakan sebagai deskripsi untuk GENERIC_EVENT saat jenis operasi tidak ditentukan dan untuk log MEM-MON. |
metadata.event_type |
Ditentukan oleh parser berdasarkan jenis dan konten log. Nilai yang memungkinkan mencakup: NETWORK_DNS, NETWORK_DHCP, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, GENERIC_EVENT, STATUS_UPDATE, NETWORK_CONNECTION. Selalu "BLUECAT_DDI". | |
metadata.vendor_name |
Selalu "Bluecat Networks". | |
metadata.product_name |
Selalu "Bluecat DDI". | |
metadata.event_timestamp |
Disalin dari stempel waktu yang diuraikan dari entri log. | |
network.protocol |
Tetapkan ke "DNS" untuk log DNS, "DHCP" untuk log DHCP. | |
network.dns.answers |
Array yang berisi data jawaban. Kolom data dalam answers diisi dengan target_ip jika ada. |
|
network.dns.questions |
Array yang berisi kumpulan data pertanyaan. Kolom name diisi dengan target_host , kolom type berasal dari kolom query_type atau question_type , dan kolom class berasal dari kolom qclass . |
|
network.dns.recursive |
Tetapkan ke "true" jika rec_flag adalah "+". |
|
qclass |
network.dns.questions.class |
Diekstrak dari log kueri DNS dan dipetakan ke nilai bilangan bulat menggunakan file dns_query_class_mapping.include . |
query_type |
network.dns.questions.type |
Diekstrak dari log kueri DNS dan dipetakan ke nilai bilangan bulat menggunakan file dhcp_qtype_mapping.include . |
relay_ip |
intermediary.ip |
Diekstrak dari log DNS dan DHCP, yang mewakili alamat IP server perantara atau relay. |
server_host |
target.hostname |
Diekstrak dari berbagai jenis log, yang mewakili nama host server. |
server_host |
network.dhcp.sname |
Diekstrak dari log DHCP, yang mewakili nama host server. |
server_host |
principal.hostname |
Diekstrak dari systemd, agetty, dan beberapa log audit, yang mewakili nama host akun utama. |
server_ip |
target.ip |
Diekstrak dari log berformat LEEF, yang mewakili alamat IP server. |
src_ip |
principal.ip |
Diekstrak dari berbagai jenis log, yang mewakili alamat IP sumber. |
src_ip |
network.dhcp.yiaddr |
Digunakan dalam pesan DHCPINFORM untuk mengisi kolom yiaddr. |
src_port |
principal.port |
Diekstrak dari berbagai jenis log, yang mewakili port sumber. |
src_user |
principal.user.userid |
Diekstrak dari CRON dan log audit, yang mewakili ID pengguna. |
target_host |
target.hostname |
Diekstrak dari berbagai jenis log, yang mewakili nama host target. |
target_host |
network.dns.questions.name |
Digunakan dalam log DNS untuk mengisi nama pertanyaan. |
target_ip |
target.ip |
Diekstrak dari berbagai jenis log, yang mewakili alamat IP target. |
target_ip |
network.dhcp.ciaddr |
Digunakan dalam pesan BOOTREQUEST untuk mengisi kolom ciaddr. |
target_ip |
network.dns.answers.data |
Digunakan dalam log DNS untuk mengisi data jawaban. |
tgt_port |
target.port |
Diekstrak dari log syslog-ng, yang mewakili port target. |
Perubahan
2022-11-08
- Menambahkan grok untuk log yang baru ditransfer untuk log_type - "agetty", "syslog-ng", "systemd".
- Menambahkan pola grok untuk log_type - "named", "systemd", "CRON", "agetty", "syslog-ng" dan pemetaan masing-masing untuk kolom dalam log_type yang disebutkan di atas.
2022-09-01
- Mengubah
event_type
dari "GENERIC_EVENT" menjadi "USER_UNCATEGORIZED" untuk mengurangi persentase umum.
2022-08-16
- Menambahkan pemetaan UDM
metadata.vendor_name
ke "Bluecat Networks"metadata.product_name
ke "Bluecat DDI"
2022-05-05
- Menambahkan pemeriksaan untuk kolom
query_type
.