Mengumpulkan log Cisco IronPort
Dokumen ini menjelaskan cara menyerap log Cisco IronPort ke
Google Security Operations menggunakan BindPlane. Parser mengekstrak kolom dari pesan syslog, khususnya yang terkait dengan peristiwa AccessLogs_chron
. Parser ini menggunakan pola grok untuk mengurai pesan, mengonversi jenis data, dan memetakan kolom yang diekstrak ke Model Data Terpadu (UDM), serta menangani berbagai kolom khusus Cisco Ironport seperti grup kebijakan dan keputusan akses. Selain itu, fungsi ini
melakukan penanganan error dasar dan menetapkan kolom metadata seperti vendor dan nama
produk.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd
- Jika berjalan di belakang proxy, pastikan port firewall terbuka
- Akses istimewa ke Cisco IronPort
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.
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: 'CISCO_IRONPORT' 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 di Cisco IronPort
- Login ke UI web Cisco IronPort.
- Klik Administrasi Sistem > Langganan Log.
- Klik Add Log Subscription.
- Berikan detail konfigurasi berikut:
- Jenis Log: Pilih Log Akses atau log lain yang ingin Anda ekspor.
- Gaya Log: Pilih Squid.
- Nama File: Berikan nama file jika tidak disediakan secara default.
- Retrieval Method: Pilih Syslog Push (menggunakan port default
514
). - Nama host: Masukkan alamat IP agen Bindplane.
- Protocol: Pilih UDP.
- Fasilitas: Pilih
local0
atausyslog
.
- Klik Kirim.
Tabel pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
AccessLogs_chron |
metadata.product_event_type |
Dipetakan langsung dari kolom product_event yang diekstrak oleh parser grok pertama. |
acl_decision_tag |
security_result.detection_fields.key |
Nilainya adalah "Tag Keputusan ACL". Logika parser menetapkan nilai ini saat acl_decision_tag ada dalam log. |
acl_decision_tag |
security_result.detection_fields.value |
Dipetakan langsung dari kolom acl_decision_tag yang diekstrak oleh parser grok kedua. |
access_or_decryption_policy_group |
security_result.detection_fields.key |
Nilainya adalah "AccessOrDecryptionPolicyGroup". Logika parser menetapkan nilai ini saat access_or_decryption_policy_group ada dalam log. |
access_or_decryption_policy_group |
security_result.detection_fields.value |
Dipetakan langsung dari kolom access_or_decryption_policy_group yang diekstrak oleh parser grok kedua. |
authenticated_user |
principal.user.userid |
Diekstrak dari kolom authenticated_user menggunakan grok dan gsub untuk menghapus garis miring terbalik dan tanda petik. |
cache_hierarchy_retrieval |
security_result.detection_fields.key |
Nilainya adalah "Cache Hierarchy Retrieval". Logika parser menetapkan nilai ini saat cache_hierarchy_retrieval ada dalam log. |
cache_hierarchy_retrieval |
security_result.detection_fields.value |
Dipetakan langsung dari kolom cache_hierarchy_retrieval yang diekstrak oleh parser grok kedua. |
data_security_policy_group |
security_result.detection_fields.key |
Nilainya adalah "DataSecurityPolicyGroup". Logika parser menetapkan nilai ini saat data_security_policy_group ada dalam log. |
data_security_policy_group |
security_result.detection_fields.value |
Dipetakan langsung dari kolom data_security_policy_group yang diekstrak oleh parser grok kedua. |
external_dlp_policy_group |
security_result.detection_fields.key |
Nilainya adalah "ExternalDlpPolicyGroup". Logika parser menetapkan nilai ini saat external_dlp_policy_group ada dalam log. |
external_dlp_policy_group |
security_result.detection_fields.value |
Dipetakan langsung dari kolom external_dlp_policy_group yang diekstrak oleh parser grok kedua. |
hostname |
principal.asset.hostname |
Dipetakan langsung dari kolom hostname yang diekstrak oleh parser grok pertama. |
hostname |
principal.hostname |
Dipetakan langsung dari kolom hostname yang diekstrak oleh parser grok pertama. |
http_method |
network.http.method |
Dipetakan langsung dari kolom http_method yang diekstrak oleh parser grok kedua. |
http_response_code |
network.http.response_code |
Dipetakan langsung dari kolom http_response_code yang diekstrak oleh parser grok kedua dan dikonversi menjadi bilangan bulat. |
identity_policy_group |
security_result.detection_fields.key |
Nilainya adalah "IdentityPolicyGroup". Logika parser menetapkan nilai ini saat identity_policy_group ada dalam log. |
identity_policy_group |
security_result.detection_fields.value |
Dipetakan langsung dari kolom identity_policy_group yang diekstrak oleh parser grok kedua. Disalin dari kolom timestamp setelah filter tanggal memprosesnya. Tetapkan ke "STATUS_UPDATE" jika has_principal benar, atau tetapkan ke "GENERIC_EVENT". Nilai konstanta: "Cisco Ironport". Nilai konstanta: "Cisco". |
outbound_malware_scanning_policy_group |
security_result.detection_fields.key |
Nilainya adalah "OutboundMalwareScanningPolicyGroupS". Logika parser menetapkan nilai ini saat outbound_malware_scanning_policy_group ada dalam log. |
outbound_malware_scanning_policy_group |
security_result.detection_fields.value |
Dipetakan langsung dari kolom outbound_malware_scanning_policy_group yang diekstrak oleh parser grok kedua. |
request_method_uri |
target.url |
Dipetakan langsung dari kolom request_method_uri yang diekstrak oleh parser grok kedua. |
result_code |
security_result.detection_fields.key |
Nilainya adalah "Result Code". Logika parser menetapkan nilai ini saat result_code ada dalam log. |
result_code |
security_result.detection_fields.value |
Dipetakan langsung dari kolom result_code yang diekstrak oleh parser grok kedua. |
routing_policy_group |
security_result.detection_fields.key |
Nilainya adalah "RoutingPolicyGroup". Logika parser menetapkan nilai ini saat routing_policy_group ada dalam log. |
routing_policy_group |
security_result.detection_fields.value |
Dipetakan langsung dari kolom routing_policy_group yang diekstrak oleh parser grok kedua. |
severity |
security_result.severity |
Dipetakan dari kolom severity . Jika nilainya "Info", maka akan ditetapkan ke "INFORMATIONAL". |
source_ip |
principal.asset.ip |
Dipetakan langsung dari kolom source_ip yang diekstrak oleh parser grok kedua. |
source_ip |
principal.ip |
Dipetakan langsung dari kolom source_ip yang diekstrak oleh parser grok kedua. |
timestamp |
timestamp |
Diekstrak dari kolom message menggunakan grok, lalu diuraikan menggunakan filter tanggal. |
total_bytes |
network.sent_bytes |
Dipetakan langsung dari kolom total_bytes yang diekstrak oleh parser grok kedua dan dikonversi menjadi bilangan bulat tidak bertanda. Hanya dipetakan jika tidak kosong atau "0". |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.