Mengumpulkan log Brocade ServerIron
Parser ini mengekstrak kolom dari pesan syslog Brocade ServerIron menggunakan pencocokan ekspresi reguler dan memetakan kolom tersebut ke Unified Data Model (UDM). Log ini menangani berbagai format log, termasuk status jaringan, autentikasi pengguna, dan peristiwa keamanan. Parser melakukan konversi dan pengayaan jenis data jika diperlukan.
Sebelum memulai
- Pastikan Anda memiliki instance Google Security Operations.
- Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan systemd.
- Jika berjalan di balik proxy, pastikan port firewall terbuka.
- Pastikan Anda memiliki akses dengan hak istimewa ke instance Brocade ServerIron.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer.
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
- Untuk penginstalan Windows, jalankan skrip berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Untuk penginstalan Linux, jalankan skrip berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Opsi penginstalan tambahan dapat ditemukan di panduan penginstalan ini.
Mengonfigurasi Agen Bindplane untuk menyerap Syslog dan mengirimnya ke Google SecOps
- Akses komputer tempat Bindplane diinstal.
Edit file
config.yaml
sebagai berikut:receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: Brocade_ServerIron raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Mulai ulang Agen Bindplane untuk menerapkan perubahan:
sudo systemctl restart bindplane
Mengonfigurasi Ekspor Syslog dari Brocade ServerIron ADX
Login ke perangkat ADX dan masuk ke mode konfigurasi global:
enable configure terminal
Mengaktifkan Logging Syslog:
logging on
Tentukan alamat IP atau nama host dan port server syslog, termasuk protokol yang diinginkan (Bindplane):
logging host <syslog-server-ip> [udp | tcp] port <port-number>
Contoh untuk TCP di port 54525:
logging host 10.10.10.10 tcp port 54525
Opsional: tetapkan Syslog Facility (local0 hingga local7):
logging facility local0
Tentukan tingkat keparahan minimum log yang akan dikirim ke server syslog:
logging trap <severity-level>
Simpan konfigurasi:
write memory
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
%{GREEDYDATA} | metadata.description | Kolom %{GREEDYDATA} dipetakan ke metadata.description jika cocok dengan pola "-- %{GREEDYDATA} --". |
%{GREEDYDATA:auth_result} | security_result.description | Kolom %{GREEDYDATA:auth_result} digabungkan dengan kolom %{GREEDYDATA:desc} untuk membentuk security_result.description jika %{GREEDYDATA:desc} ada. |
%{GREEDYDATA:desc} | security_result.description | Kolom %{GREEDYDATA:desc} digunakan untuk mengisi kolom security_result.description. Kolom ini dapat digabungkan dengan kolom lain, bergantung pada format log mentah. |
%{GREEDYDATA:login_to} | security_result.description | Kolom %{GREEDYDATA:login_to} digabungkan dengan kolom %{GREEDYDATA:desc} untuk membentuk security_result.description jika %{GREEDYDATA:desc} ada. |
%{GREEDYDATA:user} | target.user.userid | Kolom %{GREEDYDATA:user} dipetakan ke target.user.userid. |
%{HOST:principal_host} | principal.hostname | Kolom %{HOST:principal_host} dipetakan ke principal.hostname. |
%{HOST:target_host} | target.hostname | Kolom %{HOST:target_host} dipetakan ke target.hostname. |
%{INT:http_port} | additional.fields.value.string_value | Kolom %{INT:http_port} dipetakan ke additional.fields.value.string_value dengan kunci "HTTP Port". |
%{INT:target_port} | target.port | Kolom %{INT:target_port} dipetakan ke target.port dan dikonversi menjadi bilangan bulat. |
%{INT:telnet_port} | additional.fields.value.string_value | Kolom %{INT:telnet_port} dipetakan ke additional.fields.value.string_value dengan kunci "Telnet Port". |
%{INT:tftp_port} | additional.fields.value.string_value | Kolom %{INT:tftp_port} dipetakan ke additional.fields.value.string_value dengan kunci "TFTP Port". |
%{IP:principal_ip} | principal.ip | Kolom %{IP:principal_ip} dipetakan ke principal.ip. |
%{IP:target_ip} | target.ip | Kolom %{IP:target_ip} dipetakan ke target.ip. |
%{IPV4:principal_ip} | principal.ip | Kolom %{IPV4:principal_ip} dipetakan ke principal.ip. |
%{IPV4:target_ip} | target.ip | Kolom %{IPV4:target_ip} dipetakan ke target.ip. |
%{MAC:principal_mac} | principal.mac | Kolom %{MAC:principal_mac} dipetakan ke principal.mac setelah dikonversi ke format [0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}. |
%{USERNAME:target_host} | target.hostname | Kolom %{USERNAME:target_host} dipetakan ke target.hostname. |
%{USERNAME:user} | target.user.userid | Kolom %{USERNAME:user} dipetakan ke target.user.userid. |
%{WORD:auth_result} | security_result.description | Kolom %{WORD:auth_result} digabungkan dengan kolom %{GREEDYDATA:desc} untuk membentuk security_result.description jika %{GREEDYDATA:desc} ada. |
%{WORD:proto} | network.application_protocol | Kolom %{WORD:proto} dipetakan ke network.application_protocol jika nilainya adalah 'SSH'. |
timestamp | metadata.event_timestamp | Kolom stempel waktu diuraikan dari data log mentah menggunakan pola grok dan dikonversi menjadi objek stempel waktu. |
extensions.auth.type | Nilai ditetapkan ke "MACHINE" jika kolom proto tidak kosong dan kolom auth_action adalah "logout" atau "login". | |
metadata.description | Kolom diisi dengan nilai kolom "metadata_description" jika tidak kosong. | |
metadata.event_type | Kolom diisi berdasarkan nilai kolom lain menggunakan logika kondisional: - STATUS_STARTUP: jika target_port_status adalah "up". - STATUS_SHUTDOWN: jika target_port_status adalah "down". - USER_LOGOUT: jika proto tidak kosong dan auth_action adalah "logout". - USER_LOGIN: jika proto tidak kosong dan auth_action adalah "login". - STATUS_UPDATE: jika metadata_description cocok dengan "status diubah". - GENERIC_EVENT: jika tidak ada kondisi di atas yang terpenuhi. |
|
metadata.log_type | Nilai di-hardcode menjadi "BROCADE_SERVERIRON". | |
metadata.product_name | Nilai di-hardcode menjadi "ServerIron". | |
metadata.vendor_name | Nilai di-hardcode ke "Brocade". | |
security_result.action | Nilai ditetapkan ke "BLOCK" jika kolom desc berisi "fail", atau kolom auth_result berisi "fail" atau "rejected". |
Perubahan
2022-01-13
- Parser yang baru ditambahkan.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.