Collecter les journaux de l'agent SIEM Fortra Powertech

Compatible avec :

Ce guide explique comment ingérer les journaux de l'agent Fortra Powertech SIEM pour IBM i dans Google Security Operations à l'aide de l'agent Bindplane.

Powertech SIEM Agent for IBM i (anciennement Powertech Interact) surveille les journaux et les files d'attente de messages IBM i pour détecter les messages système critiques et les entrées d'audit. Il transmet les messages à l'aide de UDP, TCP, TLS, d'une file d'attente de messages ou d'un fichier de flux (IFS), et met en forme la partie MSG du paquet syslog conformément au format CEF (Common Event Format) v25 de Micro Focus ArcSight.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google SecOps.
  • Windows Server 2016 ou version ultérieure, ou hôte Linux avec systemd.
  • Connectivité réseau entre l'agent Bindplane et le système IBM i exécutant l'agent Powertech SIEM.
  • 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 privilégié au système IBM i avec autorisation de configurer l'agent Powertech SIEM (profil utilisateur avec l'autorisation spéciale *ALLOBJ ou membre de la liste d'autorisation PTADMIN).
  • L'agent Powertech SIEM pour IBM i est installé et sous licence sur le système IBM i.

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agent de collecte.
  3. Cliquez sur Télécharger pour télécharger le fichier d'authentification pour l'ingestion.
  4. Enregistrez le fichier de manière sécurisée sur le système sur lequel l'agent 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

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

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

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
    
  3. Attendez la fin de l'installation.

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

    sudo systemctl status observiq-otel-collector
    

    Le service doit être indiqué comme actif (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 syslog et les envoyer à Google SecOps

Localiser le fichier de configuration

Linux :

sudo nano /etc/bindplane-agent/config.yaml

Windows :

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:
    udplog:
    listen_address: "0.0.0.0:514"

exporters:
    chronicle/powertech_siem:
    compression: gzip
    creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
    customer_id: 'YOUR_CUSTOMER_ID'
    endpoint: malachiteingestion-pa.googleapis.com
    log_type: FORTRA_POWERTECH_SIEM_AGENT
    raw_log_field: body
    ingestion_labels:
        env: production

service:
    pipelines:
    logs/powertech_to_chronicle:
        receivers:
        - udplog
        exporters:
        - chronicle/powertech_siem

Paramètres de configuration

Remplacez les espaces réservés suivants :

Configuration du récepteur :

  • listen_address : adresse IP et port à écouter. Utilisez 0.0.0.0:514 pour écouter sur toutes les interfaces sur le port 514, ou remplacez le port par 1514 ou une autre valeur si le port 514 nécessite des droits racine ou est déjà utilisé.

Configuration de l'exportateur :

  • creds_file_path : chemin d'accès complet au fichier d'authentification de l'ingestion :
    • Linux : /etc/bindplane-agent/ingestion-auth.json
    • Windows : C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • YOUR_CUSTOMER_ID : remplacez cette valeur par votre numéro client Google SecOps.
  • endpoint : URL du point de terminaison régional. Utilisez le point de terminaison approprié pour votre instance Google SecOps :
    • États-Unis : malachiteingestion-pa.googleapis.com
    • Europe : europe-malachiteingestion-pa.googleapis.com
    • Asie : asia-southeast1-malachiteingestion-pa.googleapis.com
    • Pour obtenir la liste complète, consultez Points de terminaison régionaux.
  • ingestion_labels : libellés facultatifs au format YAML (par exemple, env: production, source: ibm_i).

Enregistrez le fichier de configuration.

Après avoir modifié le fichier, enregistrez-le :

  • Linux : appuyez sur Ctrl+O, puis sur Enter, puis sur Ctrl+X.
  • Windows : cliquez sur Fichier > Enregistrer.

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

  • Linux

    sudo systemctl restart observiq-otel-collector
    
    1. Vérifiez que le service est en cours d'exécution :

      sudo systemctl status observiq-otel-collector
      
    2. Recherchez les erreurs dans les journaux :

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows

    Choisissez l'une des options suivantes :

    • À l'aide de l'invite de commandes ou de PowerShell en tant qu'administrateur :

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Utiliser la 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.

      4. Vérifiez que le service est en cours d'exécution :

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

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

Configurer le transfert syslog de l'agent Powertech SIEM

Sur la ligne de commande IBM i, saisissez POWERTECH pour ouvrir le menu principal Powertech, puis sélectionnez l'option 6 pour ouvrir le menu principal de l'agent SIEM.

Configurer le format syslog

Dans le menu principal de l'agent SIEM, sélectionnez l'option 2 pour ouvrir le panneau "Work with Formats" (Travailler avec les formats). Les formats CEF, JSON, LEEF, MODERN et SYSLOG sont inclus par défaut.

  1. Saisissez "2" à côté de SYSLOG, puis appuyez sur Entrée.
  2. Dans le champ "Style du message", saisissez *SYSLOG.
  3. Dans le champ "Spécification de l'en-tête", saisissez RFC3164.
  4. Assurez-vous que l'option "Utiliser la compatibilité du format d'en-tête" est définie sur "Y", puis enregistrez la configuration.
  5. Appuyez deux fois sur F3 pour revenir au menu principal.

Créer une sortie réseau

Dans le menu principal, sélectionnez l'option 3 "Work with Outputs" (Travailler avec les sorties), puis appuyez sur F6 pour créer une sortie.

  1. Saisissez les options suivantes :
    • Nom : CHRONICLE (ou un nom descriptif)
    • Description : sortie Chronicle Bindplane
    • Actif : 1
    • Format : SYSLOG
    • Type : *NETWORK
  2. Appuyez sur Entrée.
  3. Sur l'écran suivant, saisissez les options suivantes :
    • Emplacement : saisissez l'adresse IP de la machine sur laquelle l'agent Bindplane est installé.
    • Port : 514 (ou le port configuré dans l'agent Bindplane)
    • Protocole : UDP
  4. Appuyez sur Entrée pour enregistrer les modifications, puis sur F12 pour fermer la fenêtre.

Associer la sortie aux sources d'événements

Choisissez l'option 1 "Work with Event Sources" (Travailler avec les sources d'événements), puis saisissez 2 à côté d'AUDIT et appuyez sur Entrée.

  1. Appuyez sur F8 (Conserver les sorties), puis sur F6 (Joindre) pour joindre la sortie qui vient d'être créée. Saisissez "1" à côté de CHRONICLE (ou du nom de votre sortie), puis appuyez sur Entrée.
  2. Appuyez sur F3 pour revenir au menu principal.

Activer les descriptions d'événements

Dans le menu principal de l'agent SIEM, sélectionnez l'option 1, puis saisissez 9 pour une source d'événement. Le panneau "Travailler avec les descriptions d'événements" s'affiche. Utilisez l'option 6 pour activer les événements que vous souhaitez traiter.

Valider les modifications de configuration

Dans le menu principal, sélectionnez l'option 82, Work with Utilities (Utiliser les utilitaires), puis l'option 1, Commit configuration changes (Valider les modifications de configuration).

Démarrer la surveillance de l'agent SIEM

Si l'agent SIEM n'est pas déjà en cours d'exécution, démarrez les jobs de surveillance :

  1. Dans la ligne de commande IBM i, saisissez :

    CALL PTSTARTUP
    
  2. Ces commandes démarrent les tâches de surveillance requises pour l'administration centrale et l'agent SIEM dans le sous-système PTWRKMGT.

Vérifier que les journaux sont envoyés

  1. Vérifiez que les journaux arrivent à l'agent Bindplane en consultant les journaux de l'agent Bindplane (consultez la section sur le redémarrage ci-dessus pour connaître l'emplacement des journaux).
  2. Vérifiez que les journaux s'affichent dans la console Google SecOps (comptez 5 à 10 minutes pour l'ingestion initiale).
  3. Si vous le souhaitez, attribuez une file d'attente de messages pour enregistrer tous les messages envoyés par l'agent SIEM et confirmer ceux qui ont été envoyés.

Table de mappage UDM

Champ du journal Mappage UDM Logique
principal_ip principal.ip Adresse IP du compte principal.
dst_ip target.ip Adresse IP de la cible.
sourceTranslatedAddress principal.nat_ip Adresse IP NAT du principal.
destinationTranslatedAddress target.nat_ip Adresse IP NAT de la cible.
dvc about.ip Adresse IP du composant.
deviceTranslatedAddress about.nat_ip Adresse IP NAT de l'élément.
smac principal.mac Adresse MAC du principal.
dmac target.mac Adresse MAC de la cible.
dvcmac about.mac Adresse MAC du composant.
spriv principal.user.attribute.roles Rôles associés à l'utilisateur principal.
dpriv target.user.attribute.roles Rôles associés à l'utilisateur cible.
oldFilePermission src.resource.attribute.permissions Autorisations de la ressource source.
filePermission about.resource.attribute.permissions Autorisations de la ressource.
cat security_result.category_details Informations supplémentaires sur la catégorie de résultat de sécurité.
device_vendor, device_product, deviceExternalId about.asset.asset_id Identifiant unique de l'asset.
interprétés. network.sent_bytes Nombre d'octets envoyés dans la connexion réseau.
dans network.received_bytes Nombre d'octets reçus dans la connexion réseau.
fsize about.file.size Taille du fichier.
oldFileSize src.file.size Taille du fichier source.
destinationTranslatedPort target.nat_port Port NAT de la cible.
dpt target.port Numéro de port de la cible.
sourceTranslatedPort principal.nat_port Port NAT du principal.
spt principal.port Numéro de port du principal.
rt metadata.event_timestamp Code temporel de l'événement.
de gravité, security_result.severity Niveau de gravité du résultat de sécurité.
app_protocol_src network.application_protocol Protocole d'application utilisé dans la connexion réseau.
proto network.ip_protocol Protocole IP utilisé dans la connexion réseau.
deviceDirection network.direction Sens du trafic réseau.
agir security_result.action Action effectuée par le système de sécurité.
outcome, categoryOutcome, cs2 security_result.action Action effectuée par le système de sécurité.
msg_data_2 security_result.description Description du résultat de sécurité.
Message metadata.description Description de l'événement.
destinationServiceName target.application Application associée à la cible.
dntdom target.administrative_domain Domaine administratif de la cible.
oldFilePath src.file.full_path Chemin d'accès complet au fichier source.
requestClientApplication network.http.user_agent Chaîne user-agent de la requête HTTP.
requestMethod network.http.method Méthode HTTP utilisée dans la requête.
filePath about.file.full_path Chemin d'accès complet au fichier.
dvchost about.hostname Nom d'hôte de l'élément.
deviceNtDomain about.administrative_domain Domaine administratif de l'élément.
dvcpid about.process.pid ID du processus de l'élément.
deviceProcessName about.process.command_line Ligne de commande du processus sur le composant.
_hash about.file.sha256 Hachage SHA256 du fichier.
externalId metadata.product_log_id Identifiant du journal spécifique au produit.
security_result.action_details security_result.action_details Informations supplémentaires sur l'action de sécurité.
device_version metadata.product_version Version du produit qui a généré l'événement.
temp_dhost target.hostname Nom d'hôte de la cible.
request target.url URL associée à la cible.
temp_duser target.user.user_display_name Nom à afficher de l'utilisateur cible.
temp_duid target.user.userid ID utilisateur de l'utilisateur cible.
Device_name principal.hostname Nom d'hôte du principal.
Enhetsnavn principal.hostname Nom d'hôte du principal.
Domaine principal.administrative_domain Domaine administratif du principal.
Domene principal.administrative_domain Domaine administratif du principal.
Group_name principal.group.group_display_name Nom à afficher du groupe principal.
Gruppenavn principal.group.group_display_name Nom à afficher du groupe principal.
Reçu, Mottatt metadata.collected_timestamp Code temporel indiquant quand l'événement a été collecté.
Généré, Generert metadata.event_timestamp Code temporel de l'événement.
Objet about.process.command_line Ligne de commande du processus.
Emne about.process.command_line Ligne de commande du processus.
Chemin d'accès about.process.command_line Ligne de commande du processus.
Type security_result.description Description du résultat de sécurité.
Scan_Type security_result.description Description du résultat de sécurité.
Utilisateur target.user.userid ID utilisateur de l'utilisateur cible.
Bruker target.user.userid ID utilisateur de l'utilisateur cible.
CustomerName target.user.user_display_name Nom à afficher de l'utilisateur cible.
File_name, Object, Objekt, Infected_Resource target.process.file.full_path Chemin d'accès complet au fichier associé au processus cible.
Action_Taken security_result.action_details Informations supplémentaires sur l'action de sécurité.
Spyware, Virus_Malware_Name, Unknown_Threat security_result.threat_name Nom de la menace détectée.
shost principal.hostname Nom d'hôte du principal.
shost principal.ip Adresse IP du compte principal.
sntdom principal.administrative_domain Domaine administratif du principal.
sourceServiceName principal.application Application associée au compte principal.
spid principal.process.pid ID de processus du principal.
sproc principal.process.command_line Ligne de commande du processus principal.
suid principal.user.userid ID utilisateur de l'utilisateur principal.
suser principal.user.user_display_name Nom à afficher de l'utilisateur principal.
dpid target.process.pid ID du processus cible.
dproc target.process.command_line Ligne de commande du processus cible.
reason security_result.summary Résumé du résultat de sécurité.
event_name, device_event_class_id metadata.product_event_type Type d'événement spécifique au produit.
fileHash about.file.sha256 Hachage SHA256 du fichier.
à propos de à propos de Informations supplémentaires sur l'événement.
mwProfile security_result.rule_name Nom de la règle qui a déclenché le résultat de sécurité.
appcategory security_result.summary Résumé du résultat de sécurité.
Résultat security_result.summary Résumé du résultat de sécurité.
eventid additional.fields Champs supplémentaires pour l'événement.
eventId additional.fields Champs supplémentaires pour l'événement.
devicePayloadId additional.fields Champs supplémentaires pour l'événement.
fname additional.fields Champs supplémentaires pour l'événement.
cs1, cs1Label additional.fields Champs supplémentaires pour l'événement.
cs2, cs2Label additional.fields Champs supplémentaires pour l'événement.
cs3, cs3Label additional.fields Champs supplémentaires pour l'événement.
cs4, cs4Label additional.fields Champs supplémentaires pour l'événement.
cs5, cs5Label additional.fields Champs supplémentaires pour l'événement.
cs6, cs6Label additional.fields Champs supplémentaires pour l'événement.
cs7, cs7Label additional.fields Champs supplémentaires pour l'événement.
flexString1, flexString1Label additional.fields Champs supplémentaires pour l'événement.
cn1, cn1Label additional.fields Champs supplémentaires pour l'événement.
cn2, cn2Label additional.fields Champs supplémentaires pour l'événement.
cn3, cn3Label additional.fields Champs supplémentaires pour l'événement.
cfp1, cfp1Label additional.fields Champs supplémentaires pour l'événement.
cfp2, cfp2Label additional.fields Champs supplémentaires pour l'événement.
cfp3, cfp3Label additional.fields Champs supplémentaires pour l'événement.
cfp4, cfp4Label additional.fields Champs supplémentaires pour l'événement.
Opération security_result.detection_fields Champs utilisés pour la détection des menaces.
Operasjon security_result.detection_fields Champs utilisés pour la détection des menaces.
Autorisation security_result.detection_fields Champs utilisés pour la détection des menaces.
Tillatelse security_result.detection_fields Champs utilisés pour la détection des menaces.
Infection_Channel security_result.detection_fields Champs utilisés pour la détection des menaces.
IPv6_Address target.ip Adresse IP de la cible.
Resource_Type target.resource.attribute.labels Libellés pour les attributs de ressources cibles.
Spyware_Grayware_Type security_result.detection_fields Champs utilisés pour la détection des menaces.
Threat_Probability security_result.detection_fields Champs utilisés pour la détection des menaces.
security_result security_result Résultat de sécurité de l'événement.
hôte principal.hostname Nom d'hôte du principal.
échec metadata.description Description de l'événement.
modifié metadata.description Description de l'événement.
log_version additional.fields Champs supplémentaires pour l'événement.
cnt additional.fields Champs supplémentaires pour l'événement.
fileType target.file.mime_type Type MIME du fichier cible.
fname target.file.names Noms des fichiers cibles.
ip principal.ip Adresse IP du compte principal.
metadata.event_type metadata.event_type Type d'événement.
principal_hostname principal.asset.hostname Nom d'hôte de l'élément principal.
principal_asset_hostname principal.asset.hostname Nom d'hôte de l'élément principal.
target_hostname target.asset.hostname Nom d'hôte de l'asset cible.
target_asset_hostname target.asset.hostname Nom d'hôte de l'asset cible.
device_vendor metadata.vendor_name Nom du fournisseur du produit.
device_product metadata.product_name Nom du produit.

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