2 votes

Enregistrer les informations d'authentification dans sendmail

Problème: la configuration par défaut de journalisation sendmail ne journalise pas par message les infos d'authentification dont j'ai besoin (c'est-à-dire que je veux savoir quel utilisateur/méthode d'authentification a été utilisé pour un certain identifiant de message). Suivant un conseil de cette entrée, j'ai obtenu les lignes cf suivantes :

LOCAL_CONFIG
Klog syslog
 # Cela fonctionne
HSubject: $>+LogSubject
 # cela ne fonctionne pas
HX-Authost: ${mail_host}
HX-Authost: $>+LogAuthAuthor

LOCAL_RULESETS

SLogSubject
R$* $: $(log Sujet: $1 authentifié par: $&{auth_type}, $&{auth_authen}, $&{auth_ssf}, $&{auth_author}, $&{mail_mailer}, $&{mail_host}, $&{mail_addr} $) $1

SLogAuthAuthor
R$* $: $(log Authentifié par: $1 $&{auth_type}, $&{auth_authen}, $&{auth_ssf}, $&{auth_author}, $&{mail_mailer}, $&{mail_host}, $&{mail_addr} $) $1

Le premier donne (dans maillog) :

sendmail[10814]: r2DEJl9P010814: Sujet:le Sujet.authentifié par:PLAIN,auser,0,,esmtp,example.com.,someone@example.com

Le second :

sendmail[10814]: r2DEJl9P010814: Authentifié par:example.com.,,,,esmtp,example.com.,auser@example.com

Il semble donc que les macro {auth_xxxx} soient vides lorsque la deuxième règle s'active... mais ce n'est pas le cas. En fait, je peux les journaliser si je les mets sur la ligne H à la place :

HX-Authost: ${mail_host} ${auth_type} ${auth_authen} ${auth_ssf} ${auth_author}
HX-Authost: $>+LogAuthAuthor1

Sauf que je ne veux pas faire ça car je serais en train de divulguer des informations d'authentification là où je veux simplement les journaliser. En fait, toute la solution est moche à pleurer, sans parler d'être horriblement bricolée, et je serais ravi d'en avoir une meilleure (qui ne commence pas par "changer MTA" - je suis tout à fait satisfait de sendmail)

Veuillez noter que l'élévation du LogLevel à 10 et plus (comme cela a été suggéré) semble ne pas suffire car les informations d'authentification sont journalisées une fois par session (c'est-à-dire à la connexion), alors que ce que je veux c'est les avoir dans le contexte du message.

Bien cordialement, alf

3voto

AnFi Points 5763

Vous pouvez créer des entrées de journal que vous souhaitez dans les règles check_eoh (fin des en-têtes) ou check_data (après la commande de données smtp).

LOCAL_RULESETS
Scheck_data
R$*    $: $(log Authenticated-by: $&{auth_type}, $&{auth_authen}, $&{auth_ssf}, $&{auth_author}, $&{mail_mailer}, $&{mail_host}, $&{mail_addr} $) $1

[Il devrait y avoir une TABULATION avant $:]
check_data reçoit en entrée number_of_recipients, check_eoh reçoit en entrée number_of_headers $| total_headers_bytes

check_mail serait un meilleur endroit mais FEATURE(delay_checks) le rend plus compliqué.

2voto

AnFi Points 5763

Change LogLevel to fit your needs e.g.

define(`confLOG_LEVEL', `14')dnl

http://answers.google.com/answers/threadview?id=398644 Q: Enregistrement de l'utilisateur authentifié sendmail.

En bref : Augmenter le LogLevel à 14


Le fichier RELEASE_NOTES dans la distribution de sendmail indique :

8.10.0/8.10.0   2000/03/01
[...]
  Enregistrer des informations de base sur les connexions authentifiées au LogLevel 10 ou supérieur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X