Collecter les journaux système Linux auditd et Unix

Compatible avec:

Ce document explique comment collecter les journaux système Unix et le daemon d'audit (auditd), et comment utiliser le transpondeur Google SecOps pour ingérer les journaux dans Google SecOps.

Les procédures décrites dans ce document ont été testées sur Debian 11.7 et Ubuntu 22.04 LTS (Jammy Jellyfish).

Collecter des journaux à partir d'auditd et de syslog

Vous pouvez configurer les hôtes Linux pour qu'ils envoient des journaux auditd à un transfert Google SecOps à l'aide de rsyslog.

  1. Déployez le daemon d'audit et le framework de distribution d'audit en exécutant la commande suivante. Si vous avez déjà déployé le daemon et le framework, vous pouvez ignorer cette étape.

    apt-get install auditd audispd-plugins
    
  2. Pour activer la journalisation de toutes les commandes, y compris l'utilisateur et la racine, ajoutez les lignes suivantes à /etc/audit/rules.d/audit.rules:

    -a exit,always -F arch=b64 -S execve
    -a exit,always -F arch=b32 -S execve
    
  3. Redémarrez auditd en exécutant la commande suivante:

    service auditd restart
    

Configurer le transfert Google SecOps pour auditd

Sur le forwarder Google SecOps, spécifiez le type de données suivant:

  - syslog:
    common:
      enabled: true
      data_type: AUDITD
      batch_n_seconds:
      batch_n_bytes:
    tcp_address:
    connection_timeout_sec:

Pour en savoir plus, consultez Installer et configurer le forwarder Google SecOps sur Linux.

Configurer syslog

  1. Vérifiez que les paramètres du fichier /etc/audisp/plugins.d/syslog.conf correspondent aux valeurs suivantes:

    active = yes
    direction = out
    path = /sbin/audisp-syslog
    type = always
    args = LOG_LOCAL6
    format = string
    
  2. Modifiez ou créez le fichier /etc/rsyslog.d/50-default.conf, puis ajoutez la ligne suivante à la fin du fichier:

    local6.* @@FORWARDER_IP:PORT
    

    Remplacez FORWARDER_IP et PORT par l'adresse IP et le port de votre forwarder. La première colonne indique les journaux envoyés depuis /var/log via rsyslog. Le @@ de la deuxième colonne indique que TCP est utilisé pour envoyer le message. Pour utiliser UDP, utilisez un @.

  3. Pour désactiver la journalisation locale dans syslog, configurez rsyslog en ajoutant local6.none à la ligne qui configure ce qui est journalisé dans le journal local. Le fichier est différent pour chaque OS. Pour Debian, le fichier est /etc/rsyslog.conf, et pour Ubuntu, il s'agit de /etc/rsyslog.d/50-default.conf:

    *.*;local6.none;auth,authpriv.none              -/var/log/syslog
    
  4. Redémarrez les services suivants:

    service auditd restart
    service rsyslog restart
    

Collecter les journaux des systèmes Unix

  1. Créez ou modifiez le fichier /etc/rsyslog.d/50-default.conf, puis ajoutez la ligne suivante à la fin du fichier:

    *.*   @@FORWARDER_IP:PORT
    

    Remplacez FORWARDER_IP et PORT par l'adresse IP de votre forwarder. La première colonne indique les journaux envoyés depuis /var/log via rsyslog. Le @@ dans la deuxième colonne indique que TCP est utilisé pour envoyer le message. Pour utiliser UDP, utilisez un @.

  2. Exécutez la commande suivante pour redémarrer le daemon et charger la nouvelle configuration:

    sudo service rsyslog restart
    

Configurer le transpondeur Google SecOps pour les journaux Unix

Sur le forwarder Google SecOps, spécifiez le type de données suivant:

  - syslog:
    common:
      enabled: true
      data_type: NIX_SYSTEM
      batch_n_seconds:
      batch_n_bytes:
    tcp_address:
    connection_timeout_sec:

Pour en savoir plus, consultez Installer et configurer le forwarder Google SecOps sur Linux.

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