English version

Distributed Realtime Black List


Данный раздел предназначен для администраторов сетей передачи данных и почтовых сервисов.

DRBL FAQ




Q: Уберите меня из ваших черных списков!!! НЕМЕДЛЕННО!!!

A: Для начала: не кричите - это вам все равно ничем не поможет.

Если вы действительно желаете, чтобы ваш адрес был убран из DRBL-зон, прежде всего вам необходимо понять, что именно произошло.

Q: Меня не волнует, что и где произошло! Я вас по судам затаскаю!

A: [зевнув] Аааа... ну ладно, жду повестку. Но пока еще никому из ваших хм... предшественников не удавалось даже толком сформулировать исковые требования. А все почему? Да потому, что полезли в воду, не зная брода.

Так вот: если вы обнаружили ваш адрес в одной из так называемых рабочих зон, не торопитесь дергать владельца такой зоны, ибо эффект может оказаться прямо противоположным. Тем более не стоит пытаться писать держателю этого и аналогичных сайтов, так как у них нет не то что никакой власти, но даже никакого влияния на администраторов чужих DRBL-узлов. Вас это удивляет? Значит, самое время прочитать оставшуюся часть этого FAQ. Не удивляет? Тогда не удивит и рекомендация прочитать оставшуюся часть этого FAQ.

Настоящим источником любой блокировки в системе DRBL является голосующая (vote) зона. Определив, какие из голосующих зон содержат ваш адрес, обратитесь к администраторам соответствующих зон. Однако прежде чем писать письма, ознакомьтесь с ответом на следующий вопрос.

Q: Я вовсе не спамер, почему меня блокировали?

A: Основная цель проекта DRBL - предоставить механизм автоматического обмена информацией из локальных фильтров, написанных администраторами для их собственных серверов. В проекте участвуют самые разные сети, от крупных провайдеров до частных лиц (например, владелец данного ресурса обслуживает две независимые DRBL-зоны, личную и корпоративную).

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

Единственное ограничение DRBL-проекта состоит в том, что администратор DRBL-узла обязан использовать свои фильтры сам. Важно понимать, что для попадания в те или иные фильтры совершенно не обязательно быть именно спамером. Установка произвольных фильтров не может считаться недружественным действием, ибо любой информационный обмен есть продукт доброй воли обеих сторон.

Кроме прочего, все это означает, что никто не вправе требовать убрать какой-либо адрес из DRBL-зоны. Речь может идти только о просьбе. Помните об этом, обращаясь к соответствующим контактным лицам. Они вам ничего не должны.

Q: Так что же такое DRBL?

A: Сокращение DRBL означает Distributed Realtime Black List, что можно перевести как "распределенный черный список реального времени". Этот сервис децентрализован, то есть вместо одной базы данных, включением в которую и исключением из которой ведают конкретные люди, DRBL предлагает каждой сети завести свою базу данных (в любом случае, многие так делают) и сделать информацию из нее доступной для коллег из других сетей. В свою очередь, другие сети, анализируя и сопоставляя информацию, полученную из различных источников, могут принимать решения о прекращении приема почты от тех или иных источников, в том числе и автоматически.

Q: Как это работает?

A: Сеть, принявшая решение об участии в системе DRBL, создает две NS-зоны для использования в DRBL - голосующую и рабочую. Обычно эти зоны называются vote.drbl.<domain>.<tld> и work.drbl.<domain>.<tld>; иногда дополнительно создается третья NS-зона, традиционно именуемая info.drbl.<domain>.<tld>

Сети и хосты, с которых в данной сети по каким-то причинам решено не принимать почту, заносятся в голосующую зону в виде A-записи и TXT-записи, например:

*.57.168.192	IN	A	127.0.0.2
		IN	TXT	"Spam-friendly ISP"

Это означает, что из сети 192.168.57.0/24 следует блокировать прием почты, а в качестве причины (комментария) дается строка "Spam-friendly ISP" (в переводе: "толерантный к спамерам провайдер").

Далее следует определить политику генерации рабочей зоны, то есть принять решение о том, какие голосующие зоны будут использоваться при генерации рабочей зоны и какова степень доверия держателям этих зон. Каждой голосующей зоне приписывается некоторое скалярное значение, называемое весом (weight) зоны, а при генерации рабочей зоны задается пороговое значение (threshold). Адресу, фигурирующему в одной или нескольких зонах, приписывается вес, равный сумме весов содержащих его голосующих зон, а в результирующую рабочую зону адрес попадает тогда и только тогда, когда его вес превышает пороговое значение.

Допустим, мы содержим сеть example1.tld, в которой решили создать узел DRBL. Для этого мы заводим зоны vote.drbl.example1.tld и work.drbl.example1.tld. Допустим, мы решили использовать при генерации зоны, поддерживаемые в других сетях и называющиеся, соответственно, vote.drbl.example2.tld, vote.drbl.example3.tld, vote.drbl.example4.tld, vote.drbl.example5.tld и vote.drbl.example6.tld, причем персоналу example2 мы доверяем как самим себе, персоналу example3 тоже доверяем, хотя и не до такой степени, а с персоналом example4, example5 и example6 нам общаться пока не доводилось, хотя и особых оснований им не доверять тоже нет (если бы такие основания были, вряд ли нам следовало бы вообще использовать их зоны). Порог срабатывания устанавливаем равным единице (почему? а почему бы и нет?), а зонам приписываем следующие значения веса:

vote.drbl.example1.tld     1
vote.drbl.example2.tld     1
vote.drbl.example3.tld     0.8
vote.drbl.example4.tld     0.4
vote.drbl.example5.tld     0.4
vote.drbl.example6.tld     0.4

В этом случае достаточно некоему адресу появиться в голосующей зоне нашей собственной сети (example1) или сети, которой мы стопроцентно доверяем (example2) - и этот адрес автоматически попадет в нашу рабочую зону, то есть почта с него приниматься не будет.

Если администрация сети example3 примет решение о блокировке какого-то адреса, то сразу он в нашу рабочую зону не попадет - для этого необходимо, чтобы его внес в свою голосующую зону кто-то еще (например, если некий адрес одновременно блокируется на сетях example3 и example5, его вес оказывается равным 1.2, что превышает порог срабатывания). Предполагается, что блокировка адреса где-то еще кроме самой сети example3 является некоторой гарантией того, что администраторы сети example3 не ошиблись.

Наконец, если адрес не блокирован ни в example1, ни в example2, ни в example3, то сетям 4, 5 и 6 будет сложно убедить нашу автоматику в том, что какой-то адрес все-же следует блокировать. Адрес попадет в нашу рабочую зону только в том случае, если решение о его блокировке примут одновременно во всех трех сетях.

Q: Зачем все это нужно?

A: Большинство сетей имеет свои фильтры против спамеров, и многие администраторы сетей готовы обмениваться информацией о спамерских сетях с коллегами для повышения эффективности мер, принимаемых против спама. DRBL - это своего рода система автоматизированных взаимных консультаций.

Q: Почему решено сделать систему именно распределенной?

A: По изначальному замыслу, распределенность системы должна была снять проблему уязвимости центра к преследованиям со стороны блокированных спамеров.

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

Распределенная сущность DRBL снимает эту проблему. Судиться здесь в большинстве случаев просто не с кем (вариант "сразу со всеми" можно всерьез не рассматривать), да и бесполезно: блокировать прием почты на своем сервере каждый вправе, и здесь придраться не к чему. Что же касается использования информации другими сетями, то делается это исключительно в добровольном порядке. Наконец, даже если под давлением какого-нибудь особо наглого и богатого спамера какой-нибудь из узлов DRBL прекратит существование, система в целом сохранит работоспособность.

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

Q: Так с кем мне связаться, чтобы удалить свой адрес из черных списков?

A: Все довольно просто. Вам наверняка пришел "отлуп" от удаленного почтового сервера примерно такого содержания:

550 Rejected: 192.168.62.14 is listed at work.drbl.example.net
Этой информации вполне достаточно для того, чтобы выяснить, кто (и даже за что) вас заблокировал. Итак, кто:
% host -t any 14.62.168.192.work.drbl.example.net
14.62.168.192.work.drbl.example.net has address 127.0.0.2
14.62.168.192.work.drbl.example.net descriptive text
"vote.drbl.example.net@ns.example.net"
За что:
% host -t any 14.62.168.192.vote.drbl.example.net
14.62.168.192.vote.drbl.example.net has address 127.0.0.2
14.62.168.192.vote.drbl.example.net descriptive text
"Spam from compromised user accounts"
Устраняете проблему (в данном примере следует выяснить, у кого из ваших пользователей были украдены реквизиты доступа и как это было сделано, после чего принять меры, чтобы не допустить повторения такой ситуации) - и смотрите, кого следует оповестить об этом, дабы ваш адрес был удален из голосующей зоны:
% host -t soa vote.drbl.example.net
vote.drbl.example.net   IN SOA ns.example.net drbl-w39vf8.example.net (
                        1451595600  ;serial (version)
                        10800       ;refresh period
                        1800        ;retry refresh this often
                        604800      ;expiration period
                        86400       ;minimum TTL
                        )
В данном примере писать следует на drbl-w39vf8 ПРИ example ТЧК net

Q: Можно ли использовать рабочие (генерируемые) зоны в качестве источников информации для генерации других зон?

A: Кратко говоря - нет. Дело в том, что, если в графе зависимости информационных источников возникнут ориентированные циклы, в результате возможно появление положительных обратных связей, то есть система пойдет в разнос. Так, адрес может сохраняться в системе, переходя из одной генерируемой зоны в другую, несмотря на то, что он уже удален из всех голосующих (то есть написанных вручную) зон. Кроме того, такая "многоуровневость" процесса генерации делает систему слабо управляемой и очень трудно предсказуемой.

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

Q: Какое программное обеспечение существует для генерации рабочей зоны?

A: См. раздел ПО для DRBL.

Q: По какому принципу мне выбрать зоны и расставить веса?

A: Универсальный ответ дать невозможно. Мы рекомендуем использовать информацию всех доступных зон.
Что касается весов, то, очевидно, вес должен быть тем больше, чем больше и известнее сеть, поддерживающая данную зону. Весьма неплохо показала себя практика назначения веса 1.0 провайдерским, 0.7 корпоративным и 0.4 частным голосующим зонам с последующей коррекцией этих значений. Не забудьте только, что ваша собственная голосующая зона на вашем узле должна иметь вес, не меньший порогового значения, так как уж себе-то вы доверять обязаны.

Q: Допустим, я создал голосующую зону. Есть ли какие-то ограничения на то, кого я могу туда внести?

A: Вообще говоря, ограничение только одно: вы обязаны пользоваться этой зоной сами. Делая свою голосующую зону публично доступной, вы тем самым заявляете: "я не принимаю сообщения из этой сети". Такое утверждение имеет существенно больший вес, нежели "эта сеть мне не нравится". В самом деле, было бы очень странно, если кто-то по вашему совету блокирует связность с некоторой сетью, тогда как вы - пострадавший от некорректных действий - этого не сделаете. Защищать свои права следует прежде всего самому.

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

Q: Я не хочу создавать свой узел DRBL. Могу ли я, тем не менее, использовать DRBL для защиты своей сети?

A: В принципе, да. Вы можете использовать одну или несколько существующих рабочих зон - как правило, они публично доступны. Просто внесите избранные зоны в список NS-зон RBL (Relay Black List) в вашем MTA.

Однако настроить свой узел DRBL настолько просто, что реальных причин отказаться от создания своего узла просто нет.

Q: Я создал свой узел DRBL. Что надо сделать, чтобы другие сети начали его использовать?

A: Можно обратиться к кому-нибудь из держателей существующих узлов DRBL (но только к одному, иначе это будет воспринято как спам), сообщить о появлении новой зоны и попросить проанонсировать зону коллегам. Помимо этого, ваша голосующая зона будет упомянута в рабочих и информационных зонах, которые используют ее в качестве одного из источников.

Не забудьте указать адреса голосующей и рабочей зон, адрес DNS-сервера, с которого их можно получить по AXFR (вы не забыли открыть возможность zone transfer с любых адресов?), а так же описать сеть, в которой рабочая зона используется для фильтрации почты. Еще неплохо в произвольной форме описать политику, которой вы намерены придерживаться при формировании вашей голосующей зоны. Всю информацию желательно сразу представить на русском и английском языках.

Последний совет: подходите ко всему этому ответственно. Только в этом случае вашу голосующую зону могут воспринять всерьез.

Программное обеспечение

Создано для систем на основе GNU/Linux, требует perl, теоретически должно работать в любых UNIX-подобных системах.

Скачать drbl.tar.gz

Правила, которым следует держатель данного DRBL-узла

Голосующая NS-зона vote.drbl.gremlin.ru пополняется автоматически: когда на один из адресов-"ловушек" (spamtrap) приходит незапрошенное сообщение (спам), специально обученный робот использует сервис whois для поиска наименьшего по количеству адресов объекта (например, RIPE позволяет создать inetnum для одного адреса IPv4 и inet6num для сети IPv6 размером /64), после чего найденные адреса попадают в список.

Рабочая зона work.drbl.gremlin.ru доступна всем желающим и пользуется (судя по всему, заслуженной) популярностью в самых разных сетях и на самых разных серверах.

Запросы на удаление записей из голосующей зоны принимаются только от администраторов сети согласно whois. Если вы конечный пользователь - не пытайтесь "прыгать через голову": в лучшем случае эффект окажется нулевым, а в более вероятном и вовсе отрицательным.