Collecter les journaux de l'agent SIEM Fortra Powertech
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
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agent de collecte.
- Cliquez sur Télécharger pour télécharger le fichier d'authentification pour l'ingestion.
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
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Profil.
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
- Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sc query observiq-otel-collectorLe service doit être indiqué comme RUNNING (EN COURS D'EXÉCUTION).
Installation de Linux
- Ouvrez un terminal avec les droits root ou sudo.
Exécutez la commande suivante :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sudo systemctl status observiq-otel-collectorLe 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. Utilisez0.0.0.0:514pour écouter sur toutes les interfaces sur le port 514, ou remplacez le port par1514ou 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
- Linux :
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.
- États-Unis :
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 surEnter, puis surCtrl+X. - Windows : cliquez sur Fichier > Enregistrer.
Redémarrez l'agent Bindplane pour appliquer les modifications.
Linux
sudo systemctl restart observiq-otel-collectorVérifiez que le service est en cours d'exécution :
sudo systemctl status observiq-otel-collectorRecherchez 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-collectorUtiliser la console Services :
- Appuyez sur
Win+R, saisissezservices.msc, puis appuyez sur Entrée. - Localisez observIQ OpenTelemetry Collector.
Effectuez un clic droit, puis sélectionnez Redémarrer.
Vérifiez que le service est en cours d'exécution :
sc query observiq-otel-collectorRecherchez les erreurs dans les journaux :
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Appuyez sur
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.
- Saisissez "2" à côté de SYSLOG, puis appuyez sur Entrée.
- Dans le champ "Style du message", saisissez *SYSLOG.
- Dans le champ "Spécification de l'en-tête", saisissez RFC3164.
- Assurez-vous que l'option "Utiliser la compatibilité du format d'en-tête" est définie sur "Y", puis enregistrez la configuration.
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.
- Saisissez les options suivantes :
- Nom : CHRONICLE (ou un nom descriptif)
- Description : sortie Chronicle Bindplane
- Actif : 1
- Format : SYSLOG
- Type : *NETWORK
- Appuyez sur Entrée.
- 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
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.
- 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.
- 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 :
Dans la ligne de commande IBM i, saisissez :
CALL PTSTARTUPCes 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
- 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).
- Vérifiez que les journaux s'affichent dans la console Google SecOps (comptez 5 à 10 minutes pour l'ingestion initiale).
- 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.