Mengumpulkan log Platform Layanan File Nasuni
Dokumen ini menjelaskan cara menyerap log Nasuni File Services Platform ke Google Security Operations menggunakan agen Bindplane. Parser mengekstrak kolom dari log SYSLOG dan JSON. Proses ini menggunakan pola grok untuk mengurai pesan awal, lalu memanfaatkan filter JSON untuk data JSON yang disematkan, memetakan kolom yang diekstrak ke UDM, menangani berbagai jenis peristiwa seperti pembacaan file, modifikasi, dan peristiwa umum, serta memperkaya data dengan informasi vendor dan produk. Selain itu, fitur ini juga melakukan logika bersyarat berdasarkan kolom yang diekstrak untuk mengategorikan peristiwa dan mengisi metadata UDM.
Sebelum memulai
- Pastikan Anda memiliki instance Google SecOps.
- Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd
. - Jika berjalan di belakang proxy, pastikan port firewall terbuka.
- Pastikan Anda memiliki akses istimewa ke Claroty CTD.
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
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 ini.
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: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: '/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 ingestion_labels: log_type: NASUNI_FILE_SERVICES raw_log_field: body 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 Syslog di platform Nasuni File Service
- Login ke UI web Nasuni Console.
- Buka Console Settings > Syslog Exports.
- Masukkan detail konfigurasi berikut di bagian Jaringan:
- Nama host: masukkan nama yang unik dan bermakna (misalnya, syslog Google SecOps).
- Alamat IP: masukkan alamat IP Bindplane.
- Port: masukkan nomor port konfigurasi Bindplane (misalnya, 514 untuk UDP).
- Protokol: pilih UDP (Anda juga dapat memilih TCP, bergantung pada konfigurasi Bindplane Anda).
- Format: Pilih SYSLOG+JSON.
- Klik Simpan.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
application |
target.application |
Diisi saat kolom msg ada dan bukan JSON, dan kolom application tidak kosong. |
event_type |
metadata.product_event_type |
Dipetakan langsung dari kolom event_type dalam log mentah. |
gid |
target.group.product_object_id |
Dipetakan langsung dari kolom gid di log mentah, dikonversi menjadi string. |
groupname |
target.group.group_display_name |
Dipetakan langsung dari kolom groupname dalam log mentah. |
host |
principal.hostname |
Dipetakan langsung dari kolom host dalam log mentah. |
ipaddr |
principal.ip |
Dipetakan langsung dari kolom ipaddr dalam log mentah. |
is_dir |
additional.fields.value.string_value (dengan kunci adalah is_dir ) |
Dipetakan langsung dari kolom is_dir di log mentah, dikonversi menjadi string. Ditambahkan sebagai kolom tambahan. |
msg |
metadata.description |
Diisi saat kolom msg ada, bukan JSON, dan ipaddr serta prin_port tidak diekstrak darinya. Juga digunakan untuk peristiwa STATUS_UPDATE. |
newpath |
additional.fields.value.string_value (dengan kunci adalah newpath ) |
Dipetakan langsung dari kolom newpath dalam log mentah. Ditambahkan sebagai kolom tambahan. |
offset |
additional.fields.value.string_value (dengan kunci adalah offset ) |
Dipetakan langsung dari kolom offset di log mentah, dikonversi menjadi string. Ditambahkan sebagai kolom tambahan. |
path |
target.file.full_path |
Dipetakan langsung dari kolom path dalam log mentah. |
pid |
target.process.pid |
Dipetakan langsung dari kolom pid di log mentah, dikonversi menjadi string. |
prin_port |
principal.port |
Diekstrak dari kolom msg menggunakan grok saat msg bukan JSON, dikonversi menjadi bilangan bulat. |
proc_id |
principal.process.pid |
Dipetakan langsung dari kolom proc_id dalam log mentah. |
product_log_id |
metadata.product_log_id |
Dipetakan langsung dari kolom product_log_id dalam log mentah. |
proto |
metadata.description |
Dipetakan langsung dari kolom proto dalam log mentah. |
resource |
target.resource.resource_subtype |
Dipetakan langsung dari kolom resource dalam log mentah. |
sequence |
additional.fields.value.string_value (dengan kunci adalah sequence ) |
Dipetakan langsung dari kolom sequence di log mentah, dikonversi menjadi string. Ditambahkan sebagai kolom tambahan. |
sid |
principal.user.windows_sid |
Dipetakan langsung dari kolom sid dalam log mentah. |
tid |
target.resource.product_object_id |
Dipetakan langsung dari kolom tid di log mentah, dikonversi menjadi string. |
time |
metadata.event_timestamp.seconds , timestamp.seconds |
Bagian detik stempel waktu diekstrak dari kolom time dan digunakan untuk mengisi metadata.event_timestamp dan timestamp level teratas. Ditentukan oleh logika berdasarkan nilai ipaddr , path , dan event_type . Dapat berupa FILE_READ , FILE_MODIFICATION , FILE_UNCATEGORIZED , STATUS_UPDATE , atau GENERIC_EVENT . Hardcode ke NASUNI_FILE_SERVICES . Hardcode ke Nasuni File Services Platform . Hardcode ke Nasuni . |
uid |
additional.fields.value.string_value (dengan kunci adalah uid ) |
Dipetakan langsung dari kolom uid di log mentah, dikonversi menjadi string. Ditambahkan sebagai kolom tambahan. |
username |
principal.user.user_display_name |
Dipetakan langsung dari kolom username dalam log mentah. |
volume |
additional.fields.value.string_value (dengan kunci adalah volume ) |
Dipetakan langsung dari kolom volume dalam log mentah. Ditambahkan sebagai kolom tambahan. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.