webew
Войти » Регистрация
 
Протоколы :: электронная почта

Борьба со спамом методом серых списков (greylisting)

21 августа 2008, 13:38

В статье описан greylisting: простой, но действенный способ борьбы со спамом на уровне протокола SMTP. Использование данного метода позволило сократить поток спама, поступающего на сервер webew.ru с тысяч до сотен писем в час.

Идея метода серых списков

Метод основан на протоколе SMTP и работает во время получения сообщения почтовым сервером от другого почтового сервера. В начале, рассмотрим пример. Я с помощью telnet попытаюсь выступить в роли сервера отправителя письма. Отправляемые команды отделены от полученного ответа отступом, комментарии на русском языке добавлены в протокол после решетки.

[rgbeast@inferno ~]$ telnet ns2.webew.ru 25   # подключаемся к почтовому серверу webew.ru
Trying 77.91.227.91...
Connected to ns2.webew.ru (77.91.227.91).
Escape character is '^]'.
220 ns2.webew.ru ESMTP Postfix
    EHLO inferno.localprovider   # Здравствуйте, я inferno.localprovider (сервер отправителя представляется)
250-ns2.webew.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
    MAIL FROM: user@example.com  # хочу отправить письмо от user@example.com
250 2.1.0 Ok   # хорошо, продолжайте
    RCPT TO: x@webew.ru  # письмо адресовано x@webew.ru
450 4.2.0 <x@webew.ru>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/webew.ru.html   # просим прощения, Вы в сером списке

Попытка отправить письмо не удалась, получена ошибка номер 450, которую отправитель должен понимать как "почтовый ящик временно недоступен, обратитесь позднее". Если отправитель представляет собой нормальный сервер, то он поймет ошибку правильно и повторит попытку через 15 минут. Спаммеры в массе не поддерживают протокол корректно и не повторяют попытку. Через некоторое время, мы повторяем отправку и получаем дружественный ответ:

[rgbeast@inferno ~]$ telnet ns2.webew.ru 25
Trying 77.91.227.91...
Connected to ns2.webew.ru (77.91.227.91).
Escape character is '^]'.
220 ns2.webew.ru ESMTP Postfix
    EHLO inferno.localprovider
250-ns2.webew.ru
.......
    MAIL FROM: user@example.com
250 2.1.0 Ok
    RCPT TO: x@webew.ru
250 2.1.5 Ok

Отметим, что сам отправитель письма не получает уведомления о попадании в серый список и не должен отправлять письмо повторно — обо всем позаботится его почтовый сервер. Временные ошибки можно увидеть в логе почтового сервера (часто /var/log/maillog).

Как работает алгоритм greylisting?

Классическая реализация основана на запоминании троек (e-mail отправителя, e-mail получателя, ip адрес сервера отправителя) при каждом получении письма. Если тройка встречается впервые, то сервер отвечает временным отказом (как если бы сервер временно не работал) и запоминает тройку. Через 15 минут, данная тройка станет разрешенной и сервер будет ее помнить какое-то время.

Преимущества алгоритма

  • Серый список — не черный и не белый список, нет писем, безусловно отклоняемых и нет писем, безусловно принимаемых. При использовании традиционных спам-фильтров, часть важных писем может попадать в спам без уведомления отправителя.
  • Метод на практике отсекает 90% спама.
  • Существуйте возможность задания белого списка серверов-отправителей.
  • Корректное письмо будет принято с вероятностью 100%, так как все почтовые серверы повторяют попытку отправки.
  • Отклонение письма происходит до того, как отправитель пришлет текст письма, что экономит ресурсы сервера и трафик.

Недостатки алгоритма

  • Письма от новых отправителей не приходят сразу, а задерживаются на 15 минут. Недостаток сглаживается тем, что последующие письма в рамках переписки задержаны не будут.
  • Спаммеры могут подстроиться и отправлять письма согласно протоколу. Такой спам не будет отфильтрован.

Установка postgrey для postfix

Для почтового сервера postfix, алгоритм серых списков реализован в рамках пакета Postgrey, доступного в исходных кодах и в виде пакетов для различных дистрибутивов Linux. Установка для CentOS 5 описана в CentOS Wiki.


© Все права на данную статью принадлежат порталу webew.ru. Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции.
Добавить комментарий
© 2008—2024 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100

Реклама: