Collecter les journaux AIDE (Advanced Intrusion Detection Environment)

Version de l'analyseur : 1.0

Compatible avec :

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.
  1. Connectez-vous à la Google Cloud console et sélectionnez le Google Cloud projet associé à votre instance Google SecOps.
  2. Accédez à IAM et administration > Comptes de service.
  3. Cliquez sur Créer un compte de service.
  4. 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).
  5. Cliquez sur Créer et continuer.
  6. Dans la section Autoriser ce compte de service à accéder au projet , cliquez sur Sélectionner un rôle , puis sélectionnez Éditeur Chronicle.
  7. Cliquez sur Continuer, puis sur OK.
  8. Cliquez sur le compte de service que vous avez créé, puis accédez à l'onglet Clés.
  9. Cliquez sur Ajouter une clé > Créer une clé.
  10. Sélectionnez JSON , puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
  11. Enregistrez le fichier de clé sous le nom ingestion-auth.json dans le répertoire du collecteur Bindplane (/opt/observiq-otel-collector/ingestion-auth.json sous Linux ou C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json sous Windows), ou mettez à jour creds_file_path dans config.yaml pour qu'il corresponde au chemin d'accès où vous l'enregistrez.
  12. 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)

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion.
  4. 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

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM > Profil.
  3. 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

  1. Ouvrez un terminal avec des 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 obtenir d'autres options d'installation, consultez ce 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 /opt/observiq-otel-collector/ sous Linux.
    • Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, nano ou vi).
  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:
        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, ou asia-southeast1). L'exportateur préfixe chronicle.googleapis.com avec 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.json avec 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 exporters par le code suivant. Définissez creds_file_path sur le chemin d'accès au fichier d'authentification d'ingestion. Si votre instance se trouve en dehors des États-Unis, remplacez malachiteingestion-pa.googleapis.com par 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

  1. Ouvrez le fichier de configuration AIDE :

    sudo vi /etc/aide/aide.conf
    
  2. Accédez à la section "Rapports".

  3. Ajoutez la configuration suivante :

    • report_level : saisissez list_entries.
    • report_format : saisissez json (pour AIDE 0.18+) ou plain.
    • report_url : saisissez syslog:authpriv.

    Exemple de configuration :

    ```ini
    report_level=list_entries
    report_format=json
    report_url=syslog:authpriv
    ```
    
  4. Enregistrez la configuration.

  5. Configurez rsyslog pour transférer les journaux AIDE à l'agent Bindplane. Ouvrez la configuration rsyslog :

    sudo vi /etc/rsyslog.d/aide-forward.conf
    
  6. Ajoutez 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.
  7. Redémarrez rsyslog :

    sudo systemctl restart rsyslog
    
  8. Initialisez 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.db
    
  9. Testez la configuration :

    sudo aide --check
    
  10. Configurez des vérifications automatisées à l'aide de cron :

    sudo crontab -e
    
  11. Ajoutez 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.