Collecter les journaux AIDE (Advanced Intrusion Detection Environment)
Version de l'analyseur : 1.0
Ce document explique comment ingérer les journaux AIDE (Advanced Intrusion Detection Environment) dans Google Security Operations à l'aide de Bindplane. AIDE est un outil de surveillance de l'intégrité des fichiers qui détecte les modifications apportées aux fichiers sur les systèmes Linux/Unix.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Un hôte Linux avec systemd exécutant AIDE version 0.18 ou ultérieure (pour la prise en charge du format JSON)
- Si vous exécutez l'application derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
- Un accès privilégié aux fichiers de configuration AIDE
Obtenir les identifiants Google SecOps pour l'agent Bindplane
Pour authentifier l'agent Bindplane auprès de Google SecOps, choisissez l'une des méthodes suivantes :
- Nouveaux déploiements : utilisez l'API Chronicle (option 1).
- Anciens déploiements : continuez à utiliser le fichier d'authentification d'ingestion (option 2) jusqu'à l'arrêt de l'API d'ingestion le 20 juillet 2027.
Option 1 : Créer un compte de service pour l'API Chronicle (recommandé)
- Connectez-vous à la Google Cloud console et sélectionnez le Google Cloud projet associé à votre instance Google SecOps.
- Accédez à IAM et administration > Comptes de service.
- Cliquez sur Créer un compte de service.
- Fournissez les informations de configuration suivantes :
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
bindplane-ingest). - Description du compte de service : saisissez une description (par exemple,
Bindplane agent log ingestion).
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
- Cliquez sur Créer et continuer.
- Dans la section Autoriser ce compte de service à accéder au projet , cliquez sur Sélectionner un rôle , puis sélectionnez Éditeur Chronicle.
- Cliquez sur Continuer, puis sur OK.
- Cliquez sur le compte de service que vous avez créé, puis accédez à l'onglet Clés.
- Cliquez sur Ajouter une clé > Créer une clé.
- Sélectionnez JSON , puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
- Enregistrez le fichier de clé sous le nom
ingestion-auth.jsondans le répertoire du collecteur Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonsous Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonsous Windows), ou mettez à jourcreds_file_pathdansconfig.yamlpour qu'il corresponde au chemin d'accès où vous l'enregistrez. - Accédez à IAM et administration > Paramètres , puis copiez le numéro de projet. Vous en aurez besoin pour la configuration de l'exportateur.
Option 2 : Télécharger le fichier d'authentification d'ingestion (ancienne version)
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres 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 où l'agent Bindplane sera installé.
Obtenir le numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM > Profil.
- 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 Linux en suivant les instructions ci-dessous.
Installation sous Linux
- Ouvrez un terminal avec des 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 obtenir d'autres options d'installation, consultez ce 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/opt/observiq-otel-collector/sous Linux. - Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple,
nanoouvi).
- Recherchez le fichier
Modifiez le fichier
config.yamlcomme suit :receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' 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: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'AIDE' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
- Remplacez
<LOCATION>par la région de votre instance Google SecOps (par exemple,us,europe, ouasia-southeast1). L'exportateur préfixechronicle.googleapis.comavec cette valeur. - Remplacez
<PROJECT_NUMBER>par le numéro de projet dans IAM et administration > Paramètres. - Remplacez
<CUSTOMER_ID>par le numéro client réel. - Mettez à jour
/path/to/ingestion-authentication-file.jsonavec le chemin d'accès au fichier où le fichier de clé du compte de service (option 1) a été enregistré à l'étape 1.
Ancien exportateur d'API d'ingestion
Si vous utilisez le fichier d'authentification d'ingestion de l'option 2, remplacez le bloc
exporterspar le code suivant. Définissezcreds_file_pathsur le chemin d'accès au fichier d'authentification d'ingestion. Si votre instance se trouve en dehors des États-Unis, remplacezmalachiteingestion-pa.googleapis.compar votre point de terminaison régional (par exemple,europe-malachiteingestion-pa.googleapis.com).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: 'AIDE' raw_log_field: body ingestion_labels:
Redémarrer l'agent Bindplane pour appliquer les modifications
Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :
sudo systemctl restart observiq-otel-collector
Configurer le transfert Syslog sur AIDE
Ouvrez le fichier de configuration AIDE :
sudo vi /etc/aide/aide.confAccédez à la section "Rapports".
Ajoutez la configuration suivante :
- report_level : saisissez
list_entries. - report_format : saisissez
json(pour AIDE 0.18+) ouplain. - report_url : saisissez
syslog:authpriv.
Exemple de configuration :
```ini report_level=list_entries report_format=json report_url=syslog:authpriv ```- report_level : saisissez
Enregistrez la configuration.
Configurez rsyslog pour transférer les journaux AIDE à l'agent Bindplane. Ouvrez la configuration rsyslog :
sudo vi /etc/rsyslog.d/aide-forward.confAjoutez la configuration suivante pour transférer les journaux de la fonctionnalité
authprivà l'agent Bindplane :authpriv.* @<BINDPLANE_AGENT_IP>:514- Remplacez
<BINDPLANE_AGENT_IP>par l'adresse IP de l'hôte de l'agent Bindplane. - Utilisez
@pour le transfert UDP ou@@pour le transfert TCP.
- Remplacez
Redémarrez rsyslog :
sudo systemctl restart rsyslogInitialisez la base de données AIDE s'il s'agit d'une nouvelle installation :
sudo aide --init sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.dbTestez la configuration :
sudo aide --checkConfigurez des vérifications automatisées à l'aide de cron :
sudo crontab -eAjoutez la ligne suivante pour exécuter AIDE tous les jours à 4h05 :
05 4 * * * root /usr/sbin/aide --check
Tableau de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
added_label |
principal.asset.attribute.labels |
Fusionné |
changed_label |
principal.asset.attribute.labels |
Fusionné |
old_acl_label |
principal.asset.attribute.labels |
Fusionné |
old_md5_label |
principal.asset.attribute.labels |
Fusionné |
old_perms_label |
principal.asset.attribute.labels |
Fusionné |
old_sha256_label |
principal.asset.attribute.labels |
Fusionné |
old_ts_label |
principal.asset.attribute.labels |
Fusionné |
removed_label |
principal.asset.attribute.labels |
Fusionné |
total_label |
principal.asset.attribute.labels |
Fusionné |
file_path |
principal.file.full_path |
Mappé directement |
path |
principal.file.full_path |
Mappé directement |
old_size |
principal.file.size |
Mappé directement |
host |
principal.hostname |
Mappé directement |
sr |
security_result |
Fusionné |
new_acl_label |
target.asset.attribute.labels |
Fusionné |
new_md5_label |
target.asset.attribute.labels |
Fusionné |
new_perms_label |
target.asset.attribute.labels |
Fusionné |
new_sha256_label |
target.asset.attribute.labels |
Fusionné |
new_ts_label |
target.asset.attribute.labels |
Fusionné |
path |
target.file.full_path |
Mappé directement |
new_size |
target.file.size |
Mappé directement |
| N/A | metadata.event_type |
Constante : GENERIC_EVENT |
| N/A | metadata.product_name |
Constante : AIDE |
| N/A | metadata.vendor_name |
Constante : AIDE |
| N/A | principal.application |
Constante : aide |
| N/A | principal.file.size |
Constante : sizedata |
| N/A | target.file.size |
Constante : sizedata_target |
total_files", "added_files", "removed_files", "changed_files", "old_timestamp", "old_perms", "old_sha256", "old_md5", and "old_acl |
principal.asset.attribute.labels |
Mappé à partir du journal des modifications |
new_timestamp", "new_perms", "new_sha256", "new_md5", and "new_acl |
target.asset.attribute.labels |
Mappé à partir du journal des modifications |
Journal des modifications
Consulter le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.