Mengumpulkan log VPN F5
Dokumen ini menjelaskan cara menyerap log VPN F5 ke Google Security Operations menggunakan BindPlane. Parser mengekstrak informasi yang relevan dengan keamanan dari log. Alat ini menggunakan ekspresi reguler untuk mengidentifikasi dan mengurai kolom utama seperti stempel waktu, alamat IP, dan nama host, lalu menyusun data ini ke dalam format Model Data Terpadu (UDM) Google SecOps untuk dianalisis.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd
- Jika dijalankan di belakang proxy, port firewall terbuka
- Akses istimewa ke F5 BIG-IP APM (Access Policy Manager)
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
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" /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_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: 'F5_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 F5 BIG-IP APM v11.x dan yang lebih baru
- Login ke F5 BIG-IP APM menggunakan CLI atau SSH.
Masukkan perintah berikut untuk menambahkan server syslog:
tmsh syslog remote server {<Name> {host <bindplane-ip> remote-port <bindplane-port>}}
Pastikan untuk mengganti parameter berikut:
<Name>
: Masukkan nama sumber F5 BIG-IP APM (misalnya,BIGIP_APM
).<bindplane-ip>
: Masukkan alamat IP agen Bindplane.<bindplane-port>
: Masukkan nomor port agen Bindplane.
Masukkan perintah berikut untuk menyimpan perubahan:
tmsh save sys config partitions all
Tabel pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
cmd_data | principal.process.command_line | Nilai diekstrak dari kolom msg |
errdefs_msgno | additional.fields.errdefs_msgno.string_value | Nilai diekstrak dari kolom msg |
event_time | metadata.event_timestamp | Nilai diuraikan dan dikonversi menjadi stempel waktu |
hostname | principal.hostname, observer.hostname, principal.asset.hostname, observer.asset.hostname, hostip | Nilai diekstrak dari kolom pesan dan digunakan untuk mengisi kolom nama host di UDM. Juga digunakan untuk mengisi kolom hostip |
msg | security_result.description | Nilai diekstrak dari kolom pesan dan digunakan untuk mengisi kolom deskripsi dalam objek security_result |
prin_ip | principal.ip, principal.asset.ip | Nilai diekstrak dari kolom pesan dan digunakan untuk mengisi kolom alamat IP di UDM |
additional.fields.Canonical_Info.string_value | Nilai berasal dari pesan log | |
additional.fields.IDP.string_value | Nilai berasal dari pesan log | |
additional.fields.Plugin_Support.string_value | Nilai berasal dari pesan log | |
additional.fields.SMB Stage.string_value | Nilai berasal dari pesan log | |
additional.fields.SP.string_value | Nilai berasal dari pesan log | |
additional.fields.Timezone.string_value | Nilai berasal dari pesan log | |
additional.fields.Tunnel Type.string_value | Nilai berasal dari pesan log | |
additional.fields.UI_Mode.string_value | Nilai berasal dari pesan log | |
additional.fields.Version.string_value | Nilai berasal dari pesan log | |
additional.fields.from_rule_item.string_value | Nilai berasal dari pesan log | |
additional.fields.policy_result.string_value | Nilai berasal dari pesan log | |
additional.fields.ppp_id.string_value | Nilai berasal dari pesan log | |
additional.fields.resource.string_value | Nilai berasal dari pesan log | |
additional.fields.rule.string_value | Nilai berasal dari pesan log | |
additional.fields.server_vip_ip.string_value | Nilai berasal dari pesan log | |
additional.fields.server_vip_name.string_value | Nilai berasal dari pesan log | |
additional.fields.to_rule_item.string_value | Nilai berasal dari pesan log | |
additional.fields.tunnel_resource.string_value | Nilai berasal dari pesan log | |
metadata.description | Nilai berasal dari pesan log | |
metadata.event_type | Nilai di-hardcode dalam kode parser untuk beberapa peristiwa dan berasal dari pesan log untuk peristiwa lainnya | |
metadata.log_type | Nilai ditetapkan ke jenis batch | |
metadata.product_event_type | Nilai berasal dari pesan log | |
metadata.product_name | Nilai di-hardcode dalam kode parser | |
metadata.vendor_name | Nilai di-hardcode dalam kode parser | |
network.application_protocol | Nilai berasal dari pesan log | |
network.direction | Nilai berasal dari pesan log | |
network.http.method | Nilai berasal dari pesan log | |
network.http.parsed_user_agent | Nilai ini berasal dari kolom network.http.user_agent | |
network.http.referral_url | Nilai berasal dari pesan log | |
network.http.response_code | Nilai berasal dari pesan log | |
network.http.user_agent | Nilai berasal dari pesan log | |
network.ip_protocol | Nilai berasal dari pesan log | |
network.received_bytes | Nilai berasal dari pesan log | |
network.sent_bytes | Nilai berasal dari pesan log | |
network.session_id | Nilai berasal dari pesan log | |
network.tls.cipher | Nilai berasal dari pesan log | |
network.tls.version | Nilai berasal dari pesan log | |
observer.asset.hostname | Nilai ditetapkan ke kolom nama host | |
observer.asset.ip | Nilai ditetapkan ke kolom hostip | |
observer.hostname | Nilai ditetapkan ke kolom nama host | |
observer.ip | Nilai ditetapkan ke kolom hostip | |
principal.application | Nilai berasal dari pesan log | |
principal.asset.hostname | Nilai ditetapkan ke kolom nama host | |
principal.asset.ip | Nilai ditetapkan ke kolom hostip atau kolom prin_ip jika ada | |
principal.asset.product_object_id | Nilai berasal dari pesan log | |
principal.hostname | Nilai ditetapkan ke kolom nama host | |
principal.ip | Nilai ditetapkan ke kolom hostip atau kolom prin_ip jika ada | |
principal.location.country_or_region | Nilai berasal dari pesan log | |
principal.platform | Nilai berasal dari pesan log | |
principal.port | Nilai berasal dari pesan log | |
principal.process.command_line | Nilai berasal dari pesan log | |
principal.process.pid | Nilai berasal dari pesan log | |
principal.resource.name | Nilai berasal dari pesan log | |
principal.resource.type | Nilai di-hardcode dalam kode parser untuk beberapa peristiwa dan berasal dari pesan log untuk peristiwa lainnya | |
principal.user.email_addresses | Nilai berasal dari pesan log | |
principal.user.userid | Nilai berasal dari pesan log | |
security_result.action | Nilai berasal dari pesan log | |
security_result.description | Nilai berasal dari pesan log | |
security_result.rule_name | Nilai berasal dari pesan log | |
security_result.severity | Nilai berasal dari pesan log | |
security_result.severity_details | Nilai berasal dari pesan log | |
security_result.summary | Nilai berasal dari pesan log | |
src.ip | Nilai berasal dari pesan log | |
src.location.country_or_region | Nilai berasal dari pesan log | |
src.port | Nilai berasal dari pesan log | |
target.asset.hostname | Nilai berasal dari pesan log | |
target.asset.ip | Nilai berasal dari pesan log | |
target.hostname | Nilai berasal dari pesan log | |
target.ip | Nilai berasal dari pesan log | |
target.port | Nilai berasal dari pesan log | |
target.process.command_line | Nilai berasal dari pesan log | |
target.process.pid | Nilai berasal dari pesan log | |
target.resource.id | Nilai berasal dari pesan log | |
target.url | Nilai berasal dari pesan log | |
target.user.userid | Nilai berasal dari pesan log |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.