LINUX.ORG.RU
ФорумAdmin

Фильтр лога postfix по «Host not found» и отчет

 ,


0

1

Предисловие:
Есть «одаренные» админы почтовых серверов, которые в заголовке HELO указывают хрен знамо что. Таких мало, но как оказалось не только наши, но и америкосы так болеют.
В результате почтовик их шлёт куда подальше как спамеров, по сути:
mail postfix/smtpd: NOQUEUE: reject: RCPT 450 4.7.1 Helo command rejected: Host not found;

Задача:
Выявить этих нерадивых без строк с явным спамом, хотя бы раз в сутки.

Что придумал:
1) Фильтруем лог по «Helo command rejected: Host not found»
2) В найденном фильтр по дате «$(date +»%b %d")"
3) В оставшемся удаляем строки с «unknown» т.к. ip адреса без А записей это точно спам
4) В файл и на мыло

cat /var/log/mail.log | grep "Helo command rejected: Host not found" | grep "$(date +"%b %d")" |  grep -v -e "unknown" > /home/user/mail_grep.log
(echo "Subject:mail_grep $(date +"%Y %b %d %R:%S")"; cat /home/user/mail_grep.log) | sendmail root


Вопросы:
Может есть более красивое решение? Каковы мои ошибки/недочеты? Предложения? :)

первый cat лишний. Можно сразу через grep.

snaf ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.