EmerDNS – альтернатива DNSSEC / Emercoin corporate blog / Habr
Классический DNS, который специфицирован в rfc1034 не пинает только ленивый. При весьма высокой эффективности работы, он действительно никак не защищён, что позволяет злоумышленникам переводить трафик на подставные сайты, путём подмены DNS-ответов для промежуточных кеширующий серверов (отравление кэша). Как-то с этой напастью борется https с его SSL-сертфикатами, которые позволяют обнаружить подмену сайта. Но пользователи обычно ничего не понимают в SSL, и на предупреждения о несоответствии сертификата автоматически кликают «продолжить», вследствие чего время от времени страдают материально.
Чтобы хоть как-то прекратить безобразие с отравлением DNS-кэшей и перехватом трафика, был придуман DNSSEC , который является надстройкой безопасности на классический DNS и в настоящее время внедряется в интернет, контролируемый ICANN. Процесс внедрения, честно признаемся, идёт ни шатко ни валко: Подавляющее большинство коммерческих компаний и прочих организаций откровенно игнорируют вызовы нового времени, даже такие гранды IT как Google и Яндекс не имеют цифровых подписей своих доменных зон. Да и наши компетентные товарищи, которым дело до всего, тоже не торопятся себя обезопасить с этой стороны. И только у компетентных господ, которым действительно до всего есть дело, тут всё в порядке. Ну и ещё у организаций, которые собственно и занимаются внедрением DNSSEC, например, verteiltesysteme.net. Да что говорить о каких-то организациях, если до сих пор ~10% доменов верхнего уровня (TLDs) не имеют подписей DNSSEC!
Почему же случилась ситуация, которую впору назвать массовым саботажем? Ведь технологии DNSSEC бесплатны и массово доступны уже много лет! На то мы видим ряд причин:
- Security is strong. Тема сложна для среднего сисадмина, и он предпочитает с этим просто не связываться. Ведь доменную зону DNSSEC надо не только создать, но и регулярно поддерживать – обновлять ключи, и тп.
- Человеческий оптимизм: Уж с нами-то ничего не случится, и всё будет хорошо. Беды происходят не с нами. А значит, ничего предпринимать не надо. Не верите? Тогда вопрос на засыпку: А у Вас дома есть огнетушитель?
- Весьма неплохую альтернативную защиту обеспечивает https/ssl, которые хорошо диагностируют перевод пользователя на фальшивый сайт. Другое дело, пользователь обычно игнорирует соответствующие предупреждения.
- Использование DNSSEC снижает производительность подсистемы DNS примерно впятеро, и требует больших сетевых и вычислительных ресурсов, чем классический DNS.
Таким образом мы видим, что хотя DNSSEC будет побезопаснее классического DNS, он тем не менее является паллиативом, и проблему достоверности данных полностью не решает – даже если все админы вдруг воспылают трудолюбием и сделают всё как положено. Причём паллиативом дорогим – снижение впятеро производительности основной подсистемы, от которой зависит реальная скорость работы Интеренета – это не шутки.
Рассматриваемой здесь альтернативой как классическому DNS, так и DNSSEC является EmerDNS, который построен на технологии блокчейн. В отличие от иерархических DNS/DNSSEC, EmerDNS является одноранговой «плоской» сетью, из которой исключены доменные регистраторы, держатели доменных зон и промежуточное кэши. А раз их нет – то и компрометировать нечего и некого. В этой системе каждый узел EmerDNS держит полный блокчейн, то есть всю базу имён и прочих транзакций. А достоверность данных (то, что они у всех одинаковы) обеспечивает сама технология блокчейна и публичный консенсус майнеров POS+POW. Последнее обеспечивает отсутствие «режима бога» у кого бы то ни было, включая разработчиков системы. Ни мы, ни кто-либо другой не может волюнтаристски отменить или изменить какие-то произвольные записи. Записи могу быть обновлены только их владельцами, и никем другим. В каком-то смысле, EmerDNS подобен файлу hosts, где присутствуют записи обо всех известных сайтах. Но в отличие от hosts:
- Каждую строчку в EmerDNS может модифицировать только её владелец, и никто иной.
- Невозможность «вмешательства бога (супер-админа)» обеспечивается консенсусом майнеров.
- Этот файл у всех одинаков, что обеспечивается механизмом репликации блокчейна.
- К файлу приложен быстрый поисковик.
Обновления этой базы происходят асинхронно к запросам пользователя, в момент появления новых блоков, по push-технологии. То есть в тот момент, когда пользователю вздумалось пойти на какой-то сайт, все актуальные и проверенные DNS-записи уже лежат локально в заранее проиндексированной базе данных, и трансляция доменных имён в адреса делается локально, без запросов (особенно рекурсивных) к каким-либо внешним ресурсам. Этот подход делает скорость работы EmerDNS исключительно высокой. Кроме того, понятно, в момент разрешения доменного имени совершенно не требуется, чтобы какие-то DNS-сервера где-то в интернете были «в полном здравии».
Ещё одним недостатком такой системы является необходимость платить системе какое-то количество Эмеркоинов за каждое обновление информации о доменных записях. Но при текущих ценах (порядка $0.1 за создание записи и $0.01 за обновление) это всё равно во много раз дешевле, чем держать имена у доменных регистраторов (примерно $10 в год). Действительно, за те же $10 можно покупать по три обновления в день в течение года по текущим расценкам.
Отличия различных систем DNS сведены в таблицу:
Система EmerDNS существует и стабильно работает с 2014 года. Подробная инструкция по работе с ней приведена на wiki проекта Emercoin.
Высокие параметры отказоустойчивости и безопасности системы привели к тому, что в доменные зоны EmerDNS владельцами были перенесены сайты, заблокированные РосКомНадзором. Подробнее об этом – в статье.
Русскоязычные инструкции для клиентов, как подключиться к системе через OpenNIC, предоставляют сайты Maxima и Pornolab. Также доступ для клиентов обеспечивают браузерные плагины от Peername и Fri-Gate.
Понятно, что при использовании OpenNIC или других внешних серверов запросы пользователей всё-таки могу быть перехвачены и подменены. Также, теоретически, могут возникнуть и проблемы при компрометации самих DNS-шлюзов OpenNIC. Поэтому наиболее безопасным является вариант, когда шлюз в EmerDNS разворачивается в доверенной сети (локальной, домовой, корпоративной), и он только и держит блокчейн, а все пользователи обращаются к нему обычным образом, легковесными DNS-запросами. При такой архитектуре пользователи получаю высокую надёжность и безопасность, и отсутствие необходимости держать блокчейн на каждом компьютере. В вики-статье приведены примеры, как настроить такой сервер с самыми популярными проксирующими DNS-серверами – BIND и DNSMASQ.
Дополнительную информацию об EmerDNS можно прочесть в этой статье.
А узнать больше об Emercoin можно в нашем блоге, или на Крипторе.
habr.com
Децентрализованная нецензурированная система доменных имён / Microsoft corporate blog / Habr
Продолжаем цикл статей, посвященных технологии блокчейн. Прошлая статья из серии «Секреты EmerCoin» завершилась кратким описанием NVS (Name-Value Storage) – распределённым хранилищем записей на базе блокчейна Emer. Подробности об этом вы узнаете в материале ниже.Цикл статей «Погружение в технологию блокчейн»
1. Серия материалов, посвященных технологии Emer:
1.1. Секреты EmerCoin.
1.2. Децентрализованная нецензурированная система доменных имён.
1.4. Децентрализованная беспарольная система безопасности.
2. Быстрые и безопасные транзакции.
3. Экосистема цифровой стоматологии.
4. Борьба с контрафактными товарами.
5. Взаимное страхование животных.
6. Что такое ICO и как его провести.
7. Loading…
Введение
Следует заметить, что доверие к такому хранилищу (траст) обеспечивается консолидированными усилиями майнеров, которые добывают себе монеты, и тем самым продают сети сервис по поддержанию траста.
За основу NVS был взят код из Namecoin, в котором существует подобное хранилище для поддержки распределённой доменной зоны *.bit. Но если хранилище от Namecoin предназначено только для обслуживания единственной доменной зоны, а для загрузки других типов данных надо предпринимать дополнительные шаги, то NVS сразу было реализовано как хранилище данных общего назначения, используя которое можно создавать различные распределённые сервисы.
Что такое emcDNS и зачем он нужен
Исторически первым сервисом EmerCoin стал сервис доменных имён, похожий на emcDNS от Namecoin. По мере роста атак на классическую доменную систему как со стороны криминала, так и от локальных властей, такой сервис становится всё более востребованным. Подробнее об этом можно прочитать здесь.
Кроме того, данный сервис позволят строить высоконадёжные и устойчивые ведомственные сети с децентрализованным управлением, иммунные к отказу в обслуживании централизованных DNS или атакам подобным DNS Spoofing.
В системе emcDNS доменной записью, также как любой другой NVS-записью, может управлять только её владелец, точнее – владелец кошелька, в котором находится данная запись. Только он может её изменить или удалить. Следует учесть, что так как запись находится в блокчейне, её копии находятся в каждом Emer-узле. То есть каждый узел содержит информацию обо всех NVS-записях, включая и доменные. Это позволяет делать поиск такой записи локально, не запрашивая внешние сервера, что приводит как к высокой скорости разрешения доменных имён, так и к высокой надёжности и безопасности – ваш провайдер не узнает, какие сайты вы сейчас ищете, особенно если доступ к сайтам будет по https.
Обсуждая архитектуру системы, у EmerCoin состоялся интересный диалог с разработчиками традиционной направленности. — Поздравляем! Вы изобрели файл hosts!— Да. В каком-то смысле так и есть. Но только наш файл hosts:
- Одинаков на всех машинах (майнеры гарантируют это).
- В нём каждую строчку может менять только хозяин этой строчки, и никто другой.
- Изменённая строчка быстро реплицируется на другие машины.
- В нём имеется индекс для быстрого поиска.
Отличия от Namecoin
При проектировании сервиса подход Namecoin был пересмотрен, и был внесён ряд улучшений, которые сделали этот сервис более привлекательным и практичным. Рассмотрим их детально.
Несколько доменных зон вместо одной
Если Namecoin обслуживает только фиксированную доменную зону *.bit, аналогичный сервис Emer позволяет обслуживать несколько зон одновременно, причём новые зоны вводятся просто записью в config-file. Это открывает возможности создавать на базе emcDNS собственные «ведомственные» доменные зоны, которые будут распознаваться только соответственно сконфигурированными Emer-узлами. В настоящее время система обслуживает четыре публичные доменные зоны, доступные через сервера OpenNIC:
- *.coin – основной альтернативный домен, в первую очередь связанный с крипто-монетами и прочими деньгами;
- *.emc – домен для сервисов, связанных с EmerCoin;
- *.lib (от liberty и library – для политических движений за всё хорошее, против всего плохого) – для библиотек различного содержимого;
- *.bazar – для различных торгово-обменных сайтов.
Возможность задать срок аренды записи
В отличие от Namecoin, где срок аренды записи составляет примерно 200 дней, и её надо регулярно продлять, в NVS можно указать срок аренды, и он может составлять столетия. Более долгий срок аренды будет стоить дороже, но ненамного. Этот подход позволяет упростить администрирование, и снижает риск потери контроля над записью, который возможен в случае истечения записи и перехвата её другим пользователем сети.
Возможность удалить запись
Кроме возможности резервирования записи на любой срок, в системе Emer существует возможность деактивировать запись до истечения срока аренды. Namecoin подобным функционалом не обладает.
Встроенный DNS-server rfc1035
Система Namecoin поддерживает только хранение DNS-записей. Не существует механизма извлечения и передачи этих записей программам-клиентам в стандартном DNS-формате. Насколько известно, для использования Namecoin необходимо дампить всю базу имён, и передавать её в пользование классическому DNS-серверу, который осуществляет поиск своими механизмами и рассылает ответы в стандартном формате rfc1035, подходящем для использования.
Каждый кошелёк EmerCoin имеет встроенный DNS-сервер, который обрабатывает стандартные запросы интернет-формата rfc1035, и отвечает в том же формате, который используется во всем Интернете. Это позволяет говорить о подлинной децентрализации доменной системы, когда каждый кошелёк является DNS-сервером, а не только выделенные сервера-шлюзы. Эта стандартизация также облегчает интеграцию emcDNS с другими подсистемами.
Управление поддоменами
Этот момент очень важен в «плоской» доменной сети, в которой отсутствует древовидная структура серверов, обслуживающих ту или иную доменную зону. Рассмотрим атаку типа «захват поддомена».
Представим, что отсутствует механизм защиты или управление поддоменом, и существует сервер victim.emc. Владелец домена создал ещё одно имя, www.victim.emc, которое назначил на тот же сервер. Однако злоумышленник может создать имя www1.victim.emc, и назначить его на свой вредоносный сервер. Формально, это два разных имени, которые никак не связаны. Однако в соответствии с парадигмой построения Интернет-имён и классической сети DNS, пользователь своё доверие к серверу victim.emc перенесёт и на www1.victim.emc, вследствие чего, например, может «подарить» злоумышленнику свой пароль.
На момент анализа кода Namecoin, в не было механизма управления поддоменами. То есть, для создания и управления поддоменами сайт должен держать собственный NS-сервер, который и разрешает эти поддомены. Все записи доменов 3-го уровня данной системой просто игнорируются.
В системе emcDNS существуют два правила:
1. Все запросы на доменное имя любого уровня, кроме «разрешённых исключений», разрешаются как доменные имена второго уровня. То есть, если запись victim.emc не содержит исключений, то запросы к любым поддоменам будут в ней разрешаться как к victim.emc. Например, запрос на разрешение имени hey.give.me.victim.emc будет полностью эквивалентен запросу на имя victim.emc.
Если в value
имени указан специальный тэг SD
, то его значение интерпретируется как список разрешённых исключений, которые обслуживаются системой. Рассмотрим в качестве примера emcDNS-запись библиотеки Флибуста:
"name" : "dns:flibusta.lib",
"value" : "A=81.17.19.227|SD=static,cn|TXT=Flibusta Library",
Здесь мы видим тэг
SD
, содержащий два исключения – static
, cn
. Значит, что система emcDNS разрешает имена static.flibusta.lib и cn.flibusta.lib, а не редуцировать их до flibusta.lib. Записи этих имён также могут содержать тэг SD
, и таким образом, можно будет строить доверенные доменные имена любого уровня. Не доверенные записи будут редуцированы до имени второго уровня.Об авторе
Олег Ховайко – ведущий разработчик криптовалюты «EmerCoin», эксперт в области криптографии и компьютерной безопасности. С 1994 года работает в IT-сфере. В настоящий момент также является вице-президентом американского инвестиционного банка, производящего операции с ценными бумагами – Jefferies & Company. Который считается одним из крупнейших независимых банков США.
Полезные ссылки
1. В настоящее время, эта система доменных имён используется рядом онлайн-библиотек и торрент-трекеров. Подробнее можно узнать здесь.
2. Краткое описание с примером и картинкой, как создать запись.
3. Полное же описание системы.
4. Чтобы стать клиентом системы, можно либо подключиться к любому серверу OpenNIC, либо же на своей локальной машине или в локальной сети развернуть шлюз в emcDNS. Инструкция о том, как подключить доменные зоны emcDNS через OpenNIC. Этот способ не требует от вас установки ни кошелька EmerCoin, ни каких-либо внешних программ или плагинов. Но недостатком этого способа является использование внешнего DNS-сервера, что частично дискредитирует идею полной децентрализации.
5. Описание других способов подключения к системе, с полным функционалом. Смотрите раздел Integration into a regular DNS tree. Рекомендуемые рецепты заключаются в том, что в локальном компьютере или локальной сети устанавливается кошелёк EmerCoin, и создается точка сопряжения, которая «смешивает» доменные зоны ICANN и emcDNS. Сопряжение производится посредством любой DNS Cache программы. В примерах приведены BIND, DNSMASQ, Acrylic.
habr.com
Об альтернативных доменах, DNS серверах и свободном интернете.
Сегодня поговорим о различных реализациях альтернативных DNS.
Современный интернет использует систему DNS – Domain Name System, которая является распределённой системой для получения информации о доменах и связи между доменными именами и их IP адресами.
Наивысшее место в иерархии доменной системы занимают корневые DNS-серверы, управляющие доменами верхнего уровня такими как .ru .com и т.д. которые администрируются организацией ICANN.
В дополнение к ним, другие организации имеют возможность управлять альтернативными корневыми DNS-серверами с пространствами имён, состоящими из собственных доменов верхнего уровня например:
onion, bit, lib, eth, emc, bazar и других.
Если с доменами onion которые маршрутизируются и генерятся непосредственно самой сетью TOR все понятно, то с другими предлагаю разобраться подробнее.
Криптовалюта EmerCoin кроме понятных операций непосредственно с монетами EmerCoin позволяет регистрировать домены в различных зонах, для простоты будем считать, что только в этих – *.emc, *.coin, *.lib and *.bazar
В январе 2015 года эти зоны*.emc, *.coin, *.lib and *.bazar были добавлены в систему OpenNIC – систему альтернативных DNS серверов.
OpenNIC – это открытый, демократичный и противостоящий цензуре DNS провайдер.
К слову, Google Public DNS перманентно сохраняет информацию о вашем провайдере и местоположении для анализа. Ваш IP-адрес также хранится в течении 24 часов; OpenNIC не принял официальную политику, касающуюся конфиденциальности/анонимизации логирования запросов и не логирует запросы вообще.
К примеру на домены lib переехали некоторые достаточно известные сайты:
rutracker.lib, flibusta.lib – объясняю на пальцах, если в настройках вашего компьютера (планшета, телефона, микроволновки) прописать в качестве DNS серверов адреса DNS серверов OpenNIC (узнать их можно на сайте проекта – https://www.opennic.org/), они будут открываться без всяких анонимайзеров VPNов и TOR!
Регистрировать домены от EmerCoin достаточно просто (и что немаловажно – значительно дешевле чем обычные домены от ICANN) пример подробно расписан вот тут – https://rublacklist.net/12118/ – достаточно установить кошелек EmerCoin и закинуть на него хотя бы одну монету.
В ближайшее время наш сайт будет иметь зеркало на tokakoka.lib
Система также основывается на блокчейне, т.е. для регистрации необходимо пополнить баланс кошелька NXT.
Только вот домены от NXT предназначены для использования в сети Hyperboria (Cjdns) о которой мы недавно говорили.
В качестве заключения
Я крайне рекомендую прописать на всех ваших устройствах в качестве DNS адреса серверов OpenNIC, разницы вы не заметите, но получите как минимум два ощутимых плюса:
- для вас станут доступны сайты и сервисы на доменах *.emc, *.coin, *.lib and *.bazar
- ваши обращения к DNS серверам не будут логироваться гуглом или вашим провайдером.
Странно, но факт – этот пост прочитали (2199) раз!
www.tokakoka.ru
децентрализованная система EmerDNS против блокировок сайтов / Emercoin corporate blog / Habr
Скандальная тема запрета на Украине множества российских сайтов пока больше медийное, чем реальное событие: запрет есть — а как его исполнять, пока только решается. Украинцы спешно осваивают методы обхода блокировок, уже освоенные россиянами, но не менее актуален этот вопрос и для владельцев сайтов. Одним из действенных методов защиты от государственных атак будет запуск зеркал в альтернативных доменных зонах, поддерживающих децентрализованый DNS на технологиях Emercoin.Что это такое: альтернативная система доменных имён с распределённым хранением DNS-записей в блокчейне Emercoin, что исключает возможность их централизованного отключения кем-либо по чьему бы то ни было запросу в принципе. Этот способ успешно используется библиотекой «Флибуста» и сами-знаете-что-за-сайтом Pornolab, которые используют зеркала в доменной зоне .lib.
При использовании EmerDNS, DNS-записи хранятся в блокчейне — т.е. их копии находятся в каждом Emer-узле. При этом управлять информацией о доменах (изменять или удалять), может только их владелец. Это в разы упрощает поиск, не нужно запрашивать внешние сервера. Ваш провайдер даже не узнает, какие сайты вы ищете, особенно если запрашивать доступ к сайтам вы будете по https.
Как получить домен EmerDNS
Есть способ попроще за $7/год и подешевле за 0,2 эмеркоина (примерно 20 центов)/год.
Способ за 20 центов:
- Скачать кошелёк Emercoin.
- Зачислить на него криптовалюту, приобретя её на бирже (например, LiveCoin, Cryptonator, Cashbank.pro) или одолжив у знакомых, у которых есть эмеркоины. Цена регистрации одной записи — примерно 0.2 Emer/год (текущий курс «Эмеркоина» — 90 центов). Это в разы дешевле, чем регистрация доменов у классических провайдеров.
- В кошельке в правом верхнем углу есть кнопка «Manage Names». Нажимаем на кнопку и переходим в этот раздел. Допустим, вы решили зарегистрировать домен life.emc
- заносите в поле name: значение «dns:life.emc» (без кавычек).
- в поле value: заносите «A=185.31.209.8|AAAA=2a04:5340:1:1::3|MX=mx.yandex.ru:10».
- в поле days ставите большую периодичностью, к примеру 10 лет (3650 days).
- заключительный этап. Нажимаете на кнопку Submit и ждете 10-30 минут. Пока в блокчейн будет занесена запись
Способ за семь баксов:
peername.com/emercoin — в этом случае кошелёк не обязателен, сервис хранит все записи в «холодном хранилище», т.е. на носителях оффлайн, но при желании могут передать их на кошелёк в любое время.
Вот и всё, теперь вы счастливый обладатель EmerDNS.
Как пользоваться сайтами в доменных зонах EmerDNS
Опять же, есть два способа: попроще — и без посредников.
С использованием плагина FriGate
Доменные зоны Emercoin поддерживаются плагином Frigate, поэтому пользователям, у которых он стоит, не потребуется совершать никаких дополнительных действий, чтобы заходить на сайты
Прописав адреса серверов OpenNic
Если изменить DNS-сервера OpenNic в настройках интернет-подключения на роутере, то ходить на emer-сайты можно будет уже без плагинов.
Для линуксоидов есть третья смешная опция, описанная в комментах на ГТ:
установить локальный EMC-кошелек, который выполняет и функцию DNS-ресолвера на 127.0.0.1:5335-м порту, а в BIND-е например настроить зоны и обращение к этому кошельку.
В таком случае вы независимы от пинга и доступности OpenNIC днсов. А так же от всякой паранойи типа DNS-Spoofing, MITM etc. Мануальчик тут.
Почему Emercoin?
Emercoin — не только криптовалюта, а технологическая платформа, своеобразная экосистема решений на блокчейне. Блокчейн «Эмеркоин» полностью децентрализован, что исключает возможность нанесения ему урона даже самими разработчиками, и максимально дружелюбен в использовании, как было неоднократно признано многими девелоперами и системными интеграторами, что делает его, вероятно, лучшей платформой для запуска вашей собственной блокчейн-технологии. Emercoin — это блокчейн, с которого можно начинать
habr.com