Configurer Rsyslog pour Samba-AD

Dans la documentation ci-après, on configure le transport en mode TCP au lieu de UDP. C’est plus fiable pour le transport, mais plus consommateur en ressources.

Le chiffrage de la connexion n’est pas abordé dans cette documentation.

Note

les paquets RPM Samba ne sont pas compilés avec le support rsyslog direct. Il faut alors configurer rsyslog pour surveiller les logs de Samba.

Sur la machine à auditer

Nouveau dans la version 4.10.

  • Ajouter au fichier /etc/samba/smb.conf :

    log level = 1 auth_json_audit:3@/var/log/samba/samba_audit.log
    
  • Créer le fichier /etc/rsyslog.d/send_samba.conf :

    module(load="imfile" PollingInterval="10") #needs to be done just once
    
    input(type="imfile"
          File="/var/log/samba/samba_audit.log"
          Tag="samba_auth"
          Severity="info"
          Facility="auth")
    
    if ($syslogtag == "samba_auth") then {
        action(type="omfwd" target="143.126.200.167" port="514" protocol="tcp"
               action.resumeRetryCount="100"
               queue.type="linkedList" queue.size="10000")
    }
    
  • Relancer rsyslog

    systemctl restart rsyslog
    

Sur la machine qui concentre les logs

  • Créer le répertoire de log samba s’il n’existe pas encore :

    mkdir -p /var/log/samba
    
  • Créer le fichier de configuration rsyslog /etc/rsyslog.d/recv_samba.conf :

    # Provides TCP syslog reception
    $ModLoad imtcp
    $InputTCPServerRun 514
    
    if ($syslogtag == "samba_auth")  then /var/log/samba/audit_auth.log
    
  • Puis relancer le service rsyslog :

    systemctl restart rsyslog