Отслеживание  ваших  реальных  почтовых   соединений: spamlogd

За сценой, о чём редко упоминается и, что слабо документировано, находится одна из

наиболее важных вспомогательных программ spamd: система обновления белых списков spamlogd.  Как  следует  из  названия,   spamlogd  работает  в    фоновом   режиме,  ведёт

протоколирование  соединений от ваших  почтовых  серверов  с целью обновления  ваших

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

Примечание

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

Для    того,    чтобы    функционировать    должным   образом,    spamlogd    нуждается журналировании  ваших  SMTP соединений с и к вашим  почтовым  серверам,  таким же образом, как мы уже делали в главе 5:

emailserver = "192.0.2.225"

pass log proto tcp to $emailserver port $email pass log proto tcp from $emailserver to port smtp

На OpenBSD 4.1 и выше  (и эквивалентных  системах), вы  можете создать  несколько интерфейсов pflog и указать какие правила должны журналироваться. Вот как отделить данные которые должен читать spamlogd от прочих журналов PF:

1.   Создайте отдельный интерфейс pflog1 используя ifconfig pflog1 create,  или создайте файл hostname.pflog1 со строкой up.

2.  Измените соответствующие правила к следующему виду:

pass log (to pflog1) proto tcp to $emailserver port $email pass log (to pflog1) proto tcp from $emailserver to port smtp

3.  Добавьте  -l pflog1 к параметрам начальной загрузки spamlogd.

Таким образом, вы отделите данные регистрации spamd от всех прочих (смотрите главу 8 подробно   обсуждающую  журналирование).   При   наличии   соответствующих   правил, spamlogd будет добавлять  IP адреса, получившие  ваши  электронные письма в   белый список. Это не железная гарантия того,  что ответ  будет проходить немедленно, но в большинстве конфигураций, некоторые вещи значительно ускоряются.

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

Объединяя  эти  факты,  мы  увидим,  что,  если  машина  находящаяся в   сером  списке пытается отправить сообщение на неправильный адрес в вашем домене, существует шанс,

что письмо является спамом или вирусом. Осознание этого факта привело к следующему

эволюционному шагу в развитии spamd – техники называемой greytrapping. Когда хост из серого списка пытается доставить почту к неизвестному адресу в нашем домене, этот хост будет добавлен в  локальный чёрный список, называемый spamd-greytrap. Члены spamd- greytrap так же получают траппинг со скоростью 1 байт в секунду как и участники чёрных списков. Greytrapping реализован в spamd весьма просто и элегантно. Всё что вам нужно – чтобы spamd работал в  режиме серых списков.  Другие важные  компоненты – список адресов  в  домене  обслуживаемом  сервером  электронной почты домена, тех, которые никогда не получают лигитимную почту. Количество адресов в списке не имеет значения,

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

Далее,  вы  скармливаете  список  функции  greytrapping  и  просто  ждёте.  Во-первых, отправитель  пытается отправить  письмо на адрес в  списке greytrap,  и при этом просто

работают серые списки, как и в  случае с любым отправителем,  с которым вы  ещё не обменивались  электронной почтой.  Если  хост  повторяет  отправку,  на  тот  же  самый,

неверный  адрес  или  другой  адрес  вашего   серого  списка,  срабатывает   greytrap,  и нарушитель вводится  в  spamd-greytrap на 24 часа. В течение  последующих 24 часов

любой SMTP трафик от хоста попавшего под greytrapping будет "заикаться" со скоростью ответов 1 байт в секунду.

Этот 24 часовой  период является  достаточно коротким чтобы не вызывать  серьёзных нарушений  легитимного  трафика,  поскольку  полноценная   реализация  SMTP  будет

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

срабатывания. Машины которые продолжат рассылку спама после 24 часового интервала достаточно скоро снова попадут в тарпит.

Установка траплиста                                                                  Для  установки  вашего  траплиста (списка трапов),  используйте spamdb  с  опцией -T. В моём  случае,  странные  адреса4    о  которых  я  упоминал  на  странице  96  "Практика использования серых списков", стали естественными кандидатами для включения:

$ sudo spamdb -T -a wkitp98zpu.fsf@datadok.no

Команда,  которую  я   ввёл,   фактически  выглядит   как   $   sudo   spamdb   -T   -a "<wkitp98zpu.fsf@datadok.no>". В OpenBSD 4.1 и более новых  релизах, spamdb не требует ввод  угловых  скобок или кавычек,  но так же  будет  их принимать. Вы можете добавить столько адресов сколько захотите. Я всегда стараюсь найти новые дополнения для своего локального списка spamtrap-адресов, просматривая серые списки серверов и почтовые  журналы на  предмет неудачных попыток доставки  или попыток доставки  на несуществующие адреса в моём домене (да я знаю что это звучит как сумашествие).

ПРЕДУПРЕЖДЕНИЕ

Убедитесь, что адреса, которые вы  добавляете в  свои списки spamtrap являются недействительными и  будут  таковыми оставаться. Через некоторое время, могут возникнуть затруднения вспомнить, что вы занесли адрес в spamtrap.

Следующий фрагмент журнала показывает, как пытается впервые соединиться  машина спамера находящаяся в   сером списке, а затем возвращается  снова  и  грубо пытается доставить сообщения на любые адреса, которые я добавил в траплист, только для того чтобы попасть через несколько минут в  черный список spamd-greytrap. Мы точно знаем, что эта машина будет делать следующие 20 с лишним часов.

Nov 6 09:50:25 delilah spamd[23576]:210.214.12.57: connected (1/0) Nov 6 09:50:32 delilah spamd[23576]:210.214.12.57: connected (2/0)

Nov 6 09:50:40 delilah spamd[23576]:(GREY) 210.214.12.57: <gilbert@keyholes.net> ->

<wkitp98zpu.fsf@datadok.no>

Nov 6 09:50:40 delilah spamd[23576]:210.214.12.57: disconnected after 15 seconds.

Nov 6 09:50:42 delilah spamd[23576]:210.214.12.57: connected (2/0)

Nov 6 09:50:45 delilah spamd[23576]:(GREY) 210.214.12.57: <bounce-3C7E40A4B3@branch15.summer- bargainz.com> -> <adm@dataped.no>

Nov 6 09:50:45 delilah spamd[23576]:210.214.12.57: disconnected after 13 seconds.

Nov 6 09:50:50 delilah spamd[23576]:210.214.12.57: connected (2/0)

Nov 6 09:51:00 delilah spamd[23576]:(GREY) 210.214.12.57: <gilbert@keyholes.net> ->

<wkitp98zpu.fsf@datadok.no>

Nov 6 09:51:00 delilah spamd[23576]:210.214.12.57: disconnected after 18 seconds.

Nov 6 09:51:02 delilah spamd[23576]:210.214.12.57: connected (2/0)

Nov 6 09:51:02 delilah spamd[23576]:210.214.12.57: disconnected after 12 seconds.

Nov 6 09:51:02 delilah spamd[23576]:210.214.12.57: connected (2/0)

Nov 6 09:51:18 delilah spamd[23576]:(GREY) 210.214.12.57: <gilbert@keyholes.net> ->

<wkitp98zpu.fsf@datadok.no>

Nov 6 09:51:18 delilah spamd[23576]:210.214.12.57: disconnected after 16 seconds.

Nov 6 09:51:18 delilah spamd[23576]:(GREY) 210.214.12.57: <bounce-3C7E40A4B3@branch15.summer- bargainz.com> -> <adm@dataped.no>

Nov 6 09:51:18 delilah spamd[23576]:210.214.12.57: disconnected after 16 seconds.

4. Конечно, этот адрес явлетс  поддельным. Эта идея использовалась  почтовыми  генераторами ID и GNUS, и  генерируется новостным клиентом. Вероятней всего он взят из спула новостей  или почтового ящика какой нибудь жертвы.

Nov 6 09:51:20 delilah spamd[23576]:210.214.12.57: connected (1/1), lists: spamd-greytrap Nov 6 09:51:23 delilah spamd[23576]:210.214.12.57: connected (2/2), lists: spamd-greytrap Nov 6 09:55:33 delilah spamd[23576]:(BLACK) 210.214.12.57: <gilbert@keyholes.net> ->

<wkitp98zpu.fsf@datadok.no>

Nov 6 09:55:34 delilah spamd[23576]:(BLACK) 210.214.12.57: <bounce-3C7E40A4B3@branch15.summer- bargainz.com> -> <adm@dataped.no>

К сведению, даже если спамер сменил отправляющую машину, оба адреса From: и To: остались прежними. То, что он всё ещё пытается отправить на адрес которого небыло в доставке, является показателем того, что спамер не слишком часто проверяет свой список адресов.

Управление списками с использованием spamdb                  Могут возникнуть ситуации, когда вам необходимо просмотреть или измениь содержимое черного, белого или серого списков. Эти записи находятся в базе данных /var/db/spamdb, и основным инструментом для их администрирования является spamdb.

Ранние версии  spamdb просто предлагали варианты  добавления  записи в  базу  данных белого списка  или  обновление  существующей  записи  (spamdb -a  nn.mm.nn.mm). Вы можете  удалить  записи  белого  списка  (spamdb  -d  nn.mm.nn.mm)  для  компенсации недостатков в чёрных списках либо повышения эффективности алгоритма серых списков. Новые  версии  spamdb,  кроме  того,  предлагают  несколько  интересных  функций  для поддержки greytrapping.

Обновление списков                                                                  Если  вы  запустите spamdb без параметров,  будет выведен  список  содержимого  базы данных, и вы сможете добавлять или удалять адреса spamtrap и записи траплистов. Кроме того, вы можете, на лету добавлять записи белого списка. Если вы хотите добавить хост в белый список, не добавляя  его на  постоянной основе  в  файл nospamd и перезагрузить ваш небор прпавил или таблицу, вы можете сделать это из командной строки примерно

так:

$ sudo spamdb -a 213.187.179.198

Если спамеру всё таки удалось произвести доставку сообщения, несмотря на все ваши усилия, вы  можете попытаться исправить  ситуацию, добавив  спамера в  список spamd- greytrap, например так:

$ sudo spamdb -a -t 192.168.2.128

Добавить новую ловушку адреса так же просто:

$ sudo spamdb -a -T _-medvetsky@ehtrib.org

Если вы  хотите отменить любое из этих решений, вам  следует заметь ключ -а  на -b в обеих командах.

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

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

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

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