Collecter les journaux Citrix StoreFront

Version de l'analyseur : 1.0

Compatible avec :

Ce document explique comment ingérer des journaux Citrix StoreFront dans Google Security Operations à l'aide de Bindplane.

Citrix StoreFront est une application Web qui fournit un magasin d'applications d'entreprise pour les applications et bureaux virtuels Citrix. Il authentifie les utilisateurs sur les sites Citrix Virtual Apps and Desktops et regroupe les ressources disponibles dans un portail unique. StoreFront écrit les événements d'authentification, de lancement de session et de service dans le journal des événements Windows sous des sources d'événements préfixées par Citrix.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Windows Server 2016 ou version ultérieure avec systemd
  • Connectivité réseau entre l'agent Bindplane et Internet
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
  • Accès administrateur au serveur Windows Server hébergeant Citrix StoreFront
  • Citrix StoreFront 2308 ou version ultérieure installé et configuré

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Profil.
  3. Copiez et enregistrez le numéro client dans la section Informations sur l'organisation.

Installer l'agent Bindplane

Installez l'agent Bindplane sur votre système d'exploitation Windows en suivant les instructions ci-dessous.

Installation de Windows

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendez la fin de l'installation.

  4. Vérifiez l'installation en exécutant la commande suivante :

    sc query observiq-otel-collector
    

Le service doit être indiqué comme RUNNING (EN COURS D'EXÉCUTION).

Autres ressources d'installation

Pour obtenir d'autres options d'installation et de dépannage, consultez le guide d'installation de l'agent Bindplane.

Configurer l'agent Bindplane pour ingérer les journaux d'événements Windows et les envoyer à Google SecOps

Localiser le fichier de configuration

  1. Ouvrez l'invite de commande en tant qu'administrateur.
  2. Accédez au répertoire d'installation de l'agent Bindplane et ouvrez le fichier de configuration :

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

Modifiez le fichier de configuration

  • Remplacez l'intégralité du contenu de config.yaml par la configuration suivante :

    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
    

Paramètres de configuration

Remplacez les espaces réservés suivants par vos valeurs réelles :

  • Configuration de l'exportateur :

    • YOUR_PROJECT_ID : ID du projet à partir de votre fichier d'authentification pour l'ingestion
    • YOUR_PRIVATE_KEY_ID : ID de clé privée de votre fichier d'authentification pour l'ingestion
    • YOUR_PRIVATE_KEY : clé privée de votre fichier d'authentification pour l'ingestion (assurez-vous d'échapper correctement les sauts de ligne)
    • YOUR_CLIENT_EMAIL : adresse e-mail du client figurant dans votre fichier d'authentification pour l'ingestion
    • YOUR_CLIENT_ID : ID client de votre fichier d'authentification pour l'ingestion
    • YOUR_CERT_URL : URL du certificat client x509 de votre fichier d'authentification pour l'ingestion
    • YOUR_CUSTOMER_ID : votre numéro client Google SecOps
  • Configuration du point de terminaison régional :

    • Pour la région des États-Unis, utilisez : malachiteingestion-pa.googleapis.com
    • Pour la région Europe, utilisez : europe-malachiteingestion-pa.googleapis.com
    • Pour la région Asie du Sud-Est, utilisez : asia-southeast1-malachiteingestion-pa.googleapis.com.
    • Pour obtenir la liste complète, consultez Points de terminaison régionaux.
  • Exemple :

    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
    

Enregistrez le fichier de configuration.

  • Après avoir modifié le fichier, enregistrez-le :
    • Cliquez sur Fichier > Enregistrer.
    • Fermer le Bloc-notes

Redémarrez l'agent Bindplane pour appliquer les modifications.

Pour redémarrer l'agent Bindplane sous Windows :

  1. Choisissez l'une des options suivantes :

    • Invite de commande ou PowerShell en tant qu'administrateur :
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Console Services :
      1. Appuyez sur Win+R, saisissez services.msc, puis appuyez sur Entrée.
      2. Localisez observIQ OpenTelemetry Collector.
      3. Effectuez un clic droit, puis sélectionnez Redémarrer.
  2. Vérifiez que le service est en cours d'exécution :

    sc query observiq-otel-collector
    
  3. Recherchez les erreurs dans les journaux :

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

Configurer la journalisation des événements Citrix StoreFront

Par défaut, StoreFront 2311 et les versions ultérieures enregistrent les messages de niveau "Erreur", "Avertissement" et "Info". Pour les versions antérieures (2308 et antérieures), seuls les messages de niveau "Erreur" sont enregistrés par défaut.

Activer la journalisation détaillée (facultatif)

Pour augmenter le niveau de détail de la journalisation à des fins de dépannage :

  1. Connectez-vous au serveur StoreFront avec des droits d'administrateur local.
  2. Ouvrez PowerShell en tant qu'administrateur.
  3. Exécutez la commande suivante pour activer la journalisation détaillée pour tous les services :

    Set-STFDiagnostics -All -TraceLevel "Verbose" -confirm:$False
    
  4. Une fois le dépannage terminé, rétablissez le niveau de journalisation par défaut :

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

Vérifier les événements du journal des événements Windows

  1. Appuyez sur Win+R, saisissez eventvwr.msc, puis appuyez sur Entrée pour ouvrir la Visionneuse d'événements.
  2. Accédez à Journaux des applications et des services > Services de livraison Citrix.
  3. Vérifiez que les événements sont consignés pour l'authentification, les magasins et les sites Receiver pour le Web.
  4. Accédez à Journaux Windows > Application.
  5. Filtrez les événements par nom de source commençant par Citrix pour vérifier que les événements au niveau de l'application sont générés.

Configurer la limitation du journal des événements (facultatif)

StoreFront prend en charge la limitation du nombre d'événements du journal des événements pour limiter le nombre d'événements en double. Pour configurer la limitation :

  1. Accédez aux répertoires de configuration du service StoreFront sur le serveur :
    • Service d'authentification : C:\inetpub\wwwroot\Citrix\Authentication
    • Magasin : C:\inetpub\wwwroot\Citrix\<storename>
    • Site Web du récepteur : C:\inetpub\wwwroot\Citrix\<storename>\Web
  2. Ouvrez le fichier web.config dans chaque répertoire à l'aide d'un éditeur de texte.
  3. Localisez l'élément logger et configurez les paramètres de limitation :

    <logger duplicateInterval="00:01:00" duplicateLimit="10">
    
    • duplicateInterval : période (heures:minutes:secondes) pendant laquelle les entrées de journaux en double sont surveillées.
    • duplicateLimit : nombre d'entrées en double qui doivent être enregistrées dans l'intervalle pour déclencher la limitation du débit
  4. Enregistrez les fichiers de configuration.

Pour en savoir plus, consultez la documentation sur les fichiers journaux Citrix StoreFront.

Table de mappage UDM

Champ de journal Mappage UDM Logique
OpcodeValue_label additional.fields Fusionné
Opcode_label additional.fields Fusionné
ThreadID_label additional.fields Fusionné
X-Citrix-Via_label additional.fields Fusionné
XCitrixGateway_label additional.fields Fusionné
keyword_label additional.fields Fusionné
_vulns extensions.vulns.vulnerabilities Fusionné
_intermediary intermediary Fusionné
_intermediary_controller intermediary Fusionné
_intermediary_hypervisor intermediary Fusionné
_intermediary_storefront intermediary Fusionné
description metadata.description Mappé directement
EventTime metadata.event_timestamp Analysé en tant que RFC 3339
Machine.CreatedDate metadata.event_timestamp Analysé en tant que RFC 3339
Machine.LastDeregisteredDate metadata.event_timestamp Analysé en tant que RFC 3339
Machine.ModifiedDate metadata.event_timestamp Analysé en tant que RFC 3339
Machine.PoweredOnDate metadata.event_timestamp Analysé en tant que RFC 3339
Machine.RegistrationStateChangeDate metadata.event_timestamp Analysé en tant que RFC 3339
Session.EndDate metadata.event_timestamp Analysé en tant que RFC 3339
Session.StartDate metadata.event_timestamp Analysé en tant que RFC 3339
event_date metadata.event_timestamp Analysé en tant que RFC 3339
has_principal metadata.event_type Mappé : true → NETWORK_CONNECTION, true → STATUS_UPDATE
EventID metadata.product_event_type Mappé directement
RecordNumber metadata.product_log_id Mappé directement
Machine.AgentVersion metadata.product_version Renommé/Mappé
_network network Renommé/Mappé
_principal principal Renommé/Mappé
Channel_label security_result.about.resource.attribute.labels Fusionné
severity security_result.severity Mappé : (?i)Info → INFORMATIONAL, (?i)Error → ERROR, (?i)Warning → MEDIUM
SeverityValue security_result.severity_details Mappé directement
Connection.ConnectedViaHostName src.hostname Mappé directement
_target target Renommé/Mappé
N/A extensions.auth.auth_details Constante : ACTIVE
N/A extensions.auth.type Constante : MACHINE
N/A metadata.event_type Constante : GENERIC_EVENT
N/A metadata.product_name Constante : Monitor Service OData
N/A metadata.vendor_name Constante : Citrix
N/A security_result.severity Constante : INFORMATIONAL
OpcodeValue","X-Citrix-Via","ThreadID","XCitrixGateway","Opcode","Keywords", "OpcodeValue additional.fields Mappé à partir du journal des modifications
X-Citrix-Via-VIP _target.ip Mappé à partir du journal des modifications
Remoteadresse taregt.ip Mappé à partir du journal des modifications
invalid_X-Forwarded-For _principal.ip Mappé à partir du journal des modifications
Task _target.resource.type Mappé à partir du journal des modifications
Hostname _principal.hostname Mappé à partir du journal des modifications
SourceModuleName target.resource.name Mappé à partir du journal des modifications
SourceModuleType _principal.resource.attribute.labels Mappé à partir du journal des modifications
Machine.AssociatedUserUPNs target.group.email_addresses Mappé à partir du journal des modifications

Journal des modifications

Afficher le journal des modifications pour ce parseur

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.