The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Серые списки: эффективная фильтрация спама. (mail spam greylist)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: mail, spam, greylist,  (найти похожие документы)
From: Сергей Сидорин <sergey.sidorin@novsu.ru.> Newsgroups: email Date: Mon, 12 Oct 2008 17:02:14 +0000 (UTC) Subject: Серые списки: эффективная фильтрация спама. На сегодняшний день существует несколько основных приемов фильтрации спама. Основные: контекстная фильтрация и фильтрация по конверту (envelope). Контекстная фильтрация заключается в анализе содержимого и заголовков письма, обнаружении знакомых фрагментов текста, и вынесении вердикта, насколько процентов данное письмо является спамом. Все, что выше какой-либо отметки, удаляется. К таким методам относится, например, Байесова фильтрация. У метода контекстной фильтрации помимо неоспоримых достоинств есть определенные недостатки, такие как: 1.Не всегда можно принять верное решение по содержимому письма. Например, Вы пересылаете товарищу письмо о дешевых копиях дорогих часов, предварительно сообщив об этом, и в данном случае это не является спамом, не смотря на то, что содержимое самое что ни на есть рекламное. 2.При установке контекстного фильтра на сервере можно столкнуться с проблемой, когда у разных пользователей разные взгляды на спам. 3.Анализ содержимого письма является довольно таки ресурсоемкой задачей. Учитывая, что сейчас рассылки спама ведутся волнами, то во время такого "прилива" сервер может надолго уйти в себя. 4.Ложные срабатывания. Любой контекстный фильтр ошибается. Если фильтр признает "плохое" письмо "хорошим" - это еще полбеды. А вот если "хорошее" письмо сервером удаляется - это действительно беда. Другой метод, который может выступать как и альтернатива и дополнение к контекстной фильтрации - "серые списки" (greylisting). Что такое серые списки? Каждое обращение клиента или другого сервера к smtp-серверу начинается с представления клиента. Прежде чем начнется передача самого письма, сервер уже знает о: 1.IP-адресе клиента; 2.Почтовом адресе отправителя (mail from:); 3.Почтовом адресе получателя (rcpt to:). Эта тройка называется конвертом. Данные о всех конвертах хранятся в базе данных. Возможны следующие ситуации, при проверке наличия конверта в базе данных. 1.Конверт отсутствует. В таком случае в базу заносится конверт с неким временем жизни, например, 8 часов и временем блокировки, например, 3 минуты. Клиенту отправляется snmp-ответ 421 (временный сбой). Корректно ведущий себя сервер-отправитель повторит попытку через некоторое время (обычно несколько минут) и так до тех пор, пока не отправит письмо или же пока письмо не устареет (обычно через 1 неделю). 2.Конверт присутствует в базе, но срок блокировки еще не прошел. Клиент снова получает ответ 421. 3.Конверт присутствует в базе и блокировка закончилась. В таком случае принимается содержимое письма, а срок жизни конверта продлевается, например, на месяц. Периодически конверты с прошедшим сроком жизни удаляются из базы. Различные реализации серых списков допускают создание конвертов-масок. Например, все конверты, чьи IP-адреса попадают в диапазон адресов доверенных сетей, таких как локальная сеть организации или же сервисы Gmail или Mail.ru автоматически разрешаются. Рассмотрим достоинства и недостатки серых списков. Достоинства: 1.Серые списки на этапе обращения к серверу удаляют по моим оценкам до 95% спама. В основном это письма от зомби-машин. 2.Серые списки не создают большой вычислительной нагрузки. 3.Что бы Вы не написали в письме, если Вы отправляете это письмо как обычный отправитель, письмо всегда дойдет. Если письмо не доходит, в этом виноват не принимающий сервер с серыми списками, а отправитель. Недостатки: 1.Серые списки бессильны против спама, поступающего с полноценных почтовых серверов, таких как открытые релеи. Правда, они могут существенно испортить жизнь таким релеям из-за возрастающей нагрузки. 2.При занесении конверта в базу первый раз возникает задержка. Как минимум это время блокировки конверта, а затем надо ждать, когда сервер снова начнет посылать письмо. В зависимости от настроек отправляющего сервера это время изменяется от нескольких минут (что нормально) до получаса и больше (не нормально). Реализация. Существуют различные реализации серых списков. У меня используются серые списки qmail-toaster. Подробности инсталляции приводить не буду, Google в помощь. Практически к любому более-менее известному MTA можно найти реализацию серых списков. Усовершенствования. К сожалению, прогресс в отношении спам-рассылок не стоит на месте, и спаммеры научили зомби-неты рассылать письма повторно через несколько минут. Для этого я внес некоторые изменения в работу серых списков. 1.Серые списки по-прежнему ставят новые конверты в очередь на три минуты. 2.В течение этих трех минут, пока не прошло время блокировки конверта, выполняется дополнительный скрипт, который оценивает IP-адреса отправителей на их "правильность" и в зависимости от принятого решения либо продлевает блокировку конвертов на несколько часов, либо оставляет все как есть. Критерии блокировки: 1. Чрезмерная активность. Если в течение трех минут от IP-адреса создано, скажем, более 100 конвертов, то это активно работающий спам-хост. 2. Отсутствие обратного адреса (reverse dns). Уважающие себя почтовые сервера имеют грамотно прописанные обратные адреса. 3. Двойная проверка обратного адреса: Ip-address != ip-address(reverse-dns(ip-address)). 4. Наличие в обратном адресе записей типа dialap-129.provider.ru, host-10.20.30.40-provider.ru и так далее. 5. Националистический метод. Принадлежность обратного адреса национальным доменам .cn, .kr, .in, .tw и так далее. 6.Проверка IP-адреса по геотаргетингу. Возможно использование и других блокировок. Данный подход значительно уменьшает количество запросов обратных адресов по сравнению с тем, если бы обратный адрес проверялся при каждом новом smtp-сеансе. Такая дополнительная проверка конвертов никак не сказывается на приеме почты от крупных почтовых отправителей, на приеме рассылок и в то же время практически полностью останавливает поток спама от спам-ботов. С оставшимися незакрытыми релеями можно или смириться или внести их конверты в черный список - запись с временем жизни и временем блокировки где-то в далеком будущем. В результате использования серых списков с дополнительной проверкой я добился существенного снижения загрузки почтового сервера, повышения устойчивости к спам-атакам и улучшения качества обслуживания клиентов.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, фтщтшь (?), 00:27, 18/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мда... масло бывает масляное...
     
     
  • 2.9, charon (ok), 11:06, 20/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    ничего более умного от писателя с таким ником ожидать не приходится
     

  • 1.2, DrNo (??), 00:41, 18/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >1.IP-адресе клиента;
    >2.Почтовом адресе отправителя (mail from:);
    >3.Почтовом адресе получателя (rcpt to:).
    >Эта тройка называется конвертом.

    FYI: эта тройка всегда называлась кортежем, а конверт это немного другое.

    ЗЫ А вообще, дейсвительно, маслянисто

     
  • 1.3, Trueinq (?), 01:22, 18/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >snmp-ответ 421

    наверное, "smtp-ответ 451" ? и еще где-то заменить "421" на "451".

     
     
  • 2.4, Andrey Mitrofanov (?), 10:06, 18/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    ССылка "Исправить" под статьёй??
     

  • 1.5, Аноним (-), 21:34, 18/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Еще один минус - наличие неккоректно работающих "правильных" серверов. У меня были случаи когда пять повторных попыток отослать письмо происходили в течении 1 минуты, после чего попыток больше не было, или повторной отправки не было вовсе.
     
  • 1.6, Zerot (?), 06:20, 19/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    думаю, что серые списки - только часть, нужно строить комплексное решение. См., например, мою статью на
    http://www.ourorbits.org/itview/articles/mailsystem.shtml
     
  • 1.7, AdVv (??), 01:43, 20/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Смотреть не нужно. Статья из серии "У нас есть такие приборы, но мы вам про них не расскажем !"
     
     
  • 2.10, Zerot (?), 11:15, 20/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    неправда ваша
    .
    статья из серии - вот такие кубики в такой последовательностьи дают такой результат
    .
    писал я ее именно для имеющих навык с UNIX IT специалистов, которые конкретную реализацию каждого кубика вытащат из множества доступных в Инете вариантов под себя - именно как введение в понятия (ну не все сразу рождаются с опытом реализации почтовых систем)
    .
    те, кто разработать и реализовать не могут сами - из множества готовых open source кубиков - при заинтересованности пусть найдут умельца
    .
    лядь, парни. как же просто обсирать все подряд отдельным личностям
     
  • 2.11, zerot (??), 22:18, 20/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Однако несмотря на хамство AdVv, нашел время посмотреть на статью еще раз и "причесать" ее. внеся дополнения за прошедшие три года. В таком варианте она несомненно более полезна как пример комплексного почтовика

    всем удачи

     
  • 2.12, zerot (??), 22:25, 20/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    также на днях постараюсь обновить демонстрационную статистику
     
  • 2.13, zerot (ok), 12:25, 25/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    обновил демонстрационную статистику в статье
     

  • 1.8, _Kuzmich (??), 07:20, 20/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >1. Чрезмерная активность. Если в течение трех минут от IP-адреса создано, скажем, более 100 конвертов, то это активно работающий спам-хост.

    Это subscribe.ru вашим юзерам рассылку шлет.

     
     
  • 2.14, KOT (??), 09:53, 28/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Это subscribe.ru вашим юзерам рассылку шлет.

    Сабскрайб замечательно проходит проверку - проверено опытным путем.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру