Mengumpulkan log VPN Cisco

Didukung di:

Dokumen ini menjelaskan cara menyerap log VPN Cisco ASA ke Google Security Operations menggunakan Bindplane. Parser mengekstrak kolom dari pesan syslog menggunakan pola grok, yang menangani format syslog standar dan struktur pesan alternatif. Kemudian, kolom yang diekstrak dipetakan ke Model Data Terpadu (UDM), mengategorikan peristiwa berdasarkan ID dan informasi yang diekstrak, serta memperkaya data dengan metadata seperti vendor, produk, dan jenis peristiwa. Parser juga menangani ID peristiwa tertentu, menerapkan pola dan logika grok tambahan untuk mengekstrak detail yang relevan dan memetakannya ke kolom UDM yang sesuai.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Instance Google SecOps
  • Host Windows 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Jika dijalankan di belakang proxy, port firewall terbuka
  • 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. Simpan file dengan aman di sistem tempat 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
    

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
    

Referensi penginstalan tambahan

Untuk opsi penginstalan tambahan, lihat panduan penginstalan.

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. 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).
  2. 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_file_path: '/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
            log_type: 'CISCO_VPN'
            raw_log_field: body
            ingestion_labels:
    
    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 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, Tolak", "Tolak", "Izinkan", "Setuju"). Maps untuk DIIZINKAN atau DIBLOKIR.
action security_result.action_details Nilai string mentah dari tindakan yang dilakukan (misalnya, "permitted", "denied", "disconnected").
app_name principal.application Nama aplikasi yang digunakan oleh principal (misalnya, "CLI"). Diekstrak dari message_details untuk ID acara 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 burst 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 tarif maksimum yang dikonfigurasi, diekstrak dari message_info.
message_details Berbagai kolom Bagian utama pesan log, yang berisi detail tentang peristiwa. Diuraikan 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 protokolnya adalah protokol IP standar (ICMP, TCP, UDP, ESP), protokol tersebut dipetakan ke network.ip_protocol; jika tidak, protokol tersebut 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 diperoleh 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 sebulan 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, yang digunakan untuk membuat kolom @timestamp.
ts_year @timestamp (bagian dari) Tahun dari stempel waktu, 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).

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.