Mengumpulkan log Citrix StoreFront

Didukung di:

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

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. 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

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Referensi penginstalan tambahan

Mengonfigurasi agen BindPlane untuk menyerap log peristiwa Windows dan mengirimkannya ke Google SecOps

  1. Akses file konfigurasi:

    1. Cari file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ di Linux atau di direktori penginstalan di Windows.
    2. Buka file menggunakan editor teks (misalnya, nano, vi, atau Notepad).
  2. 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
    

Mulai ulang agen Bindplane untuk menerapkan perubahan

  1. 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

  1. Login ke Server StoreFront dengan hak istimewa administratif.
  2. Buka PowerShell sebagai administrator.
  3. Muat modul PowerShell StoreFront:

    Add-PSSnapin Citrix.DeliveryServices.Framework.Commands
    
  4. Aktifkan logging panjang untuk pemecahan masalah (opsional):

    Set-STFDiagnostics -All -TraceLevel "Info" -confirm:$False
    
  5. 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

  1. 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
  2. Buka file web.config di setiap direktori menggunakan editor teks.
  3. Temukan elemen logger dan konfigurasikan sesuai kebutuhan:

    <logger duplicateInterval="00:01:00" duplicateLimit="10">
    
  4. duplicateInterval: Tetapkan jangka waktu dalam jam, menit, dan detik untuk memantau entri log duplikat.

  5. duplicateLimit: Menetapkan jumlah entri duplikat yang harus dicatat dalam interval waktu yang ditentukan untuk memicu pembatasan log.

  6. Simpan file konfigurasi.

Memverifikasi pengumpulan log

  1. Buka Windows Event Viewer di server StoreFront.
  2. Buka Windows Logs > Application atau Application and Services Logs > Citrix Delivery Services.
  3. Pastikan peristiwa StoreFront sedang dibuat.
  4. 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.