Статья давно не обновлялась, поэтому информация могла устареть.
Greylisting - фильтр входящего спама. Принцип работы greylisting'а (серых списков) основан на том, что принимающий сервер не сразу принимает приходящее письмо, а сначала даёт ответ "Я сейчас занят, повторите отправку чуть позже". А большинство спамерских механизмов доставки не утруждают себя повторными отправлениями почты, в отличии от нормальных сервисов, которые вновь и вновь, пытаются доставить письмо отправителю.
Проверьте какой SMTP-сервер установлен у вас и есть ли панель ISPmanager и переходите к соответствующему пункту инструкции.
Если у вас в качестве SMTP-сервера установлен sendmail, тогда для работы серых списков нужно установить milter-greylist.
Если же в качестве SMTP-сервера используется exim или postfix, то в качестве фильтра спама используется postgrey.
Установка и настройка доступна средствами панели управления сервером ISPmanager.
Одним из недостатков метода является возможность возникновения задержки доставки почты от 5 минут и более, в зависимости от настроек сервера отправителя.
Содержание |
ISPmanager 5
- заходим в ISPmanager - раздел "Настройки" - модуль "Возможности"
- выделяем строку 'Почтовый сервер (SMTP/POP3/IMAP)'
- нажимаем вверху кнопку "Изменить"
- ставим галочку напротив поля "Greylisting (exim)"
- жмём кнопку "Применить изменения"
- обновляем страницу панели в браузере, нажав Ctrl+R (чтобы появился пункт для настройки грейлистинга)
Настраивать правила для фильтра можно в ISPmanager - раздел "Защита от спама" - модуль "Белый список (для Greylisting)"
Установка вручную
Внимание! При использовании ISPmanager 5 версии не устанавливайте ПО вручную, чтобы панель могла корректно с ним работать!
CentOS
sendmail
Предварительно устанавливаем необходимые пакеты:
yum install sendmail-milter sendmail-cf
Скачиваем RPM-пакет и ставим его:
wget "http://repoforge.eecs.wsu.edu/redhat/el6/en/x86_64/rpmforge/RPMS/milter-greylist-4.2.7-1.el6.rf.x86_64.rpm" rpm -Uhv milter-greylist-4.2.7-1.el6.rf.x86_64.rpm
В конец файла /etc/mail/sendmail.mc добавляем это:
INPUT_MAIL_FILTER(`greylist',`S=local:/var/milter-greylist/milter-greylist.sock')dnl define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')dnl define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl define(`confMILTER_MACROS_ENVRCPT', `{greylist}')dnl
Пересобираем конфигурацию sendmail и перезапускаем его:
cd /etc/mail && make /etc/init.d/sendmail restart
Запускаем milter-greylist:
/etc/init.d/milter-greylist restart
Добавляем в автозагрузку:
chkconfig --add milter-greylist
Файл конфигурации milter-greylist расположен здесь:
/etc/mail/greylist.conf
Настройка Greylisting
Открываем на редактирование файл конфигурации. В зависимости от ОС он может быть по одному из следующих путей:
- /etc/mail/greylist.conf
- /etc/milter-greylist/greylist.conf
- /usr/local/etc/mail/greylist.conf
Удаляем такие строки:
List of users that want greylisting list "grey users" rcpt { \ [email protected] \ [email protected] \ [email protected] \ }
ниже добавляем:
list "wdomain" domain { \ mydomain.ru \ }
вместо mydomain.ru пишем свой домен
Ищем
acl whitelist list "my network" acl whitelist list "broken mta"
Ниже добавляем:
acl whitelist domain donpac.ru acl whitelist domain rostel.ru acl whitelist domain mail.ru acl whitelist domain rambler.ru acl whitelist domain yandex.ru acl whitelist domain freebsd.org acl whitelist domain mydomain.ru acl whitelist domain gmail.com
Ищем
acl greylist list "grey users" delay 30m autowhite 3d
Меняем на:
acl greylist list "wdomain" delay 15m autowhite 3d
Перезапускаем:
/etc/init.d/milter-greylist restart