Registrando informações de autenticação no sendmail - Follow up

1

Gostaria de registrar o ID da mensagem, o endereço IP do cliente & remetente autenticado com cada transação SMTP, como discutido aqui:

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

Eu implementei a solução, no entanto, ela registra todas as transações, não apenas aquelas que usavam autenticação. Eu preferiria registrar apenas as entradas onde a autenticação foi usada.

Meu objetivo é conseguir detectar contas de e-mail com phishing por meio de análise de log.

As entradas que gostaria de manter são assim:

Sep 23 06:31:40 mail sm-mta[20443]: r8NDVdM3020443: Authenticated-by:LOGIN,username,0,,[192.168.1.10]

As entradas que desejo pular estão sem o mecanismo e o nome de usuário (,):

Sep 23 06:31:44 mail sm-mta[20475]: r8NDVh3m020475: Authenticated-by:,,,,messagent.computerdealernews.com.

O que estou procurando principalmente é o ID da mensagem, o nome de usuário da autenticação e o endereço IP do remetente, em uma linha. Não parece ter o endereço IP correto.

Se você pudesse me indicar qualquer informação de referência sobre isso, isso ajudaria.

Configuração de trabalho

Esta configuração imprime o que eu quero.

Scheck_data
R$* $: <$&{auth_authen}> $1
R<$+> $*    $: <$1> $2 $(log Authenticated-by: $&{auth_type}, $&{auth_authen}, $&{client_addr}, $&{f} $)
R<$*> $*    $: $2

Eu encontrei o client_addr e outras macros em um Site do sendmail da IBM .

Obrigado.

    
por KIsmay 09.09.2013 / 23:27

1 resposta

1

O código abaixo deve gerar entradas de registro apenas quando $ {auth_authen} não estiver vazio.
AVISO: Coloque tabulações (\ t) antes de $: [Eu não pude fazê-lo]

LOCAL_RULESETS
Scheck_data
R$*       $: <$&{auth_authen}> $1
R<$+> $*  $: <$1> $2 $(log Authenticated-by: $&{auth_type}, $&{auth_authen}, $&{auth_ssf}, $&{auth_author}, $&{mail_mailer}, $&{mail_host}, $&{mail_addr} $)
R<$*> $*  $: $2
    
por 10.09.2013 / 17:35