Mengumpulkan log Cisco Router
Dokumen ini menjelaskan cara menyerap log Cisco Router ke Google Security Operations menggunakan agen Bindplane. Parser pertama-tama mengekstrak kolom umum dari berbagai format pesan syslog menggunakan serangkaian pola Grok, yang menangani berbagai variasi data stempel waktu dan nilai kunci. Kemudian, logika tertentu diterapkan berdasarkan jenis peristiwa yang diekstrak (facility, mnemonics, message_type), memperkaya data dengan kolom tambahan, dan memetakan data tersebut 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 balik proxy, pastikan port firewall terbuka.
- Pastikan Anda memiliki akses dengan hak istimewa ke Cisco Router.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer. 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 mengirim ke Google SecOps
Akses file konfigurasi:
- Temukan 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).
- Temukan 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 Mendapatkan 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 Cisco Router.
Eskalasikan 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 pemrosesan 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
Tetapkan fasilitas syslog:
logging facility local6
Aktifkan stempel waktu dengan memasukkan perintah berikut:
service timestamps log datetime
Simpan dan keluar.
Konfigurasikan setelan agar tetap ada setelah mulai 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 tanpa tanda 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 tanpa tanda tangan. |
sent_bytes |
network.sent_bytes | Nilai diambil dari kolom sent_bytes yang diekstrak oleh parser grok dan dikonversi menjadi bilangan bulat tanpa tanda 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. |
- | is_alert | Nilai ini ditetapkan ke true secara default. |
- | is_significant | Nilai ini ditetapkan ke true secara default. |
- | metadata.event_timestamp | Nilai diambil dari kolom create_time . |
- | metadata.event_type | Nilai ditetapkan ke GENERIC_EVENT secara default, dan diubah menjadi 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 | Nilainya ditetapkan ke HTTP atau HTTPS jika kolom protocol masing-masing adalah http atau https . |
- | extensions.auth.type | Nilai ditetapkan ke AUTHTYPE_UNSPECIFIED secara default, dan diubah menjadi 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 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. |
Perubahan
2024-12-12
Peningkatan:
- Memetakan
intermediary_host
keintermediary.hostname
.
2024-12-05
Peningkatan:
- Menambahkan pola Grok untuk mendukung pola log syslog baru.
- Memetakan
srcip
keprincipal.ip
.
2024-10-30
Peningkatan:
- Menambahkan dukungan untuk
metadata.event_timestamp
di zona waktuBST
.
2024-10-15
Peningkatan:
- Memetakan
inter_hostname
keintermediary.ip
danintermediary_host
keintermediary.hostname
.
2024-09-12
Peningkatan:
- Menambahkan pola Grok untuk memetakan
int_ip
keintermediary.hostname
.
2024-06-26
Peningkatan:
- Menambahkan pola Grok baru untuk mengurai format baru log SYSLOG.
2024-06-09
Peningkatan:
- Memetakan
hostname
dari header syslog keintermediary.hostname
.
2024-05-20
Peningkatan:
- Menambahkan pola Grok baru untuk mengurai format baru log SYSLOG.
- Memetakan
MessageSourceAddress
keprincipal.ip
danprincipal.asset.ip
. - Memetakan
SourceModuleName
danSourceModuleType
keprincipal.resource.attribute.labels
.
2023-11-10
Peningkatan:
- Menambahkan pola Grok baru untuk mengurai log SYSLOG yang gagal.
- Menambahkan kondisi
Unable
,exceeded
, danNo space left on device
untukAUTH_VIOLATION
.
2023-10-30
Peningkatan:
- Menambahkan pola Grok baru untuk mengurai log syslog yang gagal.
- Memetakan
resourcename
keprincipal.resource.name
. - Memetakan
app_protocol
kenetwork.application.protocol
. - Memetakan
app
ketarget.application
. - Memetakan
source_port
keprincipal.port
. - Memetakan
source_ip
keprincipal.ip
. - Memetakan
device_ip
ketarget.ip
. - Memetakan
username
ketarget.user.userid
. - Memetakan
intermediary_ip
keintermediary.ip
. - Memetakan
mnemonics
kemetadata.event_type
. - Memetakan
sec_action
kesecurity_result.action
. - Memetakan
sec_category
security_result.category
. - Memetakan
sec_summary
kesecurity_result.summary
. - Untuk log jenis autentikasi, tetapkan
metadata.event_type
keUSER_LOGIN
.
2023-05-09
Peningkatan:
- Log dengan nilai
FMANFP-6-IPACCESSLOGP
diuraikan sebagai peristiwaNETWORK_CONNECTION
.
2022-12-02
Peningkatan:
- Menambahkan grok untuk mendukung log Syslog yang tidak diuraikan.
- Jika
principal.hostname
mengubah pemetaan event_type dari GENERIC_EVENT menjadi STATUS_UPDATE.
2022-11-10
Peningkatan:
- Menambahkan dukungan untuk log aktivitas SYS-5-CONFIG_I.
- Mengubah grok untuk mendukung log yang memiliki zona waktu.
2022-10-27
Peningkatan:
- Mengurai kolom syslog berikut dari jenis log IOSXE-6-PLATFORM
- Memetakan
ip
keintermediary.ip
- Memetakan
src_ip
keprincipal.ip
- Memetakan
src_port
keprincipal.port
- Memetakan
dst_ip
ketarget.ip
- Memetakan
dst_port
ketarget.port
- Memetakan
protocol
kenetwork.ip_protocol
- Memetakan
facility
keprincipal.resource.type
- Memetakan
mnemonics
kemetadata.product_event_type
- Memetakan
sc_summary
kemetadata.description
- Memetakan
sr_action
kesecurity_result.action
- Memetakan
summary
kesecurity_result.summary
2022-08-23
Peningkatan:
- Memperbaiki pemetaan IP utama dan target
- Memetakan
target_ip
keevent.idm.read_only_udm.target.ip
- Memetakan
src_ip
keevent.idm.read_only_udm.principal.asset.ip
2022-07-01
Peningkatan:
- Memperbaiki error untuk mengurai log yang berisi product_event_type sebagai SYS-3-LOGGINGHOST_FAIL,SEC_LOGIN-5-LOGIN_SUCCESS,SYS-6-LOGGINGHOST_STARTSTOP,SYS-6-LOGOUT dan stempel waktu tidak ada.
- Mengubah metadata.event_type log SYS-3-LOGGINGHOST_FAIL menjadi STATUS_UPDATE dari GENERIC_EVENT.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.