Mengumpulkan log Cisco Prime
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
- 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
Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.
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.
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_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
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
Login ke UI web Cisco Prime.
Buka Administrasi > Setelan > Setelan Sistem.
Pilih Email dan Notifikasi > Ubah Notifikasi Audit.
Centang kotak Aktifkan Notifikasi Audit Perubahan.
Klik tombol + untuk menentukan server syslog.
Berikan detail konfigurasi berikut:
- Masukkan alamat IP agen Bindplane.
- Pilih protokol UDP.
- Masukkan nomor port agen Bindplane.
Klik Simpan.
Mengonfigurasi penerusan log audit sistem sebagai syslog
- Login ke UI web Cisco Prime.
- Buka Administrasi > Setelan > Pencatatan Log > Opsi Pencatatan Log Syslog.
- Centang kotak Enable Syslog.
- 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
.
- 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. |
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.