Почтовый фильтр SMC
Материал из AutoSPF.
Проект SMC milter развивается с 2003 года. По умолчанию фильтр использует технику «серых списков», или Greylisting, для блокирования нежелательной почты и набор работающих по оригинальным алгоритмам автоматических «белых списков» для определения легальной почты, которая будет доставлена без задержек. Присутствует возможность блокирования всей, не прошедшей проверку почты, поддержка SMTP авторизации. Начиная с версии 2.0 появилась поддержка Postfix, поддержка антивируса ClamAV (параметр clamcheck конфигурационного файла). Для определения «легальности» почты (верификации отправителя сообщения) используются алгоритмы AutoSPF и SPF.
Алгоритмы работы фильтра
По нашему мнению, почтовый сервер должен принимать почту только от тех пользователей, которые легально используют почтовые аккаунты своих почтовых серверов, но используемая на сегодняшний день реализация протокола SMTP не запрещает отправку почты с серверов, не имеющих отношение к указанному почтовому домену. В фильтре SMC неверифицированная почта может быть отвергнута или отправлена на обработку блокирующим алгоритмом фильтра. Как упомяналось выше, для блокирования нежелательной почты по умолчанию используется алгоритм «серых списков», или Greylisting. Этот алгоритм основан на проверке исполнения сервером функции отложенной доставки почты при получении «временной ошибки» сервера. Если почтовый сервер получателя отказывается принять письмо и сообщает о «временной ошибке», сервер отправителя обязан позже повторить попытку. Программное обеспечение для массовой рассылки почты в таких случаях обычно не пытается этого делать. Успешный результат проверки сохраняется на время определяемое параметром lifetime конфигурационного файла. Все последующие письма от того же отправителя тому же получателю, посланные через тот же сервер, будут приняты без задержки в течение этого времени. Настройка работы алгоритма осуществляется двумя следующими параметрами конфигурационного файла maxdelay и maxcount. Параметр maxdelay определяет максимальное время, в течение которого фильтр будет ждать повторного обращения к серверу. Если в течение этого времени такое повторное обращение было зарегистрировано, то счетчик удачных попыток будет увеличен на единицу, если нет — счетчик будет обнулен. Параметр maxcount определяет общее количество таких попыток после которых почта будет принята. В идеальном случае этот алгоритм задерживает только нежелательную почту, но в реальности это не так. Могут ошибочно отсеиваться сообщения роботов регистрации, рассылки с новостных сайтов и пр. если они используют нестандартные методы отправки почты. Задержки в доставке сообщений могут быть неприемлемы в случае срочной корреспонденции. Фильтр содержит набор автоматических «белых списков», которые позволяют избежать такой задержки или ошибки. Алгоритм AutoSPF это основной из автоматических «белых списков» фильтра.
Другой белый список реализован AutoSWL (Auto Sender White List) алгоритмом фильтра. Это очень простой алгоритм. Отправитель почтового контакта - пары «отправитель-получатель» считается аутентифицированным (занесенным в «белый список» конкретного получателя), если были зарегистрированы оба: исходящее сообщение (запрос), и входящее сообщение (ответ) этого контакта. Данные об «успешном» контакте сохраняется на время определяемое параметром lifetime конфигурационного файла. Сообщения от таких аутентифицированных отправителей больше не будут задерживаться предыдущим алгоритмом, даже если не произошло успешной верификации отправителя. Таким образом, в процессе работы фильтр обучается не реагировать на активные контакты, т.е. если вы часто обмениваетесь с кем-либо сообщениями, то такие входящие сообщения будут пропускаться фильтром без дополнительной проверки.
Фильтр по умолчанию пропускает почту с локальных и зарезервированных адресов (127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 и.т.п.). Другие адреса, почту с которых необходимо принимать без дополнительных проверок можно указать в конфигурационном файле smc-milter.hosts, представляющему собой статический «белый список» фильтра. Ниже приведен пример содержимого этого файла:
# # SMC-milter hosts file # # Pass through the mail from the indicated IP addresses # or networks without any checks. # # lines preceded by a '#' are comments #---------------------------------------------------------------------- 12.107.209.244/32 # kernel.org 12.107.209.250/32 # sourceware.org 64.125.132.254/32 # collab.net 204.107.120.10/32 # Ameritrade 205.206.231.0/24 # securityfocus.com 209.132.176.174/32 # sourceware.org 213.136.52.31/32 # mysql.com
Почтовые заголовки
SMC фильтр помечает входящие сообщения следующим набором привычных и широко-используемых заголовков:
| Заголовок | Описание |
|---|---|
| X-Spam-Flag: | [YES/NO/WARN/PASS] |
| X-Spam-Report: | Сообщение системы, описывающее причину присвоения того или иного значения заголовка Spam-Flag. |
| X-Spam-Checker-Version: | SMC-milter [Версия программы] |
| X-Virus-Scanned: | Наименование антивирусной программы (если используется) |
Например:
X-Spam-Flag: NO X-Spam-Report: Host 195.206.40.177 is related to lust.icc.ru. X-Spam-Checker-Version: SMC-milter 2.0 X-Virus-Scanned: ClamAV using SMC-milter
Дополнительная информация
- http://milter.sourceforge.net/ SMC фильтр (официальная страница проекта);
- http://sourceforge.net/projects/milter/ SMC фильтр, проект на SourceForge.