Mengumpulkan log Cisco Prime

Didukung di:

Dokumen ini menjelaskan cara menyerap log Cisco Prime ke Google Security Operations menggunakan Bindplane. Parser menggunakan pola Grok untuk mengekstraksi kolom dari berbagai format pesan syslog, memetakannya ke Model Data Terpadu (UDM). Log ini menangani struktur log yang berbeda, termasuk pasangan nilai kunci, dan memperkaya data dengan informasi pengguna, prinsipal, target, dan keamanan berdasarkan kata kunci dan pola tertentu yang ditemukan dalam pesan log.

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 Cisco Prime

Mendapatkan file autentikasi penyerapan Google SecOps

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

Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.

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

Untuk opsi penginstalan tambahan, lihat panduan penginstalan.

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya 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 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: 'CISCO_PRIME'
            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.

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 notifikasi audit perubahan dan mengonfigurasi penerima syslog

  1. Anda dapat mengonfigurasi sistem untuk mengirimkan notifikasi syslog untuk audit perubahan yang terkait dengan peristiwa berikut:

    • Pembaruan inventaris perangkat
    • Memodifikasi konfigurasi
    • Perubahan pada template konfigurasi
    • Operasi terkait template
    • Aktivitas pengguna seperti login, logout, dan modifikasi akun
  2. Login ke UI web Cisco Prime.

  3. Buka Administrasi > Setelan > Setelan Sistem.

  4. Pilih Email dan Notifikasi > Ubah Notifikasi Audit.

  5. Centang kotak Aktifkan Notifikasi Audit Perubahan.

  6. Klik tombol + untuk menentukan server syslog.

  7. Berikan detail konfigurasi berikut:

    • Masukkan alamat IP agen Bindplane.
    • Pilih protokol UDP.
    • Masukkan nomor port agen Bindplane.
  8. Klik Simpan.

Mengonfigurasi penerusan log audit sistem sebagai syslog

  1. Login ke UI web Cisco Prime.
  2. Buka Administrasi > Setelan > Pencatatan Log > Opsi Pencatatan Log Syslog.
  3. Centang kotak Enable Syslog.
  4. Berikan detail konfigurasi berikut:
    • Masukkan alamat IP agen Bindplane.
    • Pilih protokol UDP.
    • Masukkan nomor port agen Bindplane.
    • Pilih salah satu dari delapan Fasilitas atau local0.
  5. Klik Simpan.

Tabel pemetaan UDM

Kolom log Pemetaan UDM Logika
client_ip_address principal.ip, principal.asset.ip Nilai diambil dari kolom client_ip_address, yang diekstrak dari log mentah menggunakan filter kv.
tanggal metadata.event_timestamp Nilai diambil dari kolom date, yang diekstrak dari log mentah menggunakan pola grok, lalu dikonversi menjadi stempel waktu menggunakan filter tanggal.
deskripsi security_result.description Nilai diambil dari kolom description, yang diekstrak dari log mentah menggunakan pola grok.
dest_mac target.mac Nilai diambil dari kolom dest_mac, yang diekstrak dari log mentah menggunakan pola grok dan dikonversi menjadi huruf kecil.
device_id principal.asset_id Nilai diambil dari kolom device_id, yang diekstrak dari log mentah menggunakan pola grok. Nilai akhir diformat sebagai "ID Perangkat:".
device_ip principal.ip, principal.asset.ip Nilai diambil dari kolom device_ip, yang diekstrak dari log mentah menggunakan filter kv. Nilai tersebut kemudian diuraikan sebagai array JSON dan setiap alamat IP dalam array ditambahkan ke kolom UDM.
device_type target.resource.attribute.labels.value Nilai diambil dari kolom device_type, yang diekstrak dari log mentah menggunakan pola grok.
dst_user target.user.userid Nilai diambil dari kolom dst_user, yang diekstrak dari log mentah menggunakan pola grok.
email src.hostname Nilai diambil dari kolom email, yang diekstrak dari log mentah menggunakan pola grok.
file_path principal.process.file.full_path Nilai diambil dari kolom file_path, yang diekstrak dari log mentah menggunakan pola grok.
hostname target.resource.attribute.labels.value Nilai diambil dari kolom hostname, yang diekstrak dari log mentah menggunakan pola grok.
id principal.asset_id Nilai diambil dari kolom id, yang diekstrak dari log mentah menggunakan pola grok. Nilai akhir diformat sebagai "ID Entitas:".
ip_address principal.ip, principal.asset.ip Nilai diambil dari kolom ip_address, yang diekstrak dari log mentah menggunakan pola grok.
log_level security_result.severity Nilai diambil dari kolom log_level, yang diekstrak dari log mentah menggunakan pola grok. Digunakan untuk menentukan tingkat keparahan jika severity tidak ada.
mac_address principal.mac, source_mac Nilai diambil dari kolom mac_address, yang diekstrak dari log mentah menggunakan pola grok dan dikonversi menjadi huruf kecil. Nilai ini juga digunakan sebagai nilai untuk source_mac jika source_mac kosong.
oid principal.asset.product_object_id Nilai diambil dari kolom oid, yang diekstrak dari log mentah menggunakan pola grok.
principal_ip principal.ip, principal.asset.ip Nilai diambil dari kolom principal_ip, yang diekstrak dari log mentah menggunakan pola grok.
principal_port principal.port Nilai diambil dari kolom principal_port, yang diekstrak dari log mentah menggunakan pola grok dan dikonversi menjadi bilangan bulat.
process_name principal.resource.name Nilai diambil dari kolom process_name, yang diekstrak dari log mentah menggunakan pola grok.
sec_description security_result.description Nilai diambil dari kolom sec_description, yang diekstrak dari log mentah menggunakan pola grok.
session_id network.session_id Nilai diambil dari kolom session_id, yang diekstrak dari log mentah menggunakan pola grok.
tingkat keseriusan, security_result.severity Nilai diambil dari kolom severity, yang diekstrak dari log mentah menggunakan pola grok. Digunakan untuk menentukan tingkat keparahan jika ada.
source_mac principal.mac Nilai diambil dari kolom source_mac, yang diekstrak dari log mentah menggunakan pola grok dan dikonversi menjadi huruf kecil. Jika kosong, nilai ini akan mengambil nilai mac_address.
ringkasan security_result.summary Nilai diambil dari kolom summary, yang diekstrak dari log mentah menggunakan pola grok.
target_ip target.ip, target.asset.ip Nilai diambil dari kolom target_ip, yang diekstrak dari log mentah menggunakan pola grok.
thread_pool metadata.product_event_type Nilai diambil dari kolom thread_pool, yang diekstrak dari log mentah menggunakan pola grok.
timestamp metadata.event_timestamp Nilai diambil dari kolom timestamp, yang diekstrak dari log mentah menggunakan pola grok, lalu dikonversi menjadi stempel waktu menggunakan filter tanggal.
Jenis metadata.product_event_type Nilai diambil dari kolom Type, yang diekstrak dari log mentah menggunakan filter kv.
user_name principal.user.userid Nilai diambil dari kolom user_name, yang diekstrak dari log mentah menggunakan pola grok atau filter kv.
metadata.event_type metadata.event_type Nilai ditentukan berdasarkan keberadaan kolom dan pola tertentu dalam log mentah. Logikanya mencakup:
- Nilai default: GENERIC_EVENT
- Jika thread_pool adalah 'EmailAlertHelper': EMAIL_TRANSACTION
- Jika application_name adalah 'aesSystem' dan desc berisi 'HealthMonitorHelper': STATUS_HEARTBEAT
- Jika user_present dan target_resource_present keduanya benar: USER_RESOURCE_ACCESS
- Jika user_present benar: USER_UNCATEGORIZED
- Jika principal_present dan target_present keduanya benar: NETWORK_CONNECTION
- Jika principal_present benar: STATUS_UPDATE
- Jika dst_user ada dan description berisi 'logout': USER_LOGOUT
- Jika dst_user ada dan description tidak berisi 'logout': USER_LOGIN
metadata.vendor_name metadata.vendor_name Nilai ditetapkan ke "CISCO".
metadata.product_name metadata.product_name Nilai ditetapkan ke "CISCO_PRIME".
metadata.log_type metadata.log_type Nilai ditetapkan ke "CISCO_PRIME".
network.session_id network.session_id Nilai diambil dari kolom session_id, yang diekstrak dari log mentah menggunakan pola grok.
principal.application principal.application Nilai diambil dari kolom application_name, yang diekstrak dari log mentah menggunakan pola grok.
principal.asset.ip principal.asset.ip Nilai dapat berasal dari kolom berikut: client_ip_address, device_ip, ip_address, principal_ip, target_ip.
principal.asset.product_object_id principal.asset.product_object_id Nilai diambil dari kolom oid, yang diekstrak dari log mentah menggunakan pola grok.
principal.asset_id principal.asset_id Nilai dapat berasal dari kolom berikut: device_id, id.
principal.ip principal.ip Nilai dapat berasal dari kolom berikut: client_ip_address, device_ip, ip_address, principal_ip.
principal.mac principal.mac Nilai dapat berasal dari kolom berikut: mac_address, source_mac.
principal.port principal.port Nilai diambil dari kolom principal_port, yang diekstrak dari log mentah menggunakan pola grok dan dikonversi menjadi bilangan bulat.
principal.process.file.full_path principal.process.file.full_path Nilai diambil dari kolom file_path, yang diekstrak dari log mentah menggunakan pola grok.
principal.resource.name principal.resource.name Nilai diambil dari kolom process_name, yang diekstrak dari log mentah menggunakan pola grok.
principal.user.userid principal.user.userid Nilai diambil dari kolom user_name, yang diekstrak dari log mentah menggunakan pola grok atau filter kv.
security_result.action security_result.action Nilai ditetapkan ke "BLOCK" jika description berisi "fail".
security_result.description security_result.description Nilai dapat berasal dari kolom berikut: desc, description, sec_description.
security_result.severity security_result.severity Nilai dapat berasal dari kolom berikut: log_level, severity.
security_result.summary security_result.summary Nilai diambil dari kolom summary, yang diekstrak dari log mentah menggunakan pola grok.
src.hostname src.hostname Nilai diambil dari kolom email, yang diekstrak dari log mentah menggunakan pola grok.
target.asset.ip target.asset.ip Nilai diambil dari kolom target_ip, yang diekstrak dari log mentah menggunakan pola grok.
target.ip target.ip Nilai diambil dari kolom target_ip, yang diekstrak dari log mentah menggunakan pola grok.
target.mac target.mac Nilai diambil dari kolom dest_mac, yang diekstrak dari log mentah menggunakan pola grok dan dikonversi menjadi huruf kecil.
target.resource.attribute.labels.key target.resource.attribute.labels.key Nilai ditetapkan ke "Jenis Perangkat" atau "Nama Host Perangkat" bergantung pada konteksnya.
target.resource.attribute.labels.value target.resource.attribute.labels.value Nilai dapat berasal dari kolom berikut: device_type, hostname.
target.user.userid target.user.userid Nilai diambil dari kolom dst_user, yang diekstrak dari log mentah menggunakan pola grok.
extensions.auth.mechanism extensions.auth.mechanism Nilai ditetapkan ke "USERNAME_PASSWORD" jika dst_user ada dan description berisi "password".
extensions.auth.type extensions.auth.type Nilai ditetapkan ke "MACHINE" jika dst_user ada.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.