Mengumpulkan log VPN Cisco

Versi Parser: 22.0

Didukung di:

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

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan.
  4. Simpan file dengan aman di sistem tempat agen BindPlane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. 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

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sc query observiq-otel-collector
    

    Layanan akan ditampilkan sebagai RUNNING.

Penginstalan Linux

  1. Buka terminal dengan hak istimewa root atau sudo.
  2. Jalankan perintah berikut:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sudo systemctl status observiq-otel-collector
    

    Layanan 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.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Edit file konfigurasi

  • Ganti seluruh konten config.yaml dengan 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.0 untuk mendengarkan di semua antarmuka (direkomendasikan)
      • Port 514 adalah port syslog standar (memerlukan root di Linux; gunakan 1514 untuk 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
    • customer_id: ID Pelanggan yang disalin dari konsol Google SecOps
    • endpoint: 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

Simpan file konfigurasi

  • Setelah mengedit, simpan file:
    • Linux: Tekan Ctrl+O, lalu Enter, lalu Ctrl+X
    • Windows: Klik File > Save

Mulai ulang agen Bindplane untuk menerapkan perubahan

  • Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:

    sudo systemctl restart observiq-otel-collector
    
    1. Pastikan layanan sedang berjalan:

      sudo systemctl status observiq-otel-collector
      
    2. Periksa 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-collector
      
    • Konsol layanan:

      1. Tekan Win+R, ketik services.msc, lalu tekan Enter.
      2. Temukan observIQ OpenTelemetry Collector.
      3. Klik kanan, lalu pilih Mulai Ulang.
      4. Pastikan layanan sedang berjalan:

        sc query observiq-otel-collector
        
      5. Periksa log untuk mengetahui error:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Mengonfigurasi syslog untuk VPN Cisco ASA

  1. Buka Cisco ASDM.
  2. Buka Konfigurasi > Fitur > Properti > Logging > Penyiapan Logging.
  3. Centang kotak Enable logging untuk mengaktifkan syslog.
  4. Pilih Syslog Servers di Logging, lalu klik Add.
  5. 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.
  6. Pilih Logging Filters di bagian logging.
  7. Pilih Syslog Servers, lalu klik Edit.
  8. Pilih Informasional dari daftar sebagai Filter berdasarkan tingkat keparahan.
  9. Klik Oke.
  10. 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.