Registrando informações de autenticação no sendmail

2

Problema: a configuração de registro padrão do sendmail não registra informações de autenticação por mensagem que eu precisei (ou seja, eu quero saber qual usuário / authmethod foi usado para um determinado id de mensagem ). Seguindo uma dica de esta entrada , acabei com as seguintes linhas cf:

LOCAL_CONFIG
Klog syslog
 # This works
HSubject: $>+LogSubject
 # this does not
HX-Authost: ${mail_host}
HX-Authost: $>+LogAuthAuthor

LOCAL_RULESETS

SLogSubject
R$* $: $(log Subject: $1 authenticated-by: $&{auth_type}, $&{auth_authen}, $&{auth_ssf}, $&{auth_author}, $&{mail_mailer}, $&{mail_host}, $&{mail_addr} $) $1

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

O primeiro produz (em maillog):

sendmail[10814]: r2DEJl9P010814: Subject:the Subject.authenticated by:PLAIN,auser,0,,esmtp,example.com.,[email protected]

O segundo:

sendmail[10814]: r2DEJl9P010814: Authenticated-by:example.com.,,,,esmtp,example.com.,[email protected]

Parece, portanto, que a macro {auth_xxxx} está vazia quando a segunda regra é acionada ... mas não é. Na verdade eu posso registrá-los se eu colocá-los na linha H:

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

Exceto que eu não quero fazer isso porque eu estaria enviando informações de autenticação onde eu só quero registrá-las. Na verdade, toda a solução é coiote feio, para não mencionar terrivelmente claudicante, e eu gostaria de receber um melhor (um que não começa com "mudar MTA" -Estou perfeitamente feliz com o sendmail)

Por favor, note que aumentar LogLevel para 10 e acima (como foi sugerido) aparece para não cortá-lo porque as informações de autenticação são registradas uma vez por sessão (ou seja, no login), enquanto o que eu quero é tê-lo no contexto da mensagem. / p>

Felicidades, alf

    
por Alien Life Form 13.03.2013 / 15:33

2 respostas

3

Você pode criar entradas de log que deseja em check_eoh (fim dos cabeçalhos) ou check_data rulesets (após o comando smtp data).

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

[Deve haver uma TAB antes de $:]
check_data recebe como entrada number_of_recipients , check_eoh recebe como entrada number_of_headers $| total_headers_bytes

check_mail seria um lugar melhor, mas FEATURE(delay_checks) o torna mais complicado.

    
por 14.03.2013 / 14:54
2

Altere o LogLevel para atender às suas necessidades, por exemplo,

define('confLOG_LEVEL', '14')dnl

link Q: Registro do usuário autenticado do sendmail.

Resumindo: Aumente o LogLevel para 14

Arquivo

RELEASE_NOTES nos estados de distribuição do sendmail:

8.10.0/8.10.0   2000/03/01
[...]
  Log basic information about authenticated connections at LogLevel 10 or higher.
    
por 13.03.2013 / 20:03

Tags