Citrix StoreFront のログを収集する

パーサーのバージョン: 1.0

以下でサポートされています。

このドキュメントでは、Bindplane を使用して Citrix StoreFront ログを Google Security Operations に取り込む方法について説明します。

Citrix StoreFront は、Citrix 仮想デスクトップとアプリケーション用のエンタープライズ アプリケーション ストアを提供するウェブ アプリケーションです。ユーザーを Citrix Virtual Apps and Desktops サイトに対して認証し、利用可能なリソースを単一のポータルに集約します。StoreFront は、認証、セッションの起動、サービス イベントを Citrix プレフィックス付きのイベントソースの Windows イベントログに書き込みます。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • systemd を搭載した Windows Server 2016 以降
  • Bindplane エージェントとインターネット間のネットワーク接続
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
  • Citrix StoreFront をホストする Windows Server への管理者アクセス権
  • Citrix StoreFront 2308 以降がインストールされ、構成されている

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. 取り込み認証ファイル をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

次の手順に沿って、Windows オペレーティング システムに Bindplane エージェントをインストールします。

Windows のインストール

  1. 管理者としてコマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sc query observiq-otel-collector
    

サービスは RUNNING と表示されます。

その他のインストール リソース

その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。

Windows イベントログを取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

構成ファイルを探す

  1. 管理者としてコマンド プロンプトを開きます。
  2. Bindplane エージェントのインストール ディレクトリに移動し、構成ファイルを開きます。

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

構成ファイルを編集します。

  • config.yaml の内容全体を次の構成に置き換えます。

    receivers:
        windowseventlog/storefront_application:
            channel: Application
            raw: true
            start_at: end
            operators:
                - type: filter
                    expr: 'record["source_name"] matches "^Citrix"'
    
    processors:
        batch:
    
    exporters:
        chronicle/storefront:
            compression: gzip
            creds: '{
                "type": "service_account",
                "project_id": "YOUR_PROJECT_ID",
                "private_key_id": "YOUR_PRIVATE_KEY_ID",
                "private_key": "-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY\n-----END PRIVATE KEY-----\n",
                "client_email": "YOUR_CLIENT_EMAIL",
                "client_id": "YOUR_CLIENT_ID",
                "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                "token_uri": "https://oauth2.googleapis.com/token",
                "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
                "client_x509_cert_url": "YOUR_CERT_URL"
            }'
            customer_id: 'YOUR_CUSTOMER_ID'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: 'CITRIX_STOREFRONT'
            override_log_type: false
            raw_log_field: body
    
    service:
        pipelines:
            logs/storefront:
                receivers:
                    - windowseventlog/storefront_application
                processors:
                    - batch
                exporters:
                    - chronicle/storefront
    

構成パラメータ

次のプレースホルダを実際の値に置き換えます。

  • エクスポータの構成:

    • YOUR_PROJECT_ID: 取り込み認証ファイルのプロジェクト ID
    • YOUR_PRIVATE_KEY_ID: 取り込み認証ファイルの秘密鍵 ID
    • YOUR_PRIVATE_KEY: 取り込み認証ファイルの秘密鍵(改行が適切にエスケープされていることを確認してください)
    • YOUR_CLIENT_EMAIL: 取り込み認証ファイルからのクライアント メール
    • YOUR_CLIENT_ID: 取り込み認証ファイルからのクライアント ID
    • YOUR_CERT_URL: 取り込み認証ファイルからのクライアント x509 証明書の URL
    • YOUR_CUSTOMER_ID: Google SecOps のお客様 ID
  • リージョン エンドポイントの構成:

    • 米国リージョンの場合: malachiteingestion-pa.googleapis.com
    • [ヨーロッパ地域] には、europe-malachiteingestion-pa.googleapis.com を使用します。
    • 東南アジア地域の場合は、asia-southeast1-malachiteingestion-pa.googleapis.com を使用します。
    • 完全なリストについては、リージョン エンドポイントをご覧ください。
  • 例:

    exporters:
      chronicle/storefront:
        compression: gzip
        creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'CITRIX_STOREFRONT'
        override_log_type: false
        raw_log_field: body
    

構成ファイルを保存する

  • 編集後、ファイルを保存します。
    • [ファイル>保存] をクリックします。
    • メモ帳を閉じる

Bindplane エージェントを再起動して変更を適用する

Windows で Bindplane エージェントを再起動するには:

  1. 次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • サービス コンソール:
      1. Win+R キーを押して「services.msc」と入力し、Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。
  2. サービスが実行されていることを確認します。

    sc query observiq-otel-collector
    
  3. ログでエラーを確認します。

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Citrix StoreFront のイベント ロギングを構成する

デフォルトでは、StoreFront 2311 以降のバージョンでは、Error、Warning、Info レベルのメッセージがログに記録されます。以前のバージョン(2308 以前)では、デフォルトで Error レベルのメッセージのみがログに記録されます。

詳細ログを有効にする(省略可)

トラブルシューティングのためにロギングの詳細度を上げるには:

  1. ローカル管理者権限で StoreFront サーバーにログインします。
  2. 管理者として PowerShell を開きます。
  3. 次のコマンドを実行して、すべてのサービスの詳細ロギングを有効にします。

    Set-STFDiagnostics -All -TraceLevel "Verbose" -confirm:$False
    
  4. トラブルシューティングが完了したら、ロギング レベルをデフォルトに戻します。

    Set-STFDiagnostics -All -TraceLevel "Info" -confirm:$False
    

Windows イベントログのイベントを確認する

  1. Win+R キーを押し、「eventvwr.msc」と入力して Enter キーを押すと、イベント ビューアーが開きます。
  2. [Application and Services Logs> Citrix Delivery Services] に移動します。
  3. 認証、ストア、ウェブサイトの Receiver のイベントがログに記録されていることを確認します。
  4. [Windows ログ> アプリケーション] に移動します。
  5. Citrix で始まるソース名でイベントをフィルタして、アプリケーション レベルのイベントが生成されていることを確認します。

イベントログのスロットリングを構成する(省略可)

StoreFront は、重複イベントの数を制限するためにイベントログの調整をサポートしています。スロットリングを構成するには:

  1. サーバー上の StoreFront サービス構成ディレクトリに移動します。
    • 認証サービス: C:\inetpub\wwwroot\Citrix\Authentication
    • 店舗: C:\inetpub\wwwroot\Citrix\<storename>
    • ウェブサイトの受信者: C:\inetpub\wwwroot\Citrix\<storename>\Web
  2. テキスト エディタを使用して、各ディレクトリの web.config ファイルを開きます。
  3. logger 要素を見つけて、スロットリング パラメータを構成します。

    <logger duplicateInterval="00:01:00" duplicateLimit="10">
    
    • duplicateInterval: 重複するログエントリがモニタリングされる期間(時間:分:秒)
    • duplicateLimit: スロットリングをトリガーするために間隔内にロギングする必要がある重複エントリの数
  4. 構成ファイルを保存します。

詳細については、Citrix StoreFront ログファイルのドキュメントをご覧ください。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
OpcodeValue_label additional.fields 統合済み
Opcode_label additional.fields 統合済み
ThreadID_label additional.fields 統合済み
X-Citrix-Via_label additional.fields 統合済み
XCitrixGateway_label additional.fields 統合済み
keyword_label additional.fields 統合済み
_vulns extensions.vulns.vulnerabilities 統合済み
_intermediary intermediary 統合済み
_intermediary_controller intermediary 統合済み
_intermediary_hypervisor intermediary 統合済み
_intermediary_storefront intermediary 統合済み
description metadata.description 直接マッピングされます。
EventTime metadata.event_timestamp RFC 3339 として解析済み
Machine.CreatedDate metadata.event_timestamp RFC 3339 として解析済み
Machine.LastDeregisteredDate metadata.event_timestamp RFC 3339 として解析済み
Machine.ModifiedDate metadata.event_timestamp RFC 3339 として解析済み
Machine.PoweredOnDate metadata.event_timestamp RFC 3339 として解析済み
Machine.RegistrationStateChangeDate metadata.event_timestamp RFC 3339 として解析済み
Session.EndDate metadata.event_timestamp RFC 3339 として解析済み
Session.StartDate metadata.event_timestamp RFC 3339 として解析済み
event_date metadata.event_timestamp RFC 3339 として解析済み
has_principal metadata.event_type マッピング: trueNETWORK_CONNECTIONtrueSTATUS_UPDATE
EventID metadata.product_event_type 直接マッピングされます。
RecordNumber metadata.product_log_id 直接マッピングされます。
Machine.AgentVersion metadata.product_version 名前変更済み/マッピング済み
_network network 名前変更済み/マッピング済み
_principal principal 名前変更済み/マッピング済み
Channel_label security_result.about.resource.attribute.labels 統合済み
severity security_result.severity マッピング: (?i)InfoINFORMATIONAL(?i)ErrorERROR(?i)WarningMEDIUM
SeverityValue security_result.severity_details 直接マッピングされます。
Connection.ConnectedViaHostName src.hostname 直接マッピングされます。
_target target 名前変更済み/マッピング済み
該当なし extensions.auth.auth_details 定数: ACTIVE
該当なし extensions.auth.type 定数: MACHINE
該当なし metadata.event_type 定数: GENERIC_EVENT
該当なし metadata.product_name 定数: Monitor Service OData
該当なし metadata.vendor_name 定数: Citrix
該当なし security_result.severity 定数: INFORMATIONAL
OpcodeValue","X-Citrix-Via","ThreadID","XCitrixGateway","Opcode","Keywords", "OpcodeValue additional.fields 変更履歴からマッピング
X-Citrix-Via-VIP _target.ip 変更履歴からマッピング
Remoteadresse taregt.ip 変更履歴からマッピング
invalid_X-Forwarded-For _principal.ip 変更履歴からマッピング
Task _target.resource.type 変更履歴からマッピング
Hostname _principal.hostname 変更履歴からマッピング
SourceModuleName target.resource.name 変更履歴からマッピング
SourceModuleType _principal.resource.attribute.labels 変更履歴からマッピング
Machine.AssociatedUserUPNs target.group.email_addresses 変更履歴からマッピング

変更履歴

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。