воскресенье, 13 ноября 2011 г.

Postfix + Policyd политика для исходящей почты

(ОС: Debian 5.0, настраивалось на сервере с ISPmanager, но это не принципиально, работать будет везде)


в процессе инсталляции можно будет сразу создать БД mysql для policyd
apt-get install postfix-policyd
/etc/postfix/main.cf добавляем check_policy_service inet:127.0.0.1:10031 в самый конец параметра smtpd_recipient_restrictions
smtpd_recipient_restrictions = permit_sasl_authenticated, check_recipient_access hash:/etc/mail/access, permit_mynetworks, reject_unauth_destination, reject_unlisted_recipient, reject_unverified_recipient, check_policy_service inet:127.0.0.1:60000, check_policy_service inet:127.0.0.1:10031
/etc/postfix-policyd.conf выключаем всё (по дефолту включен только whitelisting) и приводим конфиг к примерно такому виду
SENDERTHROTTLE=1
SENDER_THROTTLE_SASL=1
SENDER_THROTTLE_HOST=0
QUOTA_EXCEEDED_TEMP_REJECT=1 # какую ошибку отдавать при истечении квоты (1=4xx  0=5xx)
SENDER_QUOTA_REJECTION="Quota Exceeded." # какое сообщение получит пользователь при превышении любой из квот
SENDER_SIZE_REJECTION="Message size too big." # сообщение при превышении максим.размера исходящего письма
SENDERMSGLIMIT=50 # кол-во исходящих писем которые может отправить пользователь до истечения SENDERTIMELIMIT
SENDERRCPTLIMIT=150 # кол-во получателей которым можно отправить письмо до истечения SENDERTIMELIMIT
SENDERQUOTALIMIT=250000000 # кол-во исходящей почты в мегабайтах которое может отправить пользователь до истечения SENDERTIMELIMIT (поддерживается максимум до 2Гб)
SENDERTIMELIMIT=2h # время после которого все счетчики сбрасываются обратно до нуля
SENDERMSGSIZE=10240000 # максимальный размер исходящего письма
SENDER_INACTIVE_EXPIRE=31d # время после которого все неактивные пользователи которые хранятся в базе данных будут удалены из нее (нулевое значение позволит хранить все записи)
invoke-rc.d postfix-policyd restart
Пользователи и статистическая информация о них постепенно добавляется в БД mysql (смотрим таблицу throttle) по мере отправки ими писем.
Таким образом можно контролировать кол-во и другие параметры исходящей почты, но только для тех пользователей которые авторизуются на сервере перед отправкой письма (по сути всех кто пытается отправить исходящее письмо через основной сетевой интерфейс почтового сервера).

Комментариев нет:

Отправить комментарий