Mengumpulkan log Platform Cisco DNA Center
Dokumen ini menjelaskan cara menyerap log Platform Cisco DNA Center ke Google Security Operations menggunakan dua pendekatan yang berbeda. Pilih opsi yang paling sesuai dengan lingkungan dan persyaratan Anda. Parser mengubah log SYSLOG+JSON Cisco DNA Center menjadi model data terpadu (UDM). Proses ini mengekstrak kolom dari pesan log mentah dan payload JSON, memetakannya ke atribut UDM yang sesuai, serta memperkaya data dengan label dan konteks keamanan berdasarkan karakteristik peristiwa seperti tingkat keparahan dan entitas yang terlibat.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke konsol pengelolaan Platform Cisco DNA Center
- Pilih metode integrasi yang Anda inginkan:
- Untuk Opsi 2: Konektivitas jaringan antara Cisco DNA Center dan endpoint webhook Google SecOps
- Untuk Opsi 1: Windows 2016 atau yang lebih baru, atau host Linux dengan
systemduntuk penginstalan agen BindPlane
Opsi 1: Integrasi Syslog menggunakan agen Bindplane
Opsi ini menggunakan penerusan syslog dari Cisco DNA Center ke Bindplane, yang kemudian meneruskan log terstruktur ke Google SecOps.
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 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.yamlsebagai 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: YOUR_CUSTOMER_ID endpoint: malachiteingestion-pa.googleapis.com log_type: 'CISCO_DNAC' 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
<YOUR_CUSTOMER_ID>dengan ID pelanggan yang sebenarnya. - Perbarui
/path/to/ingestion-authentication-file.jsonke jalur tempat file autentikasi disimpan di bagian Dapatkan file autentikasi penyerapan Google SecOps. - Konfigurasi ini menggunakan penerima Syslog (UDP) agen Bindplane untuk mengumpulkan pesan syslog terstruktur dari DNA Center.
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart bindplane-agentUntuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi penerusan Syslog di Platform Cisco DNA Center
- Login ke Cisco DNA Center Platform.
- Buka Sistem > Setelan > Layanan Eksternal > Tujuan > Syslog.
- Klik + Tambahkan untuk membuat tujuan syslog baru.
- Berikan detail konfigurasi berikut:
- Nama: Masukkan nama deskriptif (misalnya,
Google SecOps BindPlane). - Host: Masukkan alamat IP Agen BindPlane.
- Port: Masukkan
514(atau port yang dikonfigurasi di BindPlane). - Protocol: Pilih UDP atau TCP, bergantung pada konfigurasi BindPlane Anda.
- Fasilitas: Pilih fasilitas yang sesuai (misalnya, Local0).
- Tingkat keparahan: Pilih Informasi untuk merekam semua tingkat peristiwa.
- Nama: Masukkan nama deskriptif (misalnya,
- Klik Simpan.
Opsi 2: Integrasi webhook real-time
Opsi ini menggunakan kemampuan webhook native Cisco DNA Center untuk mengirimkan peristiwa JSON terstruktur langsung ke Google SecOps secara real-time.
Ringkasan
Cisco DNA Center secara native mendukung notifikasi webhook untuk pengiriman peristiwa real-time. Opsi ini menyediakan payload JSON terstruktur dengan konteks peristiwa yang kaya, yang mengirimkan peristiwa langsung ke Google SecOps tanpa memerlukan Bindplane sebagai perantara.
Mengonfigurasi feed webhook Google SecOps
- Di Google SecOps, buka SIEM Settings > Feeds.
- Klik + Tambahkan Feed Baru.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Cisco DNA Center Webhook). - Pilih Webhook sebagai Jenis sumber.
- Pilih Cisco DNA Center Platform sebagai Jenis log.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Pemisah pemisahan: Opsional
\n. - Namespace aset: Namespace aset.
- Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini.
- Pemisah pemisahan: Opsional
- Klik Berikutnya.
- Tinjau konfigurasi feed, lalu klik Kirim.
- Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
- Salin dan simpan kunci rahasia karena Anda tidak dapat melihat rahasia ini lagi.
- Buka tab Detail.
- Salin URL endpoint feed dari kolom Endpoint Information.
- Klik Selesai.
Membuat kunci API untuk feed webhook
- Buka halaman Credentials di konsol Google Cloud.
- Klik Buat kredensial, lalu pilih Kunci API.
- Batasi akses kunci API ke Google SecOps API.
Mengonfigurasi tujuan Webhook di Cisco DNA Center
- Login ke Cisco DNA Center Platform.
- Buka Sistem > Setelan > Layanan Eksternal > Tujuan > Webhook.
- Klik + Tambahkan untuk membuat tujuan webhook baru.
- Berikan detail konfigurasi berikut:
- Nama: Masukkan nama deskriptif (misalnya,
Google SecOps Webhook). - Deskripsi: Masukkan deskripsi untuk webhook.
- URL: Masukkan URL endpoint webhook Google SecOps dari langkah sebelumnya.
- Metode: Pilih POST.
- Sertifikat Tepercaya: Pilih Tidak jika menggunakan sertifikat yang ditandatangani sendiri.
- Header: Tambahkan header yang diperlukan:
- Content-Type:
application/json - X-goog-api-key: Kunci Google Cloud API Anda
- X-Webhook-Access-Key: Kunci rahasia feed Google SecOps Anda
- Content-Type:
- Nama: Masukkan nama deskriptif (misalnya,
- Klik Uji Koneksi untuk memverifikasi konektivitas.
- Klik Simpan.
Berlangganan peristiwa ke notifikasi webhook
- Di Cisco DNA Center, buka Platform > Developer Toolkit > Event Notifications.
- Klik + Berlangganan.
- Berikan detail konfigurasi berikut:
- Nama Langganan: Masukkan nama deskriptif (misalnya,
Google SecOps Events). - Connector Type: Pilih REST Endpoint.
- Tujuan: Pilih tujuan webhook yang dibuat pada langkah sebelumnya.
- Nama Langganan: Masukkan nama deskriptif (misalnya,
- Pilih jenis peristiwa yang ingin Anda pantau:
- Peristiwa Jaringan: Perangkat tidak dapat dijangkau, antarmuka tidak berfungsi, perubahan konfigurasi.
- Peristiwa Keamanan: Pelanggaran kebijakan keamanan, kegagalan autentikasi.
- Peristiwa Sistem: Peristiwa platform, update software, pemeliharaan.
- Peristiwa Jaminan: Penurunan performa, masalah konektivitas.
- Konfigurasi filter peristiwa jika diperlukan:
- Tingkat keparahan: Pilih tingkat keparahan minimum (misalnya, P1, P2).
- Domain: Memfilter menurut domain tertentu (misalnya, Konektivitas, Performa).
- Klik Langganan.
Tabel Pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| category | security_result.severity_details | Dipetakan langsung dari kolom category dalam log mentah. |
| ciscoDnaEventLink | target.url | Dipetakan langsung dari kolom ciscoDnaEventLink dalam log mentah. |
| date_time | metadata.event_timestamp | Diekstrak dari pesan log mentah menggunakan pola grok dan dikonversi ke format stempel waktu. |
| details.Assurance_Issue_Category | security_result.about.resource.attribute.labels[].value | Dipetakan langsung dari kolom details.Assurance_Issue_Category dalam log mentah. Kunci untuk label ini adalah "Assurance_Issue_Category". |
| details.Assurance_Issue_Details | security_result.summary | Dipetakan langsung dari kolom details.Assurance_Issue_Details dalam log mentah. |
| details.Assurance_Issue_Name | security_result.about.resource.attribute.labels[].value | Dipetakan langsung dari kolom details.Assurance_Issue_Name dalam log mentah. Kunci untuk label ini adalah "Assurance_Issue_Name". |
| details.Assurance_Issue_Priority | security_result.about.resource.attribute.labels[].value | Dipetakan langsung dari kolom details.Assurance_Issue_Priority dalam log mentah. Kunci untuk label ini adalah "Assurance_Issue_Priority". |
| details.Assurance_Issue_Status | security_result.about.resource.attribute.labels[].value | Dipetakan langsung dari kolom details.Assurance_Issue_Status dalam log mentah. Kunci untuk label ini adalah "Assurance_Issue_Status". |
| details.Device | target.ip ATAU target.hostname | Dipetakan dari kolom details.Device dalam log mentah. Jika nilainya adalah alamat IP, nilai tersebut dipetakan ke target.ip, jika tidak, dipetakan ke target.hostname. |
| dnacIp | target.ip | Dipetakan langsung dari kolom dnacIp di log mentah, jika berupa alamat IP. |
| domain | additional.fields[].value.string_value | Dipetakan langsung dari kolom domain dalam log mentah. Kunci untuk kolom ini adalah "domain". |
| eventId | metadata.product_event_type | Dipetakan langsung dari kolom eventId dalam log mentah. |
| instanceId | target.resource.product_object_id | Dipetakan langsung dari kolom instanceId dalam log mentah. |
| nama | target.resource.attribute.labels[].value | Dipetakan langsung dari kolom name dalam log mentah. Kunci untuk label ini adalah "name". |
| namespace | target.namespace | Dipetakan langsung dari kolom namespace dalam log mentah. |
| network.deviceId | target.asset.asset_id | Dipetakan langsung dari kolom network.deviceId dalam log mentah dan diberi awalan "deviceId: ". |
| catatan | additional.fields[].value.string_value | Dipetakan langsung dari kolom note dalam log mentah. Kunci untuk kolom ini adalah "note". |
| metadata.event_type | Ditentukan berdasarkan keberadaan dan nilai kolom has_principal, has_target, dan userId. Nilai yang mungkin: NETWORK_CONNECTION, USER_UNCATEGORIZED, STATUS_UPDATE, GENERIC_EVENT. |
|
| is_alert | Benar jika tingkat keparahan adalah 0 atau 1, Salah jika tidak. | |
| is_significant | Benar jika tingkat keparahan adalah 0 atau 1, Salah jika tidak. | |
| tingkat keseriusan, | Digunakan untuk menentukan nilai security_result.severity, is_alert, dan is_significant. |
|
| sumber | target.resource.attribute.labels[].value | Dipetakan langsung dari kolom source dalam log mentah. Kunci untuk label ini adalah "source". |
| src_ip | principal.ip | Diekstrak dari pesan log mentah menggunakan pola grok. |
| subDomain | additional.fields[].value.string_value | Dipetakan langsung dari kolom subDomain dalam log mentah. Kunci untuk kolom ini adalah "subDomain". |
| tntId | target.resource.attribute.labels[].value | Dipetakan langsung dari kolom tntId dalam log mentah. Kunci untuk label ini adalah "tntId". |
| jenis | target.resource.attribute.labels[].value | Dipetakan langsung dari kolom type dalam log mentah. Kunci untuk label ini adalah "type". |
| userId | target.user.userid | Dipetakan langsung dari kolom userId dalam log mentah. |
| versi | metadata.product_version | Dipetakan langsung dari kolom version dalam log mentah. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.