Mengumpulkan log NetApp ONTAP
Dokumen ini menjelaskan cara mengumpulkan log NetApp ONTAP melalui Syslog. Parser mengekstrak kolom dari pesan syslog menggunakan ekspresi reguler. Kemudian, alat ini memetakan kolom yang diekstrak ke kolom UDM (Unified Data Model) yang sesuai, sehingga secara efektif mengonversi data log mentah menjadi format terstruktur untuk analisis keamanan.
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 administratif ke cluster NetApp ONTAP.
- Pastikan ONTAP dapat berkomunikasi dengan server Syslog (Bindplane).
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer. 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 mengirim 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 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: netapp_ontap 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 Mendapatkan file autentikasi penyerapan Google SecOps.
Mulai ulang Agen BindPlane untuk menerapkan perubahan
Di Linux, untuk memulai ulang Agen BindPlane, jalankan perintah berikut:
sudo systemctl restart bindplane-agent
Di Windows, untuk memulai ulang Agen BindPlane, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi Tujuan Syslog di ONTAP
Akses Cluster ONTAP menggunakan SSH, dan ganti
<ontap-cluster-ip>
dengan IP pengelolaan cluster ONTAP Anda:ssh admin@<ontap-cluster-ip>
Periksa filter dan notifikasi peristiwa yang ada:
event filter show event notification show
Buat Tujuan Syslog, ganti
<syslog-server-ip>
dan<syslog-server-port>
dengan detail server Syslog Anda (Bindplane):event notification destination create -name syslog-ems -syslog <syslog-server-ip> -syslog-port <syslog-server-port> -syslog-transport udp-unencrypted
Opsi lain untuk -syslog-transport:
- udp-unencrypted (default)
- tcp-unencrypted
- tcp-encrypted (untuk TLS).
Verifikasi Tujuan Syslog:
event notification destination show
Mengonfigurasi Filter Peristiwa yang Ada
Tautkan filter default ke tujuan Syslog:
event notification create -filter-name no-info-debug-events -destinations syslog-ems event notification create -filter-name default-trap-events -destinations syslog-ems
Opsional: Membuat dan mengonfigurasi filter kustom
Filter Peristiwa Autentikasi (Login/Logout): Merekam log dengan deskripsi yang cocok dengan "Login" atau "Logout":
event filter create -filter-name auth_events event filter rule add -filter-name auth_events -type include -message-name *login* -severity info event filter rule add -filter-name auth_events -type include -message-name *logout* -severity info
Filter Kolom Deteksi Keamanan: Merekam log yang terkait dengan nmsdk_language, nmsdk_platform, nmsdk_version, dan netapp_version:
event filter create -filter-name security_fields event filter rule add -filter-name security_fields -type include -message-name *nmsdk_language* -severity info event filter rule add -filter-name security_fields -type include -message-name *nmsdk_platform* -severity info event filter rule add -filter-name security_fields -type include -message-name *nmsdk_version* -severity info event filter rule add -filter-name security_fields -type include -message-name *netapp_version* -severity info
Filter Log Berbasis Tingkat Keparahan: Merekam log dengan tingkat keparahan bersifat informatif:
event filter create -filter-name severity_info event filter rule add -filter-name severity_info -type include -message-name * -severity info
Filter Aktivitas Jaringan: Merekam log dengan src_ip dan src_port:
event filter create -filter-name network_activity event filter rule add -filter-name network_activity -type include -message-name *src_ip* -severity info event filter rule add -filter-name network_activity -type include -message-name *src_port* -severity info
Filter Log Target URL: Merekam log dengan informasi URL:
event filter create -filter-name url_target event filter rule add -filter-name url_target -type include -message-name *url* -severity info
Terapkan Setiap Filter ke Tujuan Syslog:
event notification create -filter-name auth_events -destinations syslog-ems event notification create -filter-name security_fields -destinations syslog-ems event notification create -filter-name severity_info -destinations syslog-ems event notification create -filter-name network_activity -destinations syslog-ems event notification create -filter-name url_target -destinations syslog-ems
Memverifikasi Notifikasi:
event notification show
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
kode | Belum Dipetakan | |
deskripsi | metadata.description | Diekstrak dari pesan log menggunakan pola grok. Hanya ada jika deskripsinya adalah "Logout" atau "Login". |
intermediary_host | intermediary.hostname | Diekstrak dari pesan log menggunakan pola grok. |
nmsdk_language | security_result.detection_fields.value | Diekstrak dari pesan log menggunakan pola grok. Nilai ini ditambahkan sebagai "value" ke objek detection_fields dengan "key" = "nmsdk_language". |
nmsdk_platform | security_result.detection_fields.value | Diekstrak dari pesan log menggunakan pola grok. Nilai ini ditambahkan sebagai "value" ke objek detection_fields dengan "key" = "nmsdk_platform". |
nmsdk_version | security_result.detection_fields.value | Diekstrak dari pesan log menggunakan pola grok. Nilai ini ditambahkan sebagai "value" ke objek detection_fields dengan "key" = "nmsdk_version". |
netapp_version | security_result.detection_fields.value | Diekstrak dari pesan log menggunakan pola grok. Nilai ini ditambahkan sebagai "value" ke objek detection_fields dengan "key" = "netapp_version". |
product_event_type | metadata.product_event_type | Diekstrak dari pesan log menggunakan pola grok. |
security_result.summary | security_result.summary | Diekstrak dari pesan log menggunakan pola grok. |
tingkat keseriusan, | security_result.severity | Tetapkan ke "INFORMATIONAL" jika tingkat keparahannya adalah "info" (tidak peka huruf besar/kecil). |
src_ip | principal.ip | Diekstrak dari pesan log menggunakan pola grok. |
src_port | principal.port | Diekstrak dari pesan log menggunakan pola grok. |
status | security_result.summary | Diekstrak dari pesan log menggunakan pola grok. |
ts | metadata.event_timestamp.seconds | Diekstrak dari pesan log menggunakan pola grok dan dikonversi menjadi stempel waktu. |
url | target.url | Diekstrak dari pesan log menggunakan pola grok. |
pengguna | target.user.userid | Diekstrak dari pesan log menggunakan pola grok. |
extensions.auth.type | Tetapkan ke "AUTHTYPE_UNSPECIFIED" jika deskripsinya adalah "Logout" atau "Login". | |
metadata.event_type | Tetapkan ke "USER_LOGIN" jika deskripsinya adalah "Login". | |
metadata.event_type | Tetapkan ke "USER_LOGOUT" jika deskripsinya adalah "Logout". | |
metadata.event_type | Tetapkan ke "SCAN_UNCATEGORIZED" jika deskripsi bukan "Login" atau "Logout". | |
metadata.log_type | Tetapkan ke "NETAPP_ONTAP". | |
metadata.product_name | Tetapkan ke "NETAPP_ONTAP". | |
metadata.vendor_name | Tetapkan ke "NETAPP_ONTAP". | |
target.platform | Tetapkan ke "WINDOWS" jika nmsdk_platform berisi "windows" (tidak peka huruf besar/kecil). |
Perubahan
2023-04-03
- Parser yang baru dibuat.