Фильтрация спама с помощью "серых списков"
Принцип работы "серых списков"
Каждое обращение клиента или другого почтового хостинга к smtp-серверу начинается с представления клиента. Прежде чем начнется передача непосредственно письма, почтовый сервер уже знает о:
- IP-адресе клиента;
- Почтовом адресе отправителя (mail from:);
- Почтовом адресе получателя (rcpt to:)
Эта тройка называется конвертом, данные о каждом таком конверте хранятся в базе данных.
Возможны следующие ситуации, при проверке наличия конверта в базе данных.
1.Конверт отсутствует. В таком случае в базу заносится конверт с неким временем жизни, например, 8 часов и временем блокировки, например, 3 минуты. Клиенту отправляется snmp-ответ 421 (временный сбой). Корректно ведущий себя сервер-отправитель повторит попытку через некоторое время (обычно несколько минут) и так до тех пор, пока не отправит письмо или же пока письмо не устареет (обычно через 1 неделю).
2.Конверт присутствует в базе, но срок блокировки еще не прошел. Клиент снова получает ответ 421.
3.Конверт присутствует в базе и блокировка закончилась. В таком случае принимается содержимое письма, а срок жизни конверта продлевается, например, на месяц.
Время от времени конверты с прошедшим сроком жизни удаляются из базы. Различные реализации серых списков допускают создание конвертов-масок. Например, все конверты, чьи IP-адреса попадают в диапазон адресов доверенных сетей, таких как локальная сеть организации или же сервисы Gmail или Mail.ru автоматически разрешаются.
Достоинства и недостатки метода фильтрации спама
Достоинства:
- Серые списки на этапе обращения к серверу удаляют до 95% спама. В основном это письма от зомби-машин.
- Серые списки не создают большой вычислительной нагрузки в процессе фильтрации спама.
- Что бы Вы не написали в письме, если Вы отправляете это письмо как обычный отправитель, письмо всегда дойдет. Если письмо не доходит, в этом виноват не неправильно настроенный спам-фильтр, а отправитель.
Недостатки:
- Серые списки бессильны против спама, поступающего с полноценных почтовых серверов, таких как открытые релеи. Правда, они могут существенно испортить жизнь таким релеям из-за возрастающей нагрузки.
- При занесении конверта в базу первый раз возникает задержка. Как минимум это время блокировки конверта, а затем надо ждать, когда сервер снова начнет посылать письмо. В зависимости от настроек отправляющего сервера это время изменяется от нескольких минут до получаса и больше, что уже ненормально и создает неудобства при работе с электронной почтой.