Me gustaría registrar la identificación del mensaje, la dirección IP del cliente y el remitente autenticado con cada transacción SMTP, más o menos como se explica aquí:
Registro de información de autenticación en sendmail
Implementé la solución, sin embargo, registra todas las transacciones, no solo las que utilizaron autenticación. Preferiría registrar solo las entradas en las que se utilizó autenticación.
Mi objetivo es poder detectar cuentas de correo electrónico fraudulentas mediante el análisis de registros.
Las entradas que me gustaría conservar se ven así:
Sep 23 06:31:40 mail sm-mta[20443]: r8NDVdM3020443: Authenticated-by:LOGIN,username,0,,[192.168.1.10]
A las entradas que quiero omitir les falta el mecanismo y el nombre de usuario (,,,,):
Sep 23 06:31:44 mail sm-mta[20475]: r8NDVh3m020475: Authenticated-by:,,,,messagent.computerdealernews.com.
Lo que busco principalmente es la identificación del mensaje, el nombre de usuario de autenticación y la dirección IP del remitente, en una sola línea. No parece tener la dirección IP correcta.
Si pudiera indicarme alguna información de referencia sobre esto, sería de ayuda.
Configuración de trabajo
Esta configuración imprime lo que quiero.
Scheck_data
R$* $: <$&{auth_authen}> $1
R<$+> $* $: <$1> $2 $(log Authenticated-by: $&{auth_type}, $&{auth_authen}, $&{client_addr}, $&{f} $)
R<$*> $* $: $2
Encontré client_addr y otras macros en unSitio de envío de correo de IBM.
Gracias.
Respuesta1
El siguiente código debería generar entradas de registro solo cuando ${auth_authen} no esté vacío.
ADVERTENCIA:Poner pestañas (\t) antes de $: [no pude hacerlo]
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