Серые   списки:   Мой   администратор   сказал    мне    не разговарить с незнакомцами

Серые  списки  в   основном  состоят  из  интерпретации  текущих  стандартов  SMTP  и

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

режиме. В отличии от легитимных отправителей  почты, спамеры не считают  важным любое индивидуальное  сообщение которое они отправляют.  В целом,  это  означает, что типовое  ПО отправляющее  спам, или соответствующее  вредоносное  ПО не занимаются корректной обработкой статусных кодов  SMTP.  И это мы можем использовать  в  своих целях, как было предложено Эваном Харрисом в его докладе названом "Следующий шаг в войне со спамом: Серые списки", опубликованым в 2003 году3.

Харрис отметил, что когда взломаный  компьютер используется для  отправки  спама, приложение отправитель производит только отправку, без проверки результов или кодов возврата.   Реальная  реализация  SMTP   интерпретирует  коды  возврата   и  прозводит соответствующие  действия,  а  реальный почтовый  сервер  повторит  попытку отправки, если  первая  попытка  не  увенчалась  успехом  из-за  ошибки.  В  своей  статье,  Харрис изложил практические подходы:

•     при  первом   контакте  с  SMTP  ранее  неизвестного   партнёра  не   принимать электронную почту с первой попытки доставки, а вместо этого ответить статусным кодом информирующим о временно  локальной  проблеме, и сохранить IP адрес отправителя для дальнейшего использования.

•     если отправка  повторяется  немедленно, вернуть,  как и прежде,  статусный код временной проблемы.

•     если отправитель, повторяет отправку после некоторого установленного минимума времени     (например  1  час),  но  не  более  максимального  периода  ожидания (например 4-х часов),  принять сообщение, и  записать IP адрес отправителя  в белый список.

Такова сущность серых списков. И к счастью, вы можете настроить и сохранить серые списки spamd на шлюзе оборудованном PF.

(Вот такая паранойя в самой жестокой форме, и заметьте вполне актуальная – п.п.).

Установка spamd в режим серых списков                              Возможность  использования  серых  списков  появилась  в   OpenBSD  3.5.  Начиная  с OpenBSD 4.1, spamd использует режим серых списков  по  умолчанию. В режиме серых списков  по умолчанию, таблица spamd  используемая для черных списков,  описанных в предыдущем разделе,  становится  избыточной. Вы всё  ещё можете использовать  серые списки, но  spamd будет использовать  сочетание частных структур данных для данных чёрных  списков  и  базу  данных  spamdb  для  хранения  данных  связанных  с  серыми списками. Типовой набор правил для spamd в  режиме по умолчанию выглядит примерно

так:

table <spamd-white> persist

table <nospamd> persist file "/etc/mail/nospamd" pass in log on egress proto tcp to port smtp \

rdr-to 127.0.0.1 port spamd

pass in log on egress proto tcp from <nospamd> to port smtp pass in log on egress proto tcp from <spamd-white> to port smtp pass out log on egress proto tcp to port smtp

Сюда включены  необходимые правила  pass, позволяющие  поток легитимной  почты из вашей  сети  в   пункт  назначения.  Таблица  <spamd-white>  является  белым  списком, который ведётся spamd. Хосты в  таблице <spamd-white> предварительно прошли серые списки, а почте с этих машин позволено проходить к реальным почтовым серверам или интерфейсам фильтрации  контента. Кроме того, таблица <nospamd> используется для загрузки  адресов   хостов,   которые  вы   не  желаете  подвергать   обработке  spamd,  а соответствующие правила pass гарантируют прохождение SMTP трафика от этих хостов.

В вашей сети, вы можете ужесточить эти правила для передачи трафика SMTP только к или с хостов, которым разрешено отправлять и получать почту через SMTP. Мы вернёмся к таблице  <nospamd>  в   разделе  "Обработка  узлов  которые  плохо  рабтают  с  серыми списками", на странице 102.

3.  Оригинал работы Харриса и ряд других полезных статей и ресурсов можно найти по адресу http://www.greylisting.org/.

Эквивалент правил для синтаксиса pre-OpenBSD 4.7:

table <spamd-white> persist

table <nospamd> persist file "/etc/mail/nospamd" rdr pass in log on egress proto tcp to port smtp \

-> 127.0.0.1 port spamd

pass in log on egress proto tcp from <nospamd> to port smtp pass in log on egress proto tcp from <spamd-white> to port smtp pass out log on egress proto tcp to port smtp

ВРЕЗКА КАК РАБОТАЮТ СЕРЫЕ СПИСКИ

Большое число  разработок было  направлено  на  улучшение работы  основных  сервисов,  например  таких  как SMTP. С практической точки зрения, это означает что мы можем получить полные данные о всём процессе доставки сообщений SMTP. Именно по этой причине, мы, в конечном счёте, можем полагаться на серые списки получая почту от определённых почтовых серверов. Текущий стандарт передачи электронной почты в сети Интернет определяется RFC 5321.* Вот несколько отрывков из раздела 4.5.4.1 "Стратегия отправки":

[В типовых  системах, программа компоновки  сообщения имеет иной способ запроса  немедленной обработки  исходящей почты, а почта, которая не может быть отправлена  немедленно, должна помещаться в  очередь и  периодически пытаться отправиться. Отправитель обязан делать паузу перед повторной  попыткой оправки  сообщения адресату, если предыдущая попытка не удалась. в целом, интервалы повтора ДОЛЖНЫ быть не менее 30 минут, однако будет полезна и более сложная стратегия периодичности, в  случае если клиент SMTP  может определить причину невозможности  доставки.  Попытки будут продолжаться вплоть до передачи сообщения или отказа отправителя: отказ оправителя обычно составляет период 4-5 дней. Доставка электронной почты является процессом совместных усисилий и RFC чётко регламентирует, что, ели сайт, на который вы  пытаетесь отправить почту, информирует о том, что не может принять сообщение в  данный момент, ваша  обязанность (установленая  требованием)  повторить  отправку  несколько  позже,  дав  возможность  принимающему  серверу  устранить возможные проблемы. Серые списки – ложь во спасение. Когда мы говорим что имеются временные локальные проблемы, эти проблемы эквивалентны  выражению – "Мой администратор сказал мне не разговаривать с незнакомцами". Действительные отправители повторят отправку, однако спамеры не будут ждать шанса попробовать ещё раз отправить сообщение, поскольку при этом увеличивается его совокупная стоимость. Именно по этому серые списки работают на основе строгого соблюдения стандартов и ложные срабатывания весьма редки. ]

*   Соответствующие  части RFC 5321 идентичны частям устаревшего  документа RFC 2821. Некоторые из нас  были сильно разочарованы тем, что IETF не уточнил эти фрагменты в соответствии с текущими стандартами. Моя реакция (хотя наверное это  слишком  напыщенная  фраза)  отмечена  на    http://bsdly.blogspot.com/2008/10/ietf-failed-to-account-for-greylisting.html. Соответствующие RFC, в основном RFC 1123 и RFC 5321 (заменивший RFC 2821). Запомните, что временный отказ  является функцией отказоустойчивости SMTP.

В FreeBSD, для того чтобы использовать  режим серых списков  spamd, вам  необходим файл дескриптора файловой системы (смотрите man 5 fdescfs) смонтированный в /dev/fd/. Для  этого,  добавьте   следующую  строку  в   /etc/fstab   и  убедитесь,  что  код  fdescfs присутствует в  вашем ядре или загрузите соответствующий модуль с помощью команды kldload.

fdescfs /dev/fd fdescfs rw 0 0

Для  начала  конфигурирования  spamd,  разместите  строки  для  spamd  и  параметров загрузки в /etc/rc.conf.local. Например:

spamd_flags="-v -G 2:4:864" # for normal use: "" and see spamd-setup(8)

На FreeBSD, эквивалентные строки должны быть в /etc/rc.conf:

obspamd_flags="-v -G 2:4:864" # for normal use: "" and see spamd-setup(8)

Вы можете более тонко настроить несколько параметров связанных с серыми списками используя параметры командной строки spamd с опцией -G.

Список разделённый двоеточиями  2:4:864 представляет  значения passtime,  greyexp и whiteexp:

•     passtime указывает  минимальное число минут, которые spamd считает  разумным временем прежде чем повторить отправку. По умолчанию, значение составляет 25 минут, но мы уменьшили его до 2 минут.

•     greyexp указывает количество часов, в  течение которых запись остаётся в серых списках до удаления из базы данных

•     whiteexp указывает в часах, как долго хранятся записи в белом списке.

Значения по умолчанию для greyexp и whiteexp составляют  4 и 864  часа (чуть более одного месяца) соответственно.

Использование серых списков на практике                           Пользователи  и администраторы сайтов,  которые реализуют практику  использования серых списков, сходятся во мнении, что серые списки позволяют избавиться от большой части  спама  и  приводят  к  значительному  падению  нагрузки  на  любую  фильтрацию контента.  Для  начала,  мы  рассмотрим,   как   выглядят   файлы  журналов   spamd  при

использовании серых списков, а затем вернёмся к некоторым данным.

Если вы выполните в  командной строке spamd -v, что обеспечит высокую детализацию ведения файлов журналов, они будут включать некоторую дополнительную информацию

кроме IP адресов. Типичный отрывок такого журнала выглядит примерно так:

Oct 2 19:53:21 delilah spamd[26905]:65.210.185.131: connected (1/1), lists: spews1

Oct 2 19:55:04 delilah spamd[26905]:83.23.213.115: connected (2/1)

Oct 2 19:55:05 delilah spamd[26905]:(GREY) 83.23.213.115: <gilbert@keyholes.net> ->

<wkitp98zpu.fsf@datadok.no>

Oct 2 19:55:05 delilah spamd[26905]:83.23.213.115: disconnected after 0 seconds.

Oct 2 19:55:05 delilah spamd[26905]:83.23.213.115: connected (2/1)

Oct 2 19:55:06 delilah spamd[26905]:(GREY) 83.23.213.115: <gilbert@keyholes.net> ->

<wkitp98zpu.fsf@datadok.no>

Oct 2 19:55:06 delilah spamd[26905]: 83.23.213.115: disconnected after 1 seconds.

Oct 2 19:57:07 delilah spamd[26905]: (BLACK) 65.210.185.131: <bounce-3C7E40A4B3@branch15.summer- bargainz.com> -> <adm@dataped.no>

Oct 2 19:58:50 delilah spamd[26905]: 65.210.185.131: From: Auto lnsurance Savings

<noreply@branch15.summer-bargainz.com>

Oct 2 19:58:50 delilah spamd[26905]: 65.210.185.131: Subject: Start SAVlNG M0NEY on Auto lnsurance Oct 2 19:58:50 delilah spamd[26905]: 65.210.185.131: To: adm@dataped.no

Oct 2 20:00:05 delilah spamd[26905]: 65.210.185.131: disconnected after 404 seconds. lists: spews1

Oct 2 20:03:48 delilah spamd[26905]: 222.240.6.118: connected (1/0)

Oct 2 20:03:48 delilah spamd[26905]: 222.240.6.118: disconnected after 0 seconds.

Oct 2 20:06:51 delilah spamd[26905]: 24.71.110.10: connected (1/1), lists: spews1

Oct 2 20:07:00 delilah spamd[26905]: 221.196.37.249: connected (2/1)

Oct 2 20:07:00 delilah spamd[26905]: 221.196.37.249: disconnected after 0 seconds.

Oct 2 20:07:12 delilah spamd[26905]: 24.71.110.10: disconnected after 21 seconds. lists: spews1

Первая  строка – начало соединения с машиной находящейся в  чёрном списке  spews1. Следующие шесть строк отображают полные записи из двух попыток соединения с другой машины, которая каждый раз подключается как  вторичное  активное  соединение. Эта вторая машина ещё не попала в чёрный список, поскольку она находится в сером списке.

Обратите   внимание   на   любопытный   адрес   доставки   в    сообщении   (wkitp98zpu. fsf@datadok.no),  которое  пытается  доставить  машина  из  серого  списка.  Существует полезный трюк, который мы рассмотрим в разделе "Graytrapping" на странице 98. (GRAY) и  (BLACK)  перед  адресом,  указывают   статус  серых  или  черных  списков.   Сейчас существует большая активность от блокированного хоста, а несколько позже мы увидим, что  после  404  секунд  (6  минут  44  секунды),  блокированный  хост  сбрасывается  без завершения доставки.

Остальные строки показывают несколько очень коротких соединений, в  том числе и от машины находящейся в чёрном списке. Правда на этот раз разыв соединения происходит

слишком быстро для того чтобы увидеть флаг (BLACK) в  начале диалога SMTP, однако в

конце  мы  видим  ссылку  на  список  имён  (spews1).  Около  400  секунд  (по  данным различных сайтов)  наивные  спамеры торчат в  чёрном списке и  примерно столько же времени требуется (из расчёта 1 байт в секунду) на завершение диалога EHLO пока spamd отклоняет сообщение. Однако, если заглядывать в  журнал почаще, вы можете заметить, что некоторые спамеры висят значительно больше. Например, по данным шлюза нашего офиса, можно выделить одну запись журнала:

Dec 11 23:57:24 delilah spamd[32048]: 69.6.40.26: connected (1/1), lists: spamhaus spews1 spews2

Dec 12 00:30:08

seconds. lists: delilah spamd[32048]: 69.6.40.26: disconnected after 1964 spamhaus spews1 spews2

Данная машина уже находилась в  нескольких чёрных списках, когда она  сделала 13 попыток доставки с 9 по 12 декабря. Последняя попытка длилась 32 минуты 44 секунды, так и не завершив  доставки.  Умные спамеры разрывают  соединение в  течение первых

пяти секунд, как было показано в первом фрагменте журнала. Другие, после 400 секунд. Некоторые повисают на несколько часов. (Самый крайний зарегистрированный случай – 42673 секунды, почто 12 часов).

Источник: Книга о PF, by Peter N.M. Hansteen, Перевод выполнил Михайлов Алексей aka iboxjo

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий