Collecter les journaux Symantec Endpoint Protection

Compatible avec :

Ce document explique comment ingérer des journaux Symantec Endpoint Protection dans Google Security Operations à l'aide de Bindplane. Le parseur traite les journaux au format SYSLOG ou KV, en extrayant d'abord les codes temporels de différents formats dans les données de journal. Il utilise ensuite un fichier de configuration distinct (sep_pt2.include) pour analyser et structurer davantage les événements de journal, en s'assurant que le traitement n'est réussi que si l'extraction initiale du code temporel est réussie.

Avant de commencer

Assurez-vous de remplir les conditions préalables suivantes :

  • Instance Google SecOps
  • Hôte Windows 2016 ou version ultérieure, ou hôte Linux avec systemd
  • Si vous exécutez le programme derrière un proxy, les ports du pare-feu sont ouverts.
  • Accès privilégié à la plate-forme Symantec Endpoint Protection

Obtenir le fichier d'authentification d'ingestion Google SecOps

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

Installer l'agent Bindplane

Installation de fenêtres

  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
    

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. Exécutez la commande suivante :

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Ressources d'installation supplémentaires

Pour plus d'options d'installation, consultez le guide d'installation.

Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps

  1. Accédez au fichier de configuration :
    • Recherchez le fichier config.yaml. En règle générale, il se trouve dans le répertoire /etc/bindplane-agent/ sous Linux ou dans le répertoire d'installation sous Windows.
    • Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, nano, vi ou le Bloc-notes).
  2. Modifiez le fichier config.yaml comme suit :

    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: '/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
            ingestion_labels:
                log_type: 'CES'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.

  4. Remplacez <customer_id> par le numéro client réel.

  5. Mettez à jour /path/to/ingestion-authentication-file.json en indiquant le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.

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

  • Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart bindplane-agent
    
  • Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurer Syslog dans Symantec Endpoint Protection

  1. Connectez-vous à l'interface utilisateur Web de Symantec Endpoint Protection Manager.
  2. Cliquez sur l'icône Admin.
  3. Localisez la section Afficher les serveurs, puis cliquez sur Serveurs.
  4. Cliquez sur Site local > Configurer la journalisation externe.
  5. Cochez la case Activer la transmission des journaux à un serveur Syslog.
  6. Fournissez les informations de configuration suivantes :
    • Serveur Syslog : saisissez l'adresse IP Bindplane.
    • Port de destination UDP : saisissez le numéro de port Bindplane (par exemple, 514 pour UDP).
    • Log Facility : saisissez Local6.
    • Cochez la case Journaux d'audit.
    • Cochez la case Journaux de sécurité.
    • Cochez la case Risques.
  7. Cliquez sur OK.

Table de mappage UDM

Champ du journal Mappage UDM Logique
Action security_result.action La valeur est extraite du champ Action du journal brut et mappée à une action UDM.
Type d'action security_result.action_details La valeur est extraite du champ Action Type du journal brut.
Administrateur
Motif d'autorisation de l'application security_result.action_details La valeur est extraite du champ Allowed application reason du journal brut.
Application principal.process.command_line La valeur est extraite du champ Application du journal brut.
Fonction de hachage de l'application target.file.sha256 La valeur est extraite du champ Application hash du journal brut.
Nom de l'application target.application La valeur est extraite du champ Application name du journal brut.
Application type (Type d'application) target.resource.attribute.labels.value La valeur est extraite du champ Application type du journal brut. La clé est codée en dur sur Application Type.
Version de l'application target.application.version La valeur est extraite du champ Application version du journal brut.
Commencer
Heure de début extensions.vulns.vulnerabilities.scan_start_time La valeur est extraite du champ Begin Time du journal brut.
Début : extensions.vulns.vulnerabilities.scan_start_time La valeur est extraite du champ Begin: du journal brut.
Catégorie principal.resource.attribute.labels.value La valeur est extraite du champ Category du journal brut. La clé est codée en dur sur Category.
Catégorie définie security_result.category La valeur est extraite du champ Category set du journal brut et mappée à une catégorie UDM.
Type de catégorie security_result.category_details La valeur est extraite du champ Category type du journal brut.
ID de signature CIDS
Chaîne de signature CIDS security_result.summary La valeur est extraite du champ CIDS Signature string du journal brut.
Sous-ID de signature CIDS
Règles relatives aux clients
Commande
Ordinateur target.hostname La valeur est extraite du champ Computer du journal brut.
Nom de l'ordinateur principal.hostname La valeur est extraite du champ Computer name du journal brut.
Confiance security_result.confidence_details La valeur est extraite du champ Confidence du journal brut.
données
Description security_result.action_details La valeur est extraite du champ Description du journal brut.
Description : security_result.action_details La valeur est extraite du champ Description: du journal brut.
Score de détection
Nombre d'envois de détection
Type de détection security_result.summary La valeur est extraite du champ Detection type du journal brut.
ID de l'appareil target.asset.hostname La valeur est extraite du champ Device ID du journal brut.
Disposition security_result.action La valeur est extraite du champ Disposition du journal brut et mappée à une action UDM.
Domaine principal.administrative_domain La valeur est extraite du champ Domain du journal brut.
Nom de domaine principal.administrative_domain La valeur est extraite du champ Domain Name du journal brut.
Nom de domaine : principal.administrative_domain La valeur est extraite du champ Domain Name: du journal brut.
Téléchargé par principal.process.file.full_path La valeur est extraite du champ Downloaded by du journal brut.
Site de téléchargement
Durée (secondes) extensions.vulns.vulnerabilities.scan_end_time La valeur est extraite du champ Duration (seconds) du journal brut et ajoutée à l'heure de début de l'analyse.
Fin
Heure de fin extensions.vulns.vulnerabilities.scan_end_time La valeur est extraite du champ End Time du journal brut.
Heure de fin : extensions.vulns.vulnerabilities.scan_end_time La valeur est extraite du champ End Time: du journal brut.
Fin : extensions.vulns.vulnerabilities.scan_end_time La valeur est extraite du champ End: du journal brut.
Description de l'événement metadata.description La valeur est extraite du champ Event Description du journal brut.
Description de l'événement : metadata.description La valeur est extraite du champ Event Description: du journal brut.
Heure d'insertion de l'événement
Heure de l'événement metadata.event_timestamp La valeur est extraite du champ Event time du journal brut.
Heure de l'événement : metadata.event_timestamp La valeur est extraite du champ Event time: du journal brut.
Type d'événement metadata.product_event_type La valeur est extraite du champ Event Type du journal brut.
Type d’événement : metadata.product_event_type La valeur est extraite du champ Event Type: du journal brut.
Chemin d'accès au fichier target.file.full_path La valeur est extraite du champ File path du journal brut.
Chemin d'accès au fichier : target.file.full_path La valeur est extraite du champ File path: du journal brut.
Taille du fichier (en octets) target.file.size La valeur est extraite du champ File size (bytes) du journal brut.
Première occurrence security_result.action_details La valeur est extraite du champ First Seen du journal brut.
Première occurrence : security_result.action_details La valeur est extraite du champ First Seen: du journal brut.
Groupe principal.group.group_display_name La valeur est extraite du champ Group du journal brut.
Nom du groupe principal.group.group_display_name La valeur est extraite du champ Group Name du journal brut.
Nom du groupe : principal.group.group_display_name La valeur est extraite du champ Group Name: du journal brut.
Type de hachage target.resource.attribute.labels.value La valeur est extraite du champ Hash type du journal brut. La clé est codée en dur sur Hash Type.
Niveau de protection renforcé
ID d'intrusion
URL de charge utile d'intrusion
URL d'intrusion
Adresse IP principal.ip La valeur est extraite du champ IP Address du journal brut.
Adresse IP : principal.ip La valeur est extraite du champ IP Address: du journal brut.
Heure de la dernière mise à jour
Hôte local principal.ip La valeur est extraite du champ Local Host du journal brut.
Adresse IP de l'hôte local principal.ip La valeur est extraite du champ Local Host IP du journal brut.
Adresse MAC de l'hôte local principal.mac La valeur est extraite du champ Local Host MAC du journal brut.
Port local principal.port La valeur est extraite du champ Local Port du journal brut.
Emplacement
MD-5
Occurrences security_result.about.resource.attribute.labels.value La valeur est extraite du champ Occurrences du journal brut. La clé est codée en dur sur Occurrences.
Motif d'application autorisé security_result.action_details La valeur est extraite du champ Permitted application reason du journal brut.
Prévalence security_result.description La valeur est extraite du champ Prevalence du journal brut.
Chemin d'accès distant target.file.full_path La valeur est extraite du champ Remote file path du journal brut.
Adresse IP de l'hôte distant target.ip La valeur est extraite du champ Remote Host IP du journal brut.
Adresse MAC de l'hôte distant target.mac La valeur est extraite du champ Remote Host MAC du journal brut.
Nom d'hôte distant target.hostname La valeur est extraite du champ Remote Host Name du journal brut.
Port distant target.port La valeur est extraite du champ Remote Port du journal brut.
Action demandée security_result.action La valeur est extraite du champ Requested action du journal brut et mappée à une action UDM.
Niveau de risque security_result.severity La valeur est extraite du champ Risk Level du journal brut et mappée à une gravité UDM.
Nom du risque security_result.threat_name La valeur est extraite du champ Risk name du journal brut.
Type de risque security_result.detection_fields.value La valeur est extraite du champ Risk type du journal brut. La clé est codée en dur sur Risk Type.
Règle principal.resource.name La valeur est extraite du champ Rule du journal brut.
Règle : principal.resource.name La valeur est extraite du champ Rule: du journal brut.
ID de l'analyse extensions.vulns.vulnerabilities.name La valeur est extraite du champ Scan ID du journal brut.
ID de l'analyse : extensions.vulns.vulnerabilities.name La valeur est extraite du champ Scan ID: du journal brut.
Type d'analyse
Action secondaire target.resource.attribute.labels.value La valeur est extraite du champ Secondary action du journal brut. La clé est codée en dur sur Secondary action.
Risque de sécurité détecté metadata.description La valeur est extraite du champ Security risk found du journal brut.
Serveur intermediary.hostname La valeur est extraite du champ Server du journal brut.
Nom du serveur intermediary.hostname La valeur est extraite du champ Server Name du journal brut.
Nom du serveur : intermediary.hostname La valeur est extraite du champ Server Name: du journal brut.
SHA-256 principal.process.file.sha256 La valeur est extraite du champ SHA-256 du journal brut.
Site additional.fields.value.string_value La valeur est extraite du champ Site du journal brut. La clé est codée en dur sur Site Name.
Nom du site additional.fields.value.string_value La valeur est extraite du champ Site Name du journal brut. La clé est codée en dur sur Site Name.
Site : additional.fields.value.string_value La valeur est extraite du champ Site: du journal brut. La clé est codée en dur sur Site Name.
Source metadata.product_event_type La valeur est extraite du champ Source du journal brut et ajoutée à la chaîne codée en dur Security risk found -.
Ordinateur source
Ordinateur source :
Adresse IP source
Adresse IP source :
Source : metadata.product_event_type La valeur est extraite du champ Source: du journal brut et ajoutée à la chaîne codée en dur Security risk found -.
ts metadata.event_timestamp La valeur est extraite du champ ts du journal brut.
État du suivi des URL
Utilisateur principal.user.userid La valeur est extraite du champ User du journal brut.
Nom de l’utilisateur principal.user.userid La valeur est extraite du champ User Name du journal brut.
Nom d'utilisateur : principal.user.userid La valeur est extraite du champ User Name: du journal brut.
Domaine Web
metadata.description Si le journal brut contient la chaîne The client has downloaded, la description est définie sur The client has downloaded {target file name}. Si le journal brut contient la chaîne The management server received, la description est définie sur The management server received the client log successfully. Sinon, la description est définie sur la valeur du champ Event Description dans le journal brut.
metadata.event_type Le type d'événement est déterminé par la logique de l'analyseur en fonction du contenu du journal brut.
metadata.log_type Le type de journal est codé en dur sur SEP.
metadata.product_name Le nom du produit est codé en dur pour être SEP.
metadata.vendor_name Le nom du fournisseur est codé en dur sur Symantec.

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