Mengumpulkan log Citrix StoreFront
Dokumen ini menjelaskan cara menyerap log Citrix StoreFront ke Google Security Operations menggunakan Bindplane. Parser mengekstrak kolom dari log yang diformat Citrix StoreFront Windows Event Log. Fitur ini menggunakan pengumpulan Log Peristiwa Windows untuk mengurai pesan log, lalu memetakan nilai ini ke Model Data Terpadu (UDM). Layanan ini juga menetapkan nilai metadata default untuk sumber dan jenis peristiwa. Parser mengekstrak data dari log JSON Citrix StoreFront dengan menguraikan kolom pesan menjadi masing-masing entitas seperti Session
, User
, AppInstance
, App
, Connection
, dan Machine
menggunakan serangkaian pola grok
. Kemudian, kolom yang diekstrak dipetakan ke struktur model data terpadu (UDM), yang diperkaya dengan informasi jaringan, prinsipal, perantara, dan target berdasarkan logika bersyarat dan transformasi data.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps.
- Host Windows 2016 atau yang lebih baru dengan
systemd
tempat BindPlane akan diinstal - Jika berjalan di belakang proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
- Akses istimewa ke server Citrix StoreFront dan konsol pengelolaan
- Akses administratif ke server Windows yang menghosting StoreFront
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
Referensi penginstalan tambahan
- Untuk opsi penginstalan tambahan, lihat panduan penginstalan ini.
Mengonfigurasi agen BindPlane untuk menyerap log peristiwa Windows 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: windowseventlog/storefront: channel: Application operators: - type: filter expr: 'record["source_name"] matches "^Citrix"' exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: 'C:/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: CUSTOMER_ID_PLACEHOLDER endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'CITRIX_STOREFRONT' raw_log_field: body ingestion_labels: service: pipelines: logs/storefront: receivers: - windowseventlog/storefront exporters: - chronicle/chronicle_w_labels
- Ganti
CUSTOMER_ID_PLACEHOLDER
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.
- Ganti
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen BindPlane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi logging peristiwa StoreFront
- Login ke Server StoreFront dengan hak istimewa administratif.
- Buka PowerShell sebagai administrator.
Muat modul PowerShell StoreFront:
Add-PSSnapin Citrix.DeliveryServices.Framework.Commands
Aktifkan logging panjang untuk pemecahan masalah (opsional):
Set-STFDiagnostics -All -TraceLevel "Info" -confirm:$False
Pastikan Logging Peristiwa Windows diaktifkan:
- Buka Event Viewer di server StoreFront.
- Buka Application and Services Logs > Citrix Delivery Services.
- Verifikasi bahwa peristiwa dicatat untuk layanan autentikasi, toko, dan Receiver untuk situs Web.
Opsional: Mengonfigurasi pembatasan log peristiwa
- Buka direktori konfigurasi StoreFront:
- Layanan autentikasi:
C:/inetpub/wwwroot/Citrix/Authentication
- Toko:
C:/inetpub/wwwroot/Citrixstorename
- Situs Penerima untuk Web:
C:/inetpub/wwwroot/Citrixstorename/Web
- Layanan autentikasi:
- Buka file
web.config
di setiap direktori menggunakan editor teks. Temukan elemen logger dan konfigurasikan sesuai kebutuhan:
<logger duplicateInterval="00:01:00" duplicateLimit="10">
duplicateInterval: Tetapkan jangka waktu dalam jam, menit, dan detik untuk memantau entri log duplikat.
duplicateLimit: Menetapkan jumlah entri duplikat yang harus dicatat dalam interval waktu yang ditentukan untuk memicu pembatasan log.
Simpan file konfigurasi.
Memverifikasi pengumpulan log
- Buka Windows Event Viewer di server StoreFront.
- Buka Windows Logs > Application atau Application and Services Logs > Citrix Delivery Services.
- Pastikan peristiwa StoreFront sedang dibuat.
- Periksa log agen Bindplane untuk mengonfirmasi bahwa log diteruskan ke Google SecOps.
Tabel pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
App.PublishedName | _principal.application | Nilai diambil dari kolom App.PublishedName. |
Connection.ClientAddress | _principal.asset.ip | Nilai diambil dari kolom Connection.ClientAddress. |
Connection.ClientName | _principal.asset.hostname | Nilai diambil dari kolom Connection.ClientName. |
Connection.ClientPlatform | _principal.asset.platform_software.platform | Nilai diambil dari kolom Connection.ClientPlatform dan dikonversi menjadi huruf besar. Jika nilainya adalah "WINDOWS", "MAC", atau "LINUX", nilai tersebut akan digunakan secara langsung. Jika tidak, nilai ditetapkan ke "UNKNOWN_PLATFORM". |
Connection.ConnectedViaHostName | src.hostname | Nilai diambil dari kolom Connection.ConnectedViaHostName. |
Connection.LaunchedViaHostName | _intermediary.hostname | Nilai diambil dari kolom Connection.LaunchedViaHostName. Namespace ditetapkan ke "Server StoreFront". |
Connection.LaunchedViaIPAddress | _intermediary.ip | Nilai diambil dari kolom Connection.LaunchedViaIPAddress. |
Connection.Protocol | network.application_protocol | Nilai diambil dari kolom Connection.Protocol. Jika nilainya adalah "HDX", nilai tersebut ditetapkan ke "UNKNOWN_APPLICATION_PROTOCOL". |
Machine.AgentVersion | metadata.product_version | Nilai diambil dari kolom Machine.AgentVersion. |
Machine.AssociatedUserNames | _intermediary.user.userid | Nilai diambil dari kolom Machine.AssociatedUserNames. Setiap nama diekstrak dan digunakan sebagai userid untuk objek pengguna perantara. |
Machine.AssociatedUserUPNs | _target.group.email_addresses | Nilai diambil dari kolom Machine.AssociatedUserUPNs. Setiap alamat email diekstrak dan ditambahkan ke kolom email_addresses grup target. |
Machine.ControllerDnsName | _intermediary.hostname | Nilai diambil dari kolom Machine.ControllerDnsName. Namespace ditetapkan ke "Controller". |
Machine.CreatedDate | _target.asset.attribute.creation_time | Nilai diambil dari kolom Machine.CreatedDate dan dikonversi menjadi stempel waktu. |
Machine.DesktopGroupId | _target.group.product_object_id | Nilai diambil dari kolom Machine.DesktopGroupId. |
Machine.DnsName | _target.asset.network_domain | Nilai diambil dari kolom Machine.DnsName. |
Machine.HostedMachineName | _target.asset.hostname | Nilai diambil dari kolom Machine.HostedMachineName. |
Machine.HostingServerName | _intermediary.hostname | Nilai diambil dari kolom Machine.HostingServerName. Namespace ditetapkan ke "Hypervisor". |
Machine.IPAddress | _target.asset.ip | Nilai diambil dari kolom Machine.IPAddress. |
Machine.LastDeregisteredDate | _target.asset.last_discover_time | Nilai diambil dari kolom Machine.LastDeregisteredDate dan dikonversi menjadi stempel waktu. |
Machine.ModifiedDate | _target.asset.system_last_update_time | Nilai diambil dari kolom Machine.ModifiedDate dan dikonversi menjadi stempel waktu. |
Machine.Name | _target.asset.asset_id, _target.administrative_domain | Nilai diambil dari kolom Machine.Name dan dibagi menjadi bagian domain dan aset. Bagian domain digunakan sebagai target domain administratif, dan bagian aset digunakan untuk membuat ID aset target dalam format "machine: |
Machine.OSType | _target.asset.platform_software.platform_version | Nilai diambil dari kolom Machine.OSType. |
Machine.PoweredOnDate | _target.asset.last_boot_time | Nilai diambil dari kolom Machine.PoweredOnDate dan dikonversi menjadi stempel waktu. |
Machine.RegistrationStateChangeDate | _target.asset.first_discover_time | Nilai diambil dari kolom Machine.RegistrationStateChangeDate dan dikonversi menjadi stempel waktu. |
Session.EndDate | _vulns.last_found | Nilai diambil dari kolom Session.EndDate dan dikonversi menjadi stempel waktu. |
Session.LifecycleState | extensions.auth.auth_details | Nilai diambil dari kolom Session.LifecycleState. Jika nilainya 0, statusnya ditetapkan ke "AKTIF". Jika nilainya 1, statusnya ditetapkan ke "DELETED". Jika nilainya 2 atau 3, nilai tersebut ditetapkan ke "UNKNOWN_AUTHENTICATION_STATUS". |
Session.LogOnDuration | network.session_duration.seconds | Nilai diambil dari kolom Session.LogOnDuration dan dikonversi menjadi bilangan bulat. |
Session.SessionKey | network.session_id | Nilai diambil dari kolom Session.SessionKey. |
Session.StartDate | _vulns.first_found | Nilai diambil dari kolom Session.StartDate dan dikonversi menjadi stempel waktu. |
User.Domain | _principal.user.company_name, _principal.administrative_domain | Nilai diambil dari kolom User.Domain dan digunakan sebagai nama perusahaan pengguna utama dan domain administratif utama. |
User.FullName | _principal.user.user_display_name | Nilai diambil dari kolom User.FullName. |
User.Sid | _principal.user.windows_sid | Nilai diambil dari kolom User.Sid. |
User.Upn | _principal.user.email_addresses | Nilai diambil dari kolom User.Upn dan ditambahkan ke kolom email_addresses pengguna utama. |
User.UserName | _principal.user.userid | Nilai diambil dari kolom User.UserName. |
metadata.event_type | Nilai ditetapkan ke "USER_LOGIN". | |
metadata.vendor_name | Nilai ditetapkan ke "Citrix". | |
metadata.product_name | Nilai ditetapkan ke "Monitor Service OData". | |
extensions.auth.type | Nilai ditetapkan ke "MACHINE". | |
_intermediary.namespace | Nilai ditetapkan ke "Server StoreFront", "Pengontrol", atau "Hypervisor" bergantung pada objek perantara. | |
_target.asset.type | Nilai ditetapkan ke "WORKSTATION". |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.