Скрипт на perl
Скрипт должен по крону выполнять задание:
1) проверять лог postfix (maillog)
2) считать пользователей, который прошли авторизацию sasl и количество авторизаций за текущий день, а также за последние 10 минут.
Например:
[email protected] - 10
3) считать количество реципиентов, которым отправили письма внутренние пользователи (из внутренних доменов) за последние 10 минут
(20,30 - опционально). Например:
[email protected] - 100
[email protected] - 50
4) Сверять реципиентов, посчитанных из пункта 3 со списком доменов из другого файла или массива в этом же скрипте. Например
[email protected] - 20 (mail.ru), 30 (gmail.com), 50 (not listed)
5) В случае достижения предела определенных параметров, установленных переменными, выполнять внешнюю команду. Например
[email protected] - sasl (текущий день > 20 или last 10 min > 10) или (recepients per last
10 min > 130 и recepients in [gmail.com, yahoo.com]) или (recepients
per last 20 min > 160)
- Блокировать пользователя postfix
- отправить письмо на служебную почту со следующими данными;
1) учетная запись
2) количество sasl авторизаций за день / последние 10 минут
3) количество реципиентов за последние 10 минут
4) домены, в которые отправил пользователь письма за последние 10 минут
Возможно у вас есть уже готовое решение. Можно рассмотреть и его.