Mengumpulkan log switch Ubiquiti Unifi
Dokumen ini menjelaskan cara menyerap log switch Ubiquiti Unifi ke Google Security Operations menggunakan Bindplane. Parser mengekstrak kolom dari pesan syslog menggunakan pola grok, mengonversi data log mentah ke dalam format terstruktur yang sesuai dengan Model Data Terpadu (UDM). Proses ini menangani berbagai format log, mengekstrak informasi penting seperti stempel waktu, nama host, deskripsi, dan detail jaringan, serta memperkaya data dengan konteks tambahan sebelum menggabungkannya ke peristiwa UDM akhir.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Host Windows 2016 atau yang lebih baru atau Linux dengan
systemd - Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen BindPlane
- Akses istimewa ke UI Pengontrol Ubiquiti
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.yamlsebagai 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: 'UBIQUITI_SWITCH' 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_IDdengan ID pelanggan yang sebenarnya. - Ganti
/path/to/ingestion-authentication-file.jsondengan 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-agentUntuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi switch Ubiquiti untuk mengirim Syslog Bidang Kontrol
- Login ke UI Unifi Controller.
- Buka Unifi Network.
- Buka Settings > Control Plane > Integrations tab.
- Temukan bagian Logging Aktivitas (Syslog).
- Aktifkan opsi SIEM Server.
- Berikan detail konfigurasi berikut:
- Klik Edit kategori dan tambahkan kategori log yang diperlukan.
- Alamat Server: Masukkan alamat IP agen Bindplane.
- Port: Masukkan nomor port agen Bindplane (UDP diperlukan).
- Klik Terapkan Perubahan.
Mengonfigurasi switch Ubiquiti untuk mengirim Syslog CyberSecure
- Login ke UI Unifi Controller.
- Buka Unifi Network.
- Buka Setelan > CyberSecure > tab Pencatatan Traffic.
- Temukan bagian Logging Aktivitas (Syslog).
- Aktifkan opsi SIEM Server.
- Berikan detail konfigurasi berikut:
- Klik Edit kategori dan tambahkan kategori log yang diperlukan.
- Alamat Server: Masukkan alamat IP agen Bindplane.
- Port: Masukkan nomor port agen Bindplane (UDP diperlukan).
- Nonaktifkan Log Debug.
- Klik Terapkan Perubahan.
Tabel Pemetaan UDM
| Kolom log | Pemetaan UDM | Logika |
|---|---|---|
anomalies |
security_result.detection_fields[].key: "anomalies"security_result.detection_fields[].value: Nilai anomalies dari log |
Dipetakan langsung dari kolom anomalies dalam log mentah. |
application |
observer.application |
Dipetakan langsung dari kolom application dalam log mentah. |
assoc_status |
security_result.detection_fields[].key: "assoc_status"security_result.detection_fields[].value: Nilai assoc_status dari log |
Dipetakan langsung dari kolom assoc_status dalam log mentah. |
asset_details |
observer.asset.product_object_id: Diekstrak menggunakan pola grok %{GREEDYDATA:asset_id},%{GREEDYDATA:asset_version}asset_software.version: Diekstrak menggunakan pola grok %{GREEDYDATA:asset_id},%{GREEDYDATA:asset_version} |
Kolom asset_details diuraikan menggunakan pola grok untuk mengekstrak asset_id dan asset_version. |
asset_id |
observer.asset.product_object_id |
Dipetakan langsung dari kolom asset_id yang diekstrak dari asset_details. |
asset_version |
observer.asset.software.version |
Dipetakan langsung dari kolom asset_version yang diekstrak dari asset_details. |
bssid |
principal.mac |
Dipetakan langsung dari kolom bssid dalam log mentah. |
description |
metadata.description |
Dipetakan langsung dari kolom description dalam log mentah. |
device |
metadata.product_name |
Dipetakan langsung dari kolom device dalam log mentah. Jika device tidak ada, nilai "UBIQUITI_SWITCH" akan digunakan. |
dns_resp_seen |
security_result.detection_fields[].key: "dns_resp_seen"security_result.detection_fields[].value: Nilai dns_resp_seen dari log |
Dipetakan langsung dari kolom dns_resp_seen dalam log mentah. |
DST |
target.ip |
Dipetakan langsung dari kolom DST dalam log mentah. |
DPT |
principal.port |
Dipetakan langsung dari kolom DPT dalam log mentah setelah dikonversi menjadi bilangan bulat. |
event_type |
security_result.detection_fields[].key: "event_type"security_result.detection_fields[].value: Nilai event_type dari log |
Dipetakan langsung dari kolom event_type dalam log mentah. |
host |
principal.hostname |
Dipetakan langsung dari kolom host dalam log mentah. |
ID |
additional.fields[].key: "ID"additional.fields[].value.string_value: Nilai ID dari log |
Dipetakan langsung dari kolom ID dalam log mentah. |
IN |
additional.fields[].key: "IN"additional.fields[].value.string_value: Nilai IN dari log |
Dipetakan langsung dari kolom IN dalam log mentah. |
interface |
additional.fields[].key: "interface"additional.fields[].value.string_value: interface nilai dari log |
Dipetakan langsung dari kolom interface dalam log mentah. |
LEN |
additional.fields[].key: "LEN"additional.fields[].value.string_value: Nilai LEN dari log |
Dipetakan langsung dari kolom LEN dalam log mentah. |
mac |
principal.mac |
Dipetakan langsung dari kolom mac dalam log mentah. |
metadata.event_type |
metadata.event_type |
Diperoleh dari logika parser. Ditetapkan ke "STATUS_SHUTDOWN" jika state adalah "Down", "STATUS_STARTUP" jika state adalah "Up", "STATUS_UPDATE" jika kv_msg dan DST ada atau principal_present benar, dan "GENERIC_EVENT" jika tidak. |
metadata.log_type |
metadata.log_type: "UBIQUITI_SWITCH" |
Nilai konstan yang ditetapkan oleh parser. |
metadata.vendor_name |
metadata.vendor_name: "UBIQUITI" |
Nilai konstan yang ditetapkan oleh parser. |
principal_ip |
principal.ip |
Dipetakan langsung dari kolom principal_ip dalam log mentah. |
process_id |
observer.process.pid |
Dipetakan langsung dari kolom process_id dalam log mentah. |
product_event_type |
metadata.product_event_type |
Dipetakan langsung dari kolom product_event_type dalam log mentah. |
PROTO |
network.ip_protocol |
Dipetakan langsung dari kolom PROTO dalam log mentah. Jika PROTO adalah "ICMPv6", nilainya akan diubah menjadi "ICMP". |
query_1 |
target.administrative_domain |
Dipetakan langsung dari kolom query_1 dalam log mentah. |
query_server_1 |
target.ip |
Dipetakan langsung dari kolom query_server_1 dalam log mentah. |
radio |
security_result.detection_fields[].key: "radio"security_result.detection_fields[].value: radio nilai dari log |
Dipetakan langsung dari kolom radio dalam log mentah. |
satisfaction_now |
security_result.detection_fields[].key: "satisfaction_now"security_result.detection_fields[].value: Nilai satisfaction_now dari log |
Dipetakan langsung dari kolom satisfaction_now dalam log mentah. |
source_port |
principal.port |
Dipetakan langsung dari kolom source_port dalam log mentah setelah dikonversi menjadi bilangan bulat. |
SPT |
target.port |
Dipetakan langsung dari kolom SPT dalam log mentah setelah dikonversi menjadi bilangan bulat. |
SRC |
principal.ip, principal.hostname |
Dipetakan langsung dari kolom SRC dalam log mentah. |
sta |
principal.mac |
Dipetakan langsung dari kolom sta dalam log mentah. |
state |
additional.fields[].key: "state"additional.fields[].value.string_value: Nilai state dari log |
Dipetakan langsung dari kolom state dalam log mentah. |
timestamp |
metadata.event_timestamp |
Dipetakan langsung dari kolom timestamp dalam log mentah setelah diuraikan oleh filter tanggal. |
TTL |
additional.fields[].key: "TTL"additional.fields[].value.string_value: Nilai TTL dari log |
Dipetakan langsung dari kolom TTL dalam log mentah. |
vap |
metadata.ingestion_labels[].key: "Vap"metadata.ingestion_labels[].value: Nilai vap dari log |
Dipetakan langsung dari kolom vap dalam log mentah. |
version |
metadata.product_version |
Dipetakan langsung dari kolom version dalam log mentah. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.