Я хотел бы регистрировать идентификатор сообщения, IP-адрес клиента и аутентифицированного отправителя для каждой SMTP-транзакции, как описано здесь:
Запись информации об авторизации в sendmail
Я реализовал решение, однако оно регистрирует все транзакции, а не только те, которые использовали аутентификацию. Я бы предпочел регистрировать только те записи, где использовалась аутентификация.
Моя цель - иметь возможность обнаруживать фишинговые учетные записи электронной почты с помощью анализа журналов.
Записи, которые я хотел бы сохранить, выглядели так:
Sep 23 06:31:40 mail sm-mta[20443]: r8NDVdM3020443: Authenticated-by:LOGIN,username,0,,[192.168.1.10]
В записях, которые я хочу пропустить, отсутствует механизм и имя пользователя (,,,,):
Sep 23 06:31:44 mail sm-mta[20475]: r8NDVh3m020475: Authenticated-by:,,,,messagent.computerdealernews.com.
В основном я ищу идентификатор сообщения, имя пользователя auth и IP-адрес отправителя в одной строке. Кажется, у него неправильный IP-адрес.
Если бы вы могли указать мне на какую-либо справочную информацию по этому поводу, это помогло бы.
Эта конфигурация распечатывает то, что я хочу.
Scheck_data
R$* $: <$&{auth_authen}> $1
R<$+> $* $: <$1> $2 $(log Authenticated-by: $&{auth_type}, $&{auth_authen}, $&{client_addr}, $&{f} $)
R<$*> $* $: $2
Я нашел client_addr и другие макросы на Сайт IBM sendmail.
Спасибо.
Приведенный ниже код должен генерировать записи журнала только тогда, когда $ {auth_authen} не пуст.
ПРЕДУПРЕЖДЕНИЕ: Поместите табуляции (\ t) перед $: [У меня не получилось]
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