Mengumpulkan log VPN Cisco
Versi Parser: 22.0
Dokumen ini menjelaskan cara menyerap log VPN Cisco ASA ke Google Security Operations menggunakan agen Bindplane.
Parser mengekstrak kolom dari pesan syslog VPN Cisco ASA menggunakan pola grok, yang menangani format syslog standar dan struktur pesan alternatif. Alat ini memetakan kolom yang diekstrak ke Model Data Terpadu (UDM) dan mengategorikan peristiwa berdasarkan ID peristiwa ASA.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Windows Server 2016 atau yang lebih baru, atau host Linux dengan
systemd - Konektivitas jaringan antara agen Bindplane dan Cisco ASA
- Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
- Akses istimewa ke Cisco ASA
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 agen 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" /quietTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sc query observiq-otel-collectorLayanan akan ditampilkan sebagai RUNNING.
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.shTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sudo systemctl status observiq-otel-collectorLayanan akan ditampilkan sebagai aktif (berjalan).
Referensi penginstalan tambahan
Untuk opsi penginstalan dan pemecahan masalah tambahan, lihat Panduan penginstalan agen BindPlane.
Mengonfigurasi agen Bindplane untuk menyerap syslog dan mengirimkannya ke Google SecOps
Cari file konfigurasi
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Edit file konfigurasi
Ganti seluruh konten
config.yamldengan konfigurasi berikut:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/cisco_vpn: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: CISCO_VPN raw_log_field: body service: pipelines: logs/cisco_vpn_to_chronicle: receivers: - udplog exporters: - chronicle/cisco_vpn
Parameter konfigurasi
Ganti placeholder berikut:
Konfigurasi penerima:
listen_address: Alamat IP dan port yang akan diproses:0.0.0.0untuk mendengarkan di semua antarmuka (direkomendasikan)- Port
514adalah port syslog standar (memerlukan root di Linux; gunakan1514untuk non-root)
Konfigurasi eksportir:
creds_file_path: Jalur lengkap ke file autentikasi penyerapan:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: ID Pelanggan yang disalin dari konsol Google SecOpsendpoint: URL endpoint regional:- Amerika Serikat:
malachiteingestion-pa.googleapis.com - Eropa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Lihat Endpoint Regional untuk mengetahui daftar lengkapnya
- Amerika Serikat:
Simpan file konfigurasi
- Setelah mengedit, simpan file:
- Linux: Tekan
Ctrl+O, laluEnter, laluCtrl+X - Windows: Klik File > Save
- Linux: Tekan
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart observiq-otel-collectorPastikan layanan sedang berjalan:
sudo systemctl status observiq-otel-collectorPeriksa log untuk mengetahui error:
sudo journalctl -u observiq-otel-collector -f
Untuk memulai ulang agen Bindplane di Windows, pilih salah satu opsi berikut:
Command Prompt atau PowerShell sebagai administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorKonsol layanan:
- Tekan
Win+R, ketikservices.msc, lalu tekan Enter. - Temukan observIQ OpenTelemetry Collector.
- Klik kanan, lalu pilih Mulai Ulang.
Pastikan layanan sedang berjalan:
sc query observiq-otel-collectorPeriksa log untuk mengetahui error:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Tekan
Mengonfigurasi syslog untuk VPN Cisco ASA
- Buka Cisco ASDM.
- Buka Konfigurasi > Fitur > Properti > Logging > Penyiapan Logging.
- Centang kotak Enable logging untuk mengaktifkan syslog.
- Pilih Syslog Servers di Logging, lalu klik Add.
- Masukkan detail konfigurasi berikut di jendela Add Syslog Server:
- Antarmuka: Pilih antarmuka untuk komunikasi keluar.
- Alamat IP: Masukkan alamat IP agen Bindplane.
- Protocol: Pilih UDP.
- Port: Masukkan nomor port agen Bindplane.
- Klik Oke.
- Pilih Logging Filters di bagian logging.
- Pilih Syslog Servers, lalu klik Edit.
- Pilih Informasional dari daftar sebagai Filter berdasarkan tingkat keparahan.
- Klik Oke.
- Klik Terapkan.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
accesslist |
target.resource.name |
Diekstrak dari message_info saat eventtype adalah "ASA-4-106103". Mewakili nama daftar akses. |
action |
security_result.action |
Diperoleh oleh parser berdasarkan kata kunci dalam pesan log (misalnya, "Deny", "Reject", "Allow", "Accept"). Maps untuk DIIZINKAN atau DIBLOKIR. |
action |
security_result.action_details |
Nilai string mentah dari tindakan yang diambil (misalnya, "diizinkan", "ditolak", "koneksi terputus"). |
app_name |
principal.application |
Nama aplikasi yang digunakan oleh prinsipal (misalnya, "CLI"). Diekstrak dari message_details untuk ID peristiwa 111008, 111009, dan 111010. |
assigned_ipv4 |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
assigned_ipv6 |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
bytes_rcv |
network.received_bytes |
Jumlah byte yang diterima dalam sesi. Diekstrak dari log_mssg untuk ID acara 113019. |
bytes_sent |
network.sent_bytes |
Jumlah byte yang dikirim dalam sesi. Diekstrak dari log_mssg untuk ID acara 113019. |
cipher |
network.tls.cipher |
Cipher yang digunakan untuk sesi SSL. Diekstrak dari message_info untuk eventtype 725012. |
cisco_message_number |
security_result.rule_name |
Nomor pesan Cisco, diekstrak dari kolom eventtype. |
cisco_severity |
security_result.severity_details |
Tingkat keparahan Cisco mentah, diekstrak dari kolom eventtype. |
command |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
cumulative_total_count.key |
security_result.outcomes.key |
Kunci "cumulative_total_count" ditambahkan ke array security_result.outcomes. |
cumulative_total_count.value |
security_result.outcomes.value |
Nilai jumlah total kumulatif, yang diekstrak dari message_info. |
current_average_rate.key |
security_result.outcomes.key |
Kunci "current_average_rate" ditambahkan ke array security_result.outcomes. |
current_average_rate.value |
security_result.outcomes.value |
Nilai tarif rata-rata saat ini, diekstrak dari message_info. |
current_burst_rate.key |
security_result.outcomes.key |
Kunci "current_burst_rate" ditambahkan ke array security_result.outcomes. |
current_burst_rate.value |
security_result.outcomes.value |
Nilai kecepatan transfer data saat ini, diekstrak dari message_info. |
desc |
metadata.description |
Deskripsi peristiwa, diekstrak dari pesan log. Digunakan saat deskripsi yang lebih spesifik tidak tersedia. |
description |
metadata.description |
Deskripsi peristiwa yang lebih mendetail, diekstrak dari pesan log jika tersedia. |
destination_ip |
target.ip, target.asset.ip |
Alamat IP tujuan, diekstrak dari berbagai format pesan log. |
destination_ip_port |
target.port atau network.application_protocol |
Port tujuan, diekstrak dari berbagai format pesan log. Jika nilai yang diekstrak bukan angka, nilai tersebut akan diperlakukan sebagai protokol aplikasi. |
dst_email |
target.user.email_addresses atau target.user.userid |
Alamat email atau ID pengguna tujuan, diekstrak dari message_info. Jika nilai cocok dengan format email, nilai tersebut akan ditambahkan ke email_addresses; jika tidak, nilai tersebut akan digunakan sebagai userid. |
dst_host |
target.hostname |
Nama host tujuan, diekstrak dari message_info. |
dst_ip |
target.ip, target.asset.ip |
Alamat IP tujuan, diekstrak dari pola grok utama atau pola spesifik lainnya. |
dst_port |
target.port |
Port tujuan, diekstrak dari pola grok utama atau pola spesifik lainnya. |
duration |
network.session_duration |
Durasi sesi, diekstrak dari message_details dan dikonversi ke detik. |
event_date |
@timestamp |
Tanggal dan waktu peristiwa, dibuat dari berbagai kolom stempel waktu dalam log mentah dan diuraikan menggunakan filter date. |
event_id |
metadata.product_event_type (bagian dari) |
Digunakan bersama dengan event_severity untuk membentuk kolom metadata.product_event_type. |
event_name |
metadata.product_event_type (bagian dari) |
Digunakan bersama dengan event_severity dan event_type untuk membentuk kolom metadata.product_event_type jika tersedia. |
event_severity |
metadata.product_event_type (bagian dari), security_result.severity, is_alert, is_significant |
Digunakan bersama dengan event_id atau event_name dan event_type untuk membentuk kolom metadata.product_event_type. Juga digunakan untuk mendapatkan kolom security_result.severity, is_alert, dan is_significant. |
event_type |
metadata.product_event_type (bagian dari) |
Digunakan bersama dengan event_name dan event_severity untuk membentuk kolom metadata.product_event_type jika tersedia. |
eventtype |
metadata.product_event_type, security_result.rule_name, security_result.severity_details, security_result.severity |
String jenis peristiwa, yang digunakan untuk mendapatkan kolom metadata.product_event_type, security_result.rule_name, security_result.severity_details, dan security_result.severity. |
fragment_id |
security_result.about.resource.id |
ID fragmen IP, diekstrak dari message_details untuk ID peristiwa 209005. |
group |
principal.group.group_display_name, principal.user.group_identifiers, target.user.group_identifiers |
Nama grup, diekstrak dari berbagai format pesan log. |
group_name |
principal.group.group_display_name |
Nama grup diekstrak dari kolom group jika berupa nama host. |
has_principal_ip |
T/A | Variabel internal yang digunakan untuk logika, tidak dipetakan ke UDM. |
has_target_ip |
T/A | Variabel internal yang digunakan untuk logika, tidak dipetakan ke UDM. |
hostname |
principal.hostname, principal.asset.hostname |
Nama host prinsipal, diekstrak dari berbagai format pesan log. |
hostname2 |
principal.hostname, principal.asset.hostname |
Nama host entity utama, diekstrak sebagai penggantian jika hostname tidak tersedia. |
icmp_code |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
icmp_dst_ip |
target.ip, target.asset.ip |
Alamat IP tujuan dari pesan error ICMP. |
icmp_id |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
icmp_src_ip |
principal.ip, principal.asset.ip |
Alamat IP sumber dari pesan error ICMP. |
icmp_type |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
intermediary_ip |
principal.ip, principal.asset.ip |
Alamat IP perantara, diekstrak dari message_info untuk ID peristiwa 111010. |
invalid_ip |
T/A | Variabel internal yang digunakan untuk logika, tidak dipetakan ke UDM. |
ip_1 |
principal.ip, principal.asset.ip |
Alamat IP sumber diekstrak sebagai penggantian jika IP sumber dan tujuan sama. |
ip_2 |
target.ip, target.asset.ip |
Alamat IP tujuan diekstrak sebagai penggantian jika IP sumber dan tujuan sama. |
ipprotocol |
network.ip_protocol |
Protokol IP, diekstrak dari berbagai format pesan log dan dikonversi menjadi huruf besar. |
issuer |
network.tls.client.certificate.issuer |
Penerbit sertifikat peer, diekstrak dari message_details untuk ID peristiwa 717037. |
local_proxy_ip |
intermediary.ip |
Alamat IP proxy lokal, diekstrak dari message_details untuk ID peristiwa 713041. |
log_mssg |
security_result.description, sr.action |
Digunakan untuk mengisi kolom security_result.description dan mengekstrak tindakan autentikasi. |
login |
security_result.summary |
Status login, diekstrak dari message_info. |
max_configured_rate.key |
security_result.outcomes.key |
Kunci "max_configured_rate" ditambahkan ke array security_result.outcomes. |
max_configured_rate.value |
security_result.outcomes.value |
Nilai kecepatan maksimum yang dikonfigurasi, diekstrak dari message_info. |
message_details |
Berbagai kolom | Bagian utama pesan log, yang berisi detail tentang peristiwa. Diparsing menggunakan berbagai pola grok, bergantung pada ID peristiwa. |
message_info |
metadata.description |
Digunakan untuk mengisi kolom metadata.description jika tersedia. |
observer |
observer.hostname atau observer.ip |
Nama host atau alamat IP pengamat, diekstrak dari pesan log. |
observer_ip |
observer.ip |
Alamat IP pengamat, diekstrak dari kolom observer. |
peer_type |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
policy |
target.resource.name |
Nama kebijakan, diekstrak dari message_details untuk ID peristiwa 113003. |
policy_name |
target.resource.name |
Nama kebijakan, diekstrak dari message_details untuk ID peristiwa 113009 dan 113011. |
principal_ip |
principal.ip, principal.asset.ip |
Alamat IP utama, diekstrak dari message_details untuk ID peristiwa 113009. |
privilege_level_from |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
privilege_level_to |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
process |
principal.process.command_line |
Nama proses, diekstrak dari message_details untuk ID peristiwa 711004. |
protocol |
network.ip_protocol atau network.application_protocol |
Protokol yang digunakan dalam peristiwa, diekstrak dari berbagai format pesan log. Jika protokol adalah protokol IP standar (ICMP, TCP, UDP, ESP), protokol dipetakan ke network.ip_protocol; jika tidak, protokol dipetakan ke network.application_protocol. |
reason |
security_result.description |
Alasan terjadinya peristiwa, diekstrak dari message_details untuk ID peristiwa 113016. |
remote_proxy_ip |
intermediary.ip |
Alamat IP proxy jarak jauh, diekstrak dari message_details untuk ID peristiwa 713041. |
retrieved_file |
target.file.full_path |
Jalur ke file yang diambil, diekstrak dari message_info. |
security_action |
security_result.action |
Tindakan keamanan, yang diperoleh oleh parser berdasarkan konteks peristiwa. |
security_category |
security_result.category |
Kategori keamanan, yang diperoleh oleh parser berdasarkan konteks peristiwa. |
security_result.description |
security_result.description |
Deskripsi hasil keamanan, diekstrak atau berasal dari pesan log. |
security_result.severity |
security_result.severity |
Tingkat keparahan hasil keamanan, yang berasal dari kolom event_severity. |
security_result.summary |
security_result.summary |
Ringkasan hasil keamanan, diekstrak atau diperoleh dari pesan log. |
sent_bytes |
network.sent_bytes |
Jumlah byte yang dikirim, diekstrak dari message_info. |
ses_id |
network.session_id |
ID Sesi, diekstrak dari message_info. |
session_id |
network.session_id |
ID Sesi, diekstrak dari message_info. |
sess_type |
principal.hostname, principal.asset.hostname |
Jenis sesi, diekstrak dari log_mssg dan digunakan sebagai nama host jika hostname tidak tersedia. |
source_ip |
principal.ip, principal.asset.ip |
Alamat IP sumber, diekstrak dari berbagai format pesan log. |
source_ip_port |
principal.port |
Port sumber, diekstrak dari berbagai format pesan log. |
src_email |
principal.user.email_addresses atau principal.user.userid |
Alamat email atau ID pengguna sumber, diekstrak dari message_info. Jika nilai cocok dengan format email, nilai tersebut akan ditambahkan ke email_addresses; jika tidak, nilai tersebut akan digunakan sebagai userid. |
src_ip |
principal.ip, principal.asset.ip |
Alamat IP sumber, diekstrak dari pola grok utama atau pola spesifik lainnya. |
src_port |
principal.port |
Port sumber, diekstrak dari pola grok utama atau pola spesifik lainnya. |
src_user |
principal.user.user_display_name |
Nama tampilan pengguna sumber, diekstrak dari message_details untuk ID peristiwa 713049 dan 713120. |
subject |
network.tls.client.certificate.subject |
Subjek sertifikat peer, diekstrak dari message_details untuk ID peristiwa 717037. |
summary |
security_result.summary |
Ringkasan acara, diekstrak dari message_details untuk ID acara 113016. |
target_host |
target.hostname |
Nama host target, diekstrak dari message_details untuk ID peristiwa 113004. |
target_ip |
target.ip, target.asset.ip |
Alamat IP target, diekstrak dari message_details untuk ID peristiwa 113004. |
target_user |
target.user.userid |
ID pengguna target, diekstrak dari message_details untuk ID peristiwa 113003. |
task_duration |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
tcp_dst_ip |
target.ip, target.asset.ip |
Alamat IP tujuan dari payload TCP asli pesan error ICMP. |
tcp_dst_port |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
tcp_src_ip |
principal.ip, principal.asset.ip |
Alamat IP sumber dari payload TCP asli pesan error ICMP. |
tcp_src_port |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
threshold |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
tls_version |
network.tls.version |
Versi TLS, diekstrak dari message_details untuk ID peristiwa 725002. |
ts |
@timestamp |
Stempel waktu peristiwa, diuraikan menggunakan filter date. |
ts_day |
@timestamp (bagian dari) |
Hari dalam bulan dari stempel waktu, yang digunakan untuk membuat kolom @timestamp. |
ts_month |
@timestamp (bagian dari) |
Bulan dari stempel waktu, yang digunakan untuk membuat kolom @timestamp. |
ts_time |
@timestamp (bagian dari) |
Waktu dari stempel waktu, digunakan untuk membuat kolom @timestamp. |
ts_year |
@timestamp (bagian dari) |
Tahun dari stempel waktu, yang digunakan untuk membuat kolom @timestamp. |
tunnel_type |
T/A | Meskipun diuraikan, kolom ini tidak dipetakan ke objek IDM di UDM. |
user |
principal.user.userid, target.user.userid |
ID Pengguna, diekstrak dari berbagai format pesan log. |
user_agent |
network.http.user_agent |
String agen pengguna, diekstrak dari message_details untuk ID peristiwa 722055. |
user_attr.key |
principal.user.attribute.labels.key |
Kunci atribut pengguna, diekstrak dari message_details untuk ID peristiwa 734003 dan 734001. |
user_attr.value |
principal.user.attribute.labels.value |
Nilai atribut pengguna, diekstrak dari message_details untuk ID peristiwa 734003 dan 734001. |
userid |
principal.user.userid |
ID Pengguna, diekstrak dari message_details untuk ID peristiwa 106103. |
username |
principal.user.userid |
Nama pengguna, diekstrak dari message_details untuk ID peristiwa 111008, 111009, 111010, dan 113008. |
| T/A | metadata.vendor_name |
Dikodekan secara permanen ke "CISCO". |
| T/A | metadata.product_name |
Dikodekan secara permanen ke "ASA VPN" atau "VPN". |
| T/A | metadata.event_type |
Ditentukan oleh logika parser berdasarkan keberadaan kolom dan ID peristiwa tertentu. Dapat berupa GENERIC_EVENT, NETWORK_CONNECTION, STATUS_UPDATE, NETWORK_FTP, USER_LOGIN, USER_LOGOUT, NETWORK_UNCATEGORIZED, USER_UNCATEGORIZED, NETWORK_FLOW. |
| T/A | metadata.log_type |
Dikodekan secara permanen ke "CISCO_VPN". |
| T/A | metadata.event_timestamp |
Disalin dari kolom @timestamp yang diuraikan. |
| T/A | extensions.auth.type |
Disetel ke "VPN", "AUTHTYPE_UNSPECIFIED", atau "MACHINE" bergantung pada konteks peristiwa. |
| T/A | security_result.about.resource.type |
Disetel ke "PACKET FRAGMENT" untuk ID peristiwa 209005. |
| T/A | is_alert |
Disetel ke benar (true) untuk peristiwa dengan tingkat keparahan tinggi (event_severity 0 atau 1). |
| T/A | is_significant |
Disetel ke benar (true) untuk peristiwa dengan tingkat keparahan tinggi (event_severity 0 atau 1). |
puser_id |
principal.user.userid |
Dipetakan dari log perubahan |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.