Mengumpulkan log Cisco Router
Dokumen ini menjelaskan cara menyerap log Router Cisco ke Google Security Operations menggunakan agen Bindplane. Parser terlebih dahulu mengekstrak kolom umum dari berbagai format pesan syslog menggunakan serangkaian pola Grok, yang menangani berbagai variasi data stempel waktu dan key-value. Kemudian, menerapkan logika tertentu berdasarkan jenis peristiwa yang diekstrak (fasilitas, mnemonik, message_type), memperkaya data dengan kolom tambahan dan memetakannya ke model UDM.
Sebelum memulai
- Pastikan Anda memiliki instance Google SecOps.
- 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 Router.
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_ROUTER 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 di Router Cisco
- Login ke Router Cisco.
Tingkatkan hak istimewa dengan memasukkan perintah
enable
:Switch> enable Switch#
Beralih ke mode konfigurasi dengan memasukkan perintah
conf t
:Switch# conf t Switch(config)#
Masukkan perintah berikut:
logging host <bindplane-server-ip> transport <tcp/udp> port <port-number> logging source-interface <interface>
- Ganti
<bindplane-server-ip>
dengan alamat IP agen Bindplane, dan<port-number>
dengan port yang dikonfigurasi. - Ganti
<tcp/udp>
dengan protokol pendengar yang dikonfigurasi di agen BindPlane; misalnya,udp
. - Ganti
<interface>
dengan ID antarmuka Cisco; misalnya,Ethernet1/1
.
- Ganti
Tetapkan tingkat prioritas dengan memasukkan perintah berikut:
logging trap Informational logging console Informational logging severity Informational
Menetapkan fasilitas syslog:
logging facility local6
Aktifkan stempel waktu dengan memasukkan perintah berikut:
service timestamps log datetime
Simpan dan keluar.
Konfigurasi setelan agar tetap ada setelah dimulai ulang dengan memasukkan perintah berikut:
copy running-config startup-config
Tabel Pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
client_ip |
target.ip, target.asset.ip | Nilai diambil dari kolom client_ip yang diekstrak oleh parser grok. |
client_mac |
target.mac | Nilai diambil dari kolom client_mac yang diekstrak oleh parser grok. |
dst_ip |
target.ip, target.asset.ip | Nilai diambil dari kolom dst_ip yang diekstrak oleh parser grok. |
dst_port |
target.port | Nilai diambil dari kolom dst_port yang diekstrak oleh parser grok dan dikonversi menjadi bilangan bulat. |
duration |
- | Kolom ini tidak dipetakan ke UDM. |
host_ip |
target.ip, target.asset.ip | Nilai diambil dari kolom host_ip yang diekstrak oleh parser grok. |
local_proxy |
intermediary.ip | Nilai diambil dari kolom local_proxy yang diekstrak oleh parser grok. |
message_data |
metadata.description | Nilai diambil dari kolom message_data yang diekstrak oleh parser grok. |
protocol |
network.ip_protocol | Nilai diambil dari kolom protocol yang diekstrak oleh parser grok dan dikonversi menjadi huruf besar. |
received_bytes |
network.received_bytes | Nilai diambil dari kolom received_bytes yang diekstrak oleh parser grok dan dikonversi menjadi bilangan bulat yang tidak bertanda tangan. |
referral_url |
network.http.referral_url | Nilai diambil dari kolom referral_url yang diekstrak oleh parser grok. |
remote_proxy |
intermediary.ip | Nilai diambil dari kolom remote_proxy yang diekstrak oleh parser grok. |
send_bytes |
network.sent_bytes | Nilai diambil dari kolom send_bytes yang diekstrak oleh parser grok dan dikonversi menjadi bilangan bulat yang tidak bertanda tangan. |
sent_bytes |
network.sent_bytes | Nilai diambil dari kolom sent_bytes yang diekstrak oleh parser grok dan dikonversi menjadi bilangan bulat yang tidak bertanda tangan. |
server_host |
target.hostname, target.asset.hostname | Nilai diambil dari kolom server_host yang diekstrak oleh parser grok. |
server_ip |
target.ip, target.asset.ip | Nilai diambil dari kolom server_ip yang diekstrak oleh parser grok. |
src_ip |
principal.ip, principal.asset.ip | Nilai diambil dari kolom src_ip yang diekstrak oleh parser grok. |
src_port |
principal.port | Nilai diambil dari kolom src_port yang diekstrak oleh parser grok dan dikonversi menjadi bilangan bulat. |
user_ip |
target.ip, target.asset.ip | Nilai diambil dari kolom user_ip yang diekstrak oleh parser grok. |
user_mail |
principal.user.userid, principal.user.email_addresses | Nilai diambil dari kolom user_mail yang diekstrak oleh parser grok. |
username |
target.user.userid | Nilai diambil dari kolom username yang diekstrak oleh parser grok. |
- | metadata.event_timestamp | Nilai diambil dari kolom create_time . |
- | metadata.event_type | Nilai ditetapkan ke GENERIC_EVENT secara default, dan diubah ke jenis peristiwa tertentu berdasarkan pesan log yang diuraikan. |
- | metadata.log_type | Nilai ditetapkan ke CISCO_ROUTER . |
- | metadata.product_event_type | Nilai diambil dari kolom message_type , yang dihasilkan dengan menggabungkan kolom facility , priority , dan mnemonics . |
- | metadata.product_name | Nilai ditetapkan ke Router . |
- | metadata.vendor_name | Nilai ditetapkan ke Cisco . |
- | network.application_protocol | Nilai ditetapkan ke HTTP atau HTTPS jika kolom protocol adalah http atau https . |
- | extensions.auth.type | Nilai ditetapkan ke AUTHTYPE_UNSPECIFIED secara default, dan diubah ke jenis autentikasi tertentu berdasarkan pesan log yang diuraikan. |
- | security_result.action | Nilai ditetapkan ke ALLOW untuk login yang berhasil dan BLOCK untuk login yang gagal. |
- | security_result.category | Nilai ditetapkan ke NETWORK_SUSPICIOUS untuk peristiwa dengan opsi IP dan AUTH_VIOLATION untuk upaya login yang gagal. |
- | security_result.description | Nilai ditetapkan ke pesan tertentu untuk peristiwa yang berbeda. |
- | security_result.severity | Nilai ditetapkan ke LOW untuk login yang berhasil, MEDIUM untuk login yang gagal, dan INFORMATIONAL untuk peristiwa lainnya. |
- | security_result.severity_details | Nilai diambil dari kolom fail_reason untuk login yang gagal, dan ditetapkan ke Informational message untuk peristiwa dengan opsi IP. |
- | security_result.summary | Nilai ditetapkan ke pesan tertentu untuk peristiwa yang berbeda. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.