Mengumpulkan log Cisco Stealthwatch
Dokumen ini menjelaskan cara mengumpulkan log Cisco Secure Network Analytics (sebelumnya Stealthwatch) ke Google Security Operations menggunakan BindPlane. Parser menangani dua format log Cisco Stealthwatch: satu dengan informasi IP dan paket klien/server, dan yang lainnya dengan ID perangkat dan jumlah byte. Proses ini mengekstrak kolom, mengonversinya ke jenis data yang sesuai, memetakannya ke UDM, dan menetapkan kolom metadata seperti vendor, produk, dan jenis peristiwa berdasarkan konten dan format log.
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 belakang proxy, pastikan port firewall terbuka.
- Pastikan Anda memiliki akses istimewa ke Cisco Stealthwatch.
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
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.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: '/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 ingestion_labels: log_type: CISCO_STEALTHWATCH 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 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 Syslog Cisco Secure Network Analytics (sebelumnya Stealthwatch)
- Login ke UI Web Konsol Pengelolaan.
- Buka Configuration > Response Management.
Edit Format Syslog:
- Nama: masukkan nama untuk format syslog.
- Deskripsi: berikan deskripsi untuk format.
- Fasilitas: ditetapkan ke
Local 0
- Tingkat keparahan: ditetapkan ke
Informational
. - Di kolom Message, tempel format berikut:
Lancope|StealthWatch|time|{time}|target_hostname|{target_hostname}|alarm_severity_id|{alarm_severity_id}|alarm_type_id|{alarm_type_id}|alarm_type_description|{alarm_type_description}|port|{port}|target_ip|{target_ip}|target_mac_address|{target_mac_address}|target_label|{target_label}|alarm_type_name|{alarm_type_name}|source_hostname|{source_hostname}|source_ip|{source_ip}|source_mac_address|{source_mac_address}|source_username|{source_username}|device_ip|{device_ip}|device_name|{device_name}|details|{details}|protocol|{protocol}|alarm_id|{alarm_id}|alarm_category_name|{alarm_category_name}|start_active_time|{start_active_time}| end_active_time|{end_active_time}
Klik Oke.
Buka Pengelolaan Respons > Tindakan > Tambahkan Pesan Syslog.
Konfigurasi Penerus Syslog:
- Name: masukkan nama untuk penerus Google SecOps Bindplane.
- Description: masukkan deskripsi untuk penerusan Google SecOps Bindplane.
- Alamat IP: masukkan alamat IP agen Bindplane.
- Port: masukkan nomor port agen Bindplane; misalnya,
514
. - Format: pilih format yang dibuat di Langkah 3.
Klik Oke.
Mengonfigurasi Nama Aturan untuk Cisco Secure Network Analytics (sebelumnya Stealthwatch)
- Buka Configuration > Response Management.
- Pilih Aturan > Tambahkan > Alarm sistem SMC.
- Klik Oke.
- Pada dialog Jenis aturan, pilih aturan.
- Klik Oke.
- Dalam dialog Aturan, lakukan tindakan berikut:
- Nama: masukkan nama untuk aturan.
- Aturan ini dipicu jika: pilih Semua, Tingkat Keparahan, dan Informasi dalam daftar masing-masing.
- Klik Oke.
- Pilih Tindakan > Tambahkan.
- Pilih tindakan yang telah Anda buat sebelumnya.
- Klik Ok, lalu Ok.
- Ulangi langkah-langkah sebelumnya untuk mengganti nama tiga opsi berikut di bagian Aturan:
- Mekanisme pengumpulan log yang didukung - Syslog
- Mekanisme pengumpulan log pilihan - Syslog
- Diagram logis alur peristiwa - SMC Remote Syslog Server
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
Alarm_ID |
additional.fields[?key=='Alarm_ID'].value.string_value |
Nilai Alarm_ID dari log mentah ditempatkan dalam struktur additional.fields bertingkat di bawah kunci Alarm_ID . |
ClientBytes |
network.sent_bytes |
ClientBytes dari log mentah dikonversi menjadi bilangan bulat yang tidak bertanda tangan dan dipetakan. |
ClientIP |
principal.ip |
ClientIP dari log mentah dipetakan. |
ClientPort |
principal.port |
ClientPort dari log mentah dikonversi menjadi bilangan bulat dan dipetakan. |
CPayload |
Tidak Dipetakan | Kolom ini tidak digunakan dalam UDM akhir. |
DestIPv4Address |
target.ip |
DestIPv4Address dari log mentah dipetakan. |
DestPort |
target.port |
DestPort dari log mentah dikonversi menjadi bilangan bulat dan dipetakan. |
details |
security_result.summary |
Nilai details dari log mentah, dengan tanda petik ganda dihapus, dipetakan. |
FC |
intermediary.ip |
FC dari log mentah dipetakan. |
host.country |
principal.location.country_or_region |
host.country dari log mentah dipetakan. |
host.hostGroupNames |
about.group.group_display_name |
Setiap elemen dalam array host.hostGroupNames dari log mentah diawali dengan host: dan dipetakan sebagai objek about terpisah. |
host.ipAddress |
principal.ip |
host.ipAddress dari log mentah dipetakan. |
hostBytes |
network.sent_bytes |
hostBytes dari log mentah dikonversi menjadi bilangan bulat yang tidak bertanda tangan dan dipetakan. |
InPackets |
additional.fields[?key=='InPackets'].value.string_value |
Nilai InPackets dari log mentah ditempatkan dalam struktur additional.fields bertingkat di bawah kunci InPackets . |
inputSNMPIface |
additional.fields[?key=='inputSNMPIface'].value.string_value |
Nilai inputSNMPIface dari log mentah ditempatkan dalam struktur additional.fields bertingkat di bawah kunci inputSNMPIface . |
LastTime |
Tidak Dipetakan | Kolom ini diuraikan untuk stempel waktu peristiwa dalam beberapa kasus, tetapi tidak dipetakan langsung ke UDM. |
MessageSourceAddress |
principal.ip |
MessageSourceAddress dari log mentah dipetakan. |
method |
network.http.method |
method dari log mentah dipetakan. |
outputSNMPIface |
additional.fields[?key=='outputSNMPIface'].value.string_value |
Nilai outputSNMPIface dari log mentah ditempatkan dalam struktur additional.fields bertingkat di bawah kunci outputSNMPIface . |
PAAppID |
Tidak Dipetakan | Kolom ini tidak digunakan dalam UDM akhir. |
peer.country |
target.location.country_or_region |
peer.country dari log mentah dipetakan. |
peer.hostGroupNames |
about.group.group_display_name |
Setiap elemen dalam array peer.hostGroupNames dari log mentah diawali dengan peer: dan dipetakan sebagai objek about terpisah. |
peer.ipAddress |
target.ip |
peer.ipAddress dari log mentah dipetakan. |
peerBytes |
network.received_bytes |
peerBytes dari log mentah dikonversi menjadi bilangan bulat yang tidak bertanda tangan dan dipetakan. |
peerPackets |
Tidak Dipetakan | Kolom ini tidak digunakan dalam UDM akhir. |
Protocol |
Tidak Dipetakan | Kolom ini diuraikan untuk menentukan network.ip_protocol , tetapi tidak dipetakan secara langsung. |
ProtocolIdentifier |
Tidak Dipetakan | Kolom ini digunakan untuk mendapatkan network.ip_protocol , tetapi tidak dipetakan secara langsung. |
reportName |
metadata.product_event_type |
reportName dari log mentah dipetakan. |
ServerBytes |
network.received_bytes |
ServerBytes dari log mentah dikonversi menjadi bilangan bulat yang tidak bertanda tangan dan dipetakan. |
ServerIP |
target.ip |
ServerIP dari log mentah dipetakan. |
ServerPort |
target.port |
ServerPort dari log mentah dikonversi menjadi bilangan bulat dan dipetakan. |
Service |
Tidak Dipetakan | Kolom ini tidak digunakan dalam UDM akhir. |
sid |
target.user.windows_sid |
sid dari log mentah dipetakan. |
SourceModuleName |
target.resource.name |
SourceModuleName dari log mentah dipetakan. |
SourceModuleType |
observer.application |
SourceModuleType dari log mentah dipetakan. |
SourcePort |
principal.port |
SourcePort dari log mentah dikonversi menjadi bilangan bulat dan dipetakan. |
sourceIPv4Address |
principal.ip |
sourceIPv4Address dari log mentah dipetakan. |
SPayload |
Tidak Dipetakan | Kolom ini tidak digunakan dalam UDM akhir. |
src_ip |
principal.ip |
src_ip dari log mentah dipetakan. |
StartTime |
Tidak Dipetakan | Kolom ini diuraikan untuk stempel waktu peristiwa dalam beberapa kasus, tetapi tidak dipetakan langsung ke UDM. |
time |
Tidak Dipetakan | Kolom ini diuraikan untuk stempel waktu peristiwa dalam beberapa kasus, tetapi tidak dipetakan langsung ke UDM. |
timestamp |
Tidak Dipetakan | Kolom ini diuraikan untuk stempel waktu peristiwa, tetapi tidak dipetakan langsung ke UDM. |
UserName |
principal.user.user_display_name |
UserName dari log mentah dipetakan. |
Version |
metadata.product_version |
Version dari log mentah dikonversi menjadi string dan dipetakan. |
T/A | metadata.event_timestamp |
Stempel waktu peristiwa berasal dari berbagai kolom (LastTime , time , timestamp , StartTime ) bergantung pada format log, atau dari kolom create_time jika tidak ada stempel waktu lain yang tersedia. |
T/A | metadata.log_type |
Selalu ditetapkan ke CISCO_STEALTHWATCH . |
T/A | metadata.vendor_name |
Selalu ditetapkan ke Cisco . |
T/A | metadata.event_type |
Ditentukan oleh logika parser berdasarkan konten log. Dapat berupa NETWORK_CONNECTION , USER_STATS , USER_UNCATEGORIZED , FILE_OPEN , FILE_DELETION , atau FILE_UNCATEGORIZED . |
T/A | network.ip_protocol |
Ditentukan oleh logika parser berdasarkan kolom Protocol atau ProtocolIdentifier . Dapat berupa TCP , UDP , atau ICMP . |
action |
security_result.action_details |
Nilai action dari log mentah dipetakan. |
action |
security_result.action |
Diperoleh dari kolom action . Jika action adalah SUCCESS , kolom ini ditetapkan ke ALLOW ; jika tidak, kolom ini ditetapkan ke BLOCK . |
category |
security_result.category_details |
Nilai category dari log mentah dipetakan. |
description |
security_result.description |
Jika description dan file_type ada dalam log mentah, keduanya akan digabungkan dan dipetakan. |
desc |
metadata.description |
Nilai desc dari log mentah, dengan tanda petik ganda dihapus, dipetakan. |
failuer_reason |
security_result.summary |
Jika failuer_reason dan file_type ada dalam log mentah, keduanya akan digabungkan dan dipetakan. |
file_path |
target.file.full_path |
file_path dari log mentah dipetakan. |
file_type |
target.file.mime_type |
file_type dari log mentah dipetakan. |
hostname |
principal.hostname |
hostname dari log mentah dipetakan. |
ip |
principal.ip |
ip dari log mentah dipetakan. |
ipf |
intermediary.ip |
ipf dari log mentah dipetakan. |
ipt |
target.ip |
ipt dari log mentah dipetakan. |
process_id |
target.process.pid |
process_id dari log mentah dipetakan. |
protocol |
network.application_protocol |
protocol dari log mentah dipetakan. |
security_res.severity |
security_result.severity |
Jika severity adalah Minor , kolom ini ditetapkan ke INFORMATIONAL ; jika severity adalah Major , kolom ini ditetapkan ke ERROR . |
session_id |
network.session_id |
session_id dari log mentah dipetakan. |
severity |
Tidak Dipetakan | Kolom ini digunakan untuk mendapatkan security_result.severity , tetapi tidak dipetakan secara langsung. |
Source_HG |
principal.location.country_or_region |
Source_HG dari log mentah dipetakan. |
Source_HostSnapshot |
principal.url |
Source_HostSnapshot dari log mentah dipetakan. |
Target_HostSnapshot |
target.url |
Target_HostSnapshot dari log mentah dipetakan. |
user_name |
principal.user.userid |
user_name dari log mentah dipetakan. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.