Mengumpulkan log NetApp ONTAP

Didukung di:

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

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Proses Transfer. 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

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
    

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
    

Referensi Penginstalan Tambahan

Mengonfigurasi Agen BindPlane untuk menyerap Syslog dan mengirim ke Google SecOps

  1. 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).
  2. 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
    
  3. Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.

  4. Ganti <customer_id> dengan ID Pelanggan yang sebenarnya.

  5. 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

  1. Akses Cluster ONTAP menggunakan SSH, dan ganti <ontap-cluster-ip> dengan IP pengelolaan cluster ONTAP Anda:

    ssh admin@<ontap-cluster-ip>
    
  2. Periksa filter dan notifikasi peristiwa yang ada:

    event filter show
    event notification show
    
  3. 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
    
  4. Opsi lain untuk -syslog-transport:

    • udp-unencrypted (default)
    • tcp-unencrypted
    • tcp-encrypted (untuk TLS).
  5. 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

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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
    
  5. 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
    
  6. 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
    
  7. 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.