Collecter les journaux Archer IRM
Ce document explique comment ingérer des journaux Archer IRM (Integrated Risk Management) dans Google Security Operations à l'aide de Bindplane. Le parseur tente d'abord de structurer les données SYSLOG à l'aide d'un modèle Grok spécifique. Si le modèle ne correspond pas, il suppose un format clé-valeur, extrait les champs et les mappe au modèle de données unifié (UDM), en gérant différents types d'événements et informations sur les ressources de base de données au fur et à mesure.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Instance Google SecOps
- Un hôte Windows 2016 ou version ultérieure, ou un hôte Linux avec
systemd
- Si vous exécutez le programme derrière un proxy, les ports du pare-feu sont ouverts.
- Instance Archer IRM 6.x sur site avec la fonctionnalité Audit Logging sous licence
- Accès administrateur au panneau de configuration Archer
Obtenir le fichier d'authentification d'ingestion Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agents de collecte.
- 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
- 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" /quiet
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.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
- 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).
- Recherchez le fichier
Modifiez le fichier
config.yaml
comme suit :receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:6514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/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 log_type: 'ARCHER_IRM' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
- Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
- Remplacez
<customer_id>
par le numéro client réel. - Mettez à jour
/path/to/ingestion-authentication-file.json
avec le chemin d'accès à l'emplacement 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 pour la journalisation des audits Archer IRM
- Ouvrez le panneau de configuration Archer sur le serveur d'applications.
- Accédez à Gestion des instances > Toutes les instances, puis double-cliquez sur l'instance cible.
- Dans l'onglet Général, recherchez la section Audit, puis cochez la case Activer la journalisation d'audit pour cette instance.
- Fournissez les informations de configuration suivantes :
- Nom d'hôte ou adresse IP : saisissez l'adresse IP de l'agent Bindplane.
- Port : saisissez le numéro de port de l'agent Bindplane (par exemple, 6514).
- Version IP : sélectionnez IPv4.
- Méthode de trafic IP : sélectionnez TCP.
- Cliquez sur Tester la connexion (disponible uniquement lorsque TCP est sélectionné) pour vérifier la connectivité.
- Cliquez sur Enregistrer.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
ArcherInstance | additional.fields.ArcherInstance.string_value | Extrait du champ ArcherInstance du message de journal brut. |
ArcherLog | Ce champ est analysé et ses données sont mappées à d'autres champs UDM. | |
ArcherVersion | additional.fields.ArcherVersion.string_value | Extrait du champ ArcherVersion du message de journal brut. |
InputParameter | additional.fields.InputParameter.string_value | Extrait du champ InputParameter du message de journal brut. |
LogSourceIdentifier | Ce champ est analysé et ses données sont mappées à d'autres champs UDM. | |
MethodName | additional.fields.MethodName.string_value | Extrait du champ MethodName du message de journal brut. |
OutputValues | additional.fields.OutputValue.string_value | Extrait du champ OutputValues du message de journal brut. |
Opération réussie | security_result.summary | La valeur est définie sur Success: concaténé avec la valeur du champ Success dans le message de journal brut. |
UserId | principal.user.userid | Extrait du champ UserId du message de journal brut. |
NomUtilisateur | principal.user.user_display_name | Extrait du champ UserName du message de journal brut. |
DB_DRIVER | target.resource.attribute.labels.db_driver.value | Extrait du champ DB_DRIVER du message de journal brut. |
DB_HOST | target.resource.attribute.labels.db_host.value | Extrait du champ DB_HOST du message de journal brut. |
DB_NAME | target.resource.attribute.labels.db_name.value | Extrait du champ DB_NAME du message de journal brut. |
DB_PORT | target.resource.attribute.labels.db_port.value | Extrait du champ DB_PORT du message de journal brut. |
DB_URL | target.resource.attribute.labels.db_url.value | Extrait du champ DB_URL du message de journal brut. |
company_security_event_id | metadata.product_log_id | Extrait du champ company_security_event_id du message de journal brut. |
create_date | metadata.event_timestamp | Converti en code temporel à partir du format UNIX_MS. |
databasename | target.resource.attribute.labels.db_name.value | Extrait du champ databasename du message de journal brut si DB_NAME n'est pas présent. |
chiffrer | security_result.detection_fields.encrypt.value | Extrait du champ encrypt du message de journal brut. |
eventid | metadata.product_event_type | Extrait du champ eventid du message de journal brut. |
eventtime | metadata.event_timestamp | Horodatage converti à partir de différents formats. |
integratedSecurity | security_result.detection_fields.integratedSecurity.value | Extrait du champ integratedSecurity du message de journal brut. |
N/A | extensions.auth.type | Définissez sur AUTHTYPE_UNSPECIFIED pour les événements USER_LOGIN et USER_LOGOUT. |
N/A | metadata.event_type | Définie sur USER_RESOURCE_ACCESS si le journal est analysé par le modèle Grok. Définie sur USER_LOGIN , si security_event_name est User Login . Définie sur USER_LOGOUT , si security_event_name est User Logout . Définie sur USER_RESOURCE_ACCESS si security_event_name contient Security Events . Sinon, définissez-la sur GENERIC_EVENT . |
N/A | metadata.log_type | Variable définie sur ARCHER_IRM . |
N/A | metadata.product_name | Définie sur Archer si le journal est analysé par le modèle Grok. Sinon, définissez-la sur RSA . |
N/A | metadata.vendor_name | Définie sur RSA si le journal est analysé par le modèle Grok. Sinon, définissez-la sur Archer . |
N/A | principal.ip | Définie sur 1.2.3.4 si le journal est analysé par le modèle Grok. |
N/A | principal.port | Définissez la valeur extraite de LogSourceIdentifier si le journal est analysé par le modèle Grok. |
N/A | security_result.action | Définie sur ALLOW si Success est True , sinon définie sur BLOCK . |
N/A | target.resource.resource_type | Définissez sur DATABASE si des champs liés à la base de données sont présents. |
source_user | principal.user.userid | Extrait du champ source_user du message de journal brut. |
target_user | target.user.userid | Extrait du champ target_user du message de journal brut. |
trustServerCertificate | security_result.detection_fields.trustServerCertificate.value | Extrait du champ trustServerCertificate du message de journal brut. |
version | metadata.product_version | Extrait du champ version du message de journal brut. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.