image

Классический DNS, который специфицирован в rfc1034 не пинает только ленивый. При весьма высокой эффективности работы, он действительно никак не защищён, что позволяет злоумышленникам переводить трафик на подставные сайты, путём подмены DNS-ответов для промежуточных кеширующий серверов (отравление кэша). Как-то с этой напастью борется https с его SSL-сертфикатами, которые позволяют обнаружить подмену сайта. Но пользователи обычно ничего не понимают в SSL, и на предупреждения о несоответствии сертификата автоматически кликают «продолжить», вследствие чего время от времени страдают материально.


Чтобы хоть как-то прекратить безобразие с отравлением DNS-кэшей и перехватом трафика, был придуман DNSSEC , который является надстройкой безопасности на классический DNS и в настоящее время внедряется в интернет, контролируемый ICANN. Процесс внедрения, честно признаемся, идёт ни шатко ни валко: Подавляющее большинство коммерческих компаний и прочих организаций откровенно игнорируют вызовы нового времени, даже такие гранды IT как Google и Яндекс не имеют цифровых подписей своих доменных зон. Да и наши компетентные товарищи, которым дело до всего, тоже не торопятся себя обезопасить с этой стороны. И только у компетентных господ, которым действительно до всего есть дело, тут всё в порядке. Ну и ещё у организаций, которые собственно и занимаются внедрением DNSSEC, например, verteiltesysteme.net. Да что говорить о каких-то организациях, если до сих пор ~10% доменов верхнего уровня (TLDs) не имеют подписей DNSSEC!


Почему же случилась ситуация, которую впору назвать массовым саботажем? Ведь технологии DNSSEC бесплатны и массово доступны уже много лет! На то мы видим ряд причин:


  1. Security is strong. Тема сложна для среднего сисадмина, и он предпочитает с этим просто не связываться. Ведь доменную зону DNSSEC надо не только создать, но и регулярно поддерживать – обновлять ключи, и тп.
  2. Человеческий оптимизм: Уж с нами-то ничего не случится, и всё будет хорошо. Беды происходят не с нами. А значит, ничего предпринимать не надо. Не верите? Тогда вопрос на засыпку: А у Вас дома есть огнетушитель?
  3. Весьма неплохую альтернативную защиту обеспечивает https/ssl, которые хорошо диагностируют перевод пользователя на фальшивый сайт. Другое дело, пользователь обычно игнорирует соответствующие предупреждения.
  4. DNSSEC защищает только от отравления кэша «посторонним». Он никак не защищает от компрометации злоумышленником сервера провайдера, где содержится кэш, сервера доменной зоны, или же доменного регистратора. Кстати, именно последнее привело к захвату домена blockchain.info.
  5. Использование DNSSEC снижает производительность подсистемы DNS примерно впятеро, и требует больших сетевых и вычислительных ресурсов, чем классический DNS.

Таким образом мы видим, что хотя DNSSEC будет побезопаснее классического DNS, он тем не менее является паллиативом, и проблему достоверности данных полностью не решает – даже если все админы вдруг воспылают трудолюбием и сделают всё как положено. Причём паллиативом дорогим – снижение впятеро производительности основной подсистемы, от которой зависит реальная скорость работы Интеренета – это не шутки.

Ещё обратим внимание на тот факт, что поиск домена в распределённом классическом DNS и его наследнике DNSSEC происходит в момент запроса пользователя. То есть как раз тогда, когда пользователю максимально нужен вычислительный и сетевой ресурс для передачи данных, а не для выяснения кто есть ху, и проверки соответствующих подписей. Соответственно, обновления кэшей и прочая DNS-работа как раз производится в самое «дорогое» время, когда пользователю нужна его страничка, а не внутренняя работа «под капотом». Ну и понятно, что для успешной работы сети необходимо, чтобы все причастные DNS-сервера были «в полном здравии» и работали как надо. При выходе из строя какого-то промежуточного сервера – «отваливается» целый сегмент сети, что мы время от времени и наблюдаем.


Рассматриваемой здесь альтернативой как классическому DNS, так и DNSSEC является EmerDNS, который построен на технологии блокчейн. В отличие от иерархических DNS/DNSSEC, EmerDNS является одноранговой «плоской» сетью, из которой исключены доменные регистраторы, держатели доменных зон и промежуточное кэши. А раз их нет – то и компрометировать нечего и некого. В этой системе каждый узел EmerDNS держит полный блокчейн, то есть всю базу имён и прочих транзакций. А достоверность данных (то, что они у всех одинаковы) обеспечивает сама технология блокчейна и публичный консенсус майнеров POS+POW. Последнее обеспечивает отсутствие «режима бога» у кого бы то ни было, включая разработчиков системы. Ни мы, ни кто-либо другой не может волюнтаристски отменить или изменить какие-то произвольные записи. Записи могу быть обновлены только их владельцами, и никем другим. В каком-то смысле, EmerDNS подобен файлу hosts, где присутствуют записи обо всех известных сайтах. Но в отличие от hosts:


  • Каждую строчку в EmerDNS может модифицировать только её владелец, и никто иной.
  • Невозможность «вмешательства бога (супер-админа)» обеспечивается консенсусом майнеров.
  • Этот файл у всех одинаков, что обеспечивается механизмом репликации блокчейна.
  • К файлу приложен быстрый поисковик.

Обновления этой базы происходят асинхронно к запросам пользователя, в момент появления новых блоков, по push-технологии. То есть в тот момент, когда пользователю вздумалось пойти на какой-то сайт, все актуальные и проверенные DNS-записи уже лежат локально в заранее проиндексированной базе данных, и трансляция доменных имён в адреса делается локально, без запросов (особенно рекурсивных) к каким-либо внешним ресурсам. Этот подход делает скорость работы EmerDNS исключительно высокой. Кроме того, понятно, в момент разрешения доменного имени совершенно не требуется, чтобы какие-то DNS-сервера где-то в интернете были «в полном здравии».

Такой архитектурный подход делает EmerDNS системой исключительно быстрой, безопасной и отказоустойчивой. Недостаток этой архитектуры – необходимость держать копию блокчейна на каждом узле. А там не только информация о доменах, но и транзакции, и вообще всё, что в эту базу внесли все другие. Но при текущей цене и ёмкости дисковых накопителей, когда даже сотни гигабайт не выглядят чем-то дорогим для рядовых пользователей – это вполне разумная цена за скорость и безопасность. Тем более, что блокчейн Emer весит не многим более 300 мб.


Ещё одним недостатком такой системы является необходимость платить системе какое-то количество Эмеркоинов за каждое обновление информации о доменных записях. Но при текущих ценах (порядка $0.1 за создание записи и $0.01 за обновление) это всё равно во много раз дешевле, чем держать имена у доменных регистраторов (примерно $10 в год). Действительно, за те же $10 можно покупать по три обновления в день в течение года по текущим расценкам.

Отличия различных систем DNS сведены в таблицу:

image

Система EmerDNS существует и стабильно работает с 2014 года. Подробная инструкция по работе с ней приведена на wiki проекта Emercoin.



Высокие параметры отказоустойчивости и безопасности системы привели к тому, что в доменные зоны EmerDNS владельцами были перенесены сайты, заблокированные РосКомНадзором. Подробнее об этом – в статье.



Русскоязычные инструкции для клиентов, как подключиться к системе через OpenNIC, предоставляют сайты Maxima и Pornolab. Также доступ для клиентов обеспечивают браузерные плагины от Peername и Fri-Gate.


Понятно, что при использовании OpenNIC или других внешних серверов запросы пользователей всё-таки могу быть перехвачены и подменены. Также, теоретически, могут возникнуть и проблемы при компрометации самих DNS-шлюзов OpenNIC. Поэтому наиболее безопасным является вариант, когда шлюз в EmerDNS разворачивается в доверенной сети (локальной, домовой, корпоративной), и он только и держит блокчейн, а все пользователи обращаются к нему обычным образом, легковесными DNS-запросами. При такой архитектуре пользователи получаю высокую надёжность и безопасность, и отсутствие необходимости держать блокчейн на каждом компьютере. В вики-статье приведены примеры, как настроить такой сервер с самыми популярными проксирующими DNS-серверами – BIND и DNSMASQ.


Дополнительную информацию об EmerDNS можно прочесть в этой статье.

А узнать больше об Emercoin можно в нашем блоге, или на Крипторе.

Поделиться с друзьями
-->

Комментарии (12)


  1. Loki3000
    31.07.2017 16:01
    +1

    Кроме диска, как я понимаю, нужны еще и вычислительные мощности? Откуда будут блоки-то браться?


    1. EShumilov
      31.07.2017 16:37
      +1

      Пользователи пересылают монеты, создают и изменяют свои записи. Блоки закрывают майнеры (PoW) и стейкхолдеры (PoS) системы. Эти роли можно совмещать, но совсем не обязательно. Можно просто пользоваться.


    1. QDeathNick
      31.07.2017 16:44

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


  1. Revertis
    31.07.2017 21:09

    Так в EmerDNS есть все существующие домены текущих зон? Как они туда попали? Или он дополняет как-то существующую инфраструктуру?


    1. olegarch
      31.07.2017 22:15
      -1

      Нет, в EmerDNS только свои доменные зоны. Для прозрачного разрешения зон как Emer, так и ICANN необходима «точка сопряжения», которая явлается сервером для объдинённой системы. В качестве такой точки может выступать как OpenNIC, так и Ваш локальный кэширующий DNS-сервер. Варианты настройки последнего приведены в документе https://wiki.emercoin.com/en/EMCDNS


  1. almasan
    31.07.2017 22:17

    Пожалуйста, опубликуйте инструкцию для EmerDNS на русском языке


  1. mrHobbY
    01.08.2017 01:29

    DNSSEC планируется и дополняется с 2005 года. https://tools.ietf.org/html/rfc4033.
    EMCDNS слишком молод для того, чтобы его серьезно воспринимать. Пока это только хайп из-за блокчейна. Вот когда будет принято как RFC, тогда можно и смотреть на него.


  1. Narical
    01.08.2017 13:05

    Платон мне друг, но…

    Высокие параметры отказоустойчивости и безопасности системы привели к тому, что в доменные зоны EmerDNS владельцами были перенесены сайты, заблокированные РосКомНадзором.

    Причиной тому были не какие-то выдающиеся характеристики, а тот факт, что один из «продвигателей» эмеркойна (возможно даже лично вы?) регистрировал домены для известных ресурсов и потом писал на их форумах, обращаясь к админам с предложением передать владение и контроль. Так что для последних это просто ещё один способ предоставить своим пользователям возможность обхода блокировок, который в упомянутых случаях ещё и не требовал от владельца ресурса каких-либо активных действий — всё уже сделано и работает. Более того, по факту до передачи контроля доменом ресурса в blockchain DNS владел совершенно другой человек. Хотя в данном случае речь идёт о благих намерениях — нетрудно представить себе злоумышленника, который за копеечную плату забивает известные доменные имена с целями не столь благими.

    По поводу таблички — всё конечно очень красиво, но можно ли верить этой красоте? Кто-нибудь проводил аудит безопасности и устойчивости? На данный момент emerDNS как неуловимый Джо — популярность недостаточно велика, чтобы государство почесалось как-то с ним бороться, но если вдруг система «выстрелит» — вот тогда и станет понятно, есть ли у нее слабые места.

    Допустим, я роскомпозор, и у меня возникла задача блокировать сайты, которые пользуются emerDNS для обхода блокировок. Я настраиваю себе DNS как обычный пользователь (не через OpenNIC ессно, а локальный DNS-сервер на базе кошелька) и блочу сайты по IP, который беру оттуда. Если автор обновил запись — то новый IP для блокировки я получаю так-же быстро, как и остальные пользователи системы. Как система может защититься от такого?

    P.S. сам давно уже использую локальный DNS-прокси, в основном для флибусты.


    1. QDeathNick
      01.08.2017 14:25
      -1

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


    1. olegarch
      01.08.2017 19:09

      > Причиной тому были не какие-то выдающиеся характеристики, а тот факт, что один из «продвигателей»
      > эмеркойна (возможно даже лично вы?) регистрировал домены для известных ресурсов и
      > потом писал на их форумах,

      Одно другому не мешает. Если бы соответствующих характеристик не было, владельцы сайтов просто бы проигнорировали предложение. И способ информирования владельцев тех или
      иных ресурсов ну никак не влияет на технические свойства системы. Да, наши подвижники (и может даже лично я) для некоторых доменов действительно сначала регистрировали домен на себя, а потом информировали хозяина ресурса. А как иначе? Если просто проинформировать — кто угодно из читателей блога засквотит на себя, и пиши пропало. Идея «тайного сообщения» — тоже не ахти. Тут пахнет потерей времени, и снова — риском сквоттинга. Поэтому и пришлосо в самом начале сквотить с благими намерениями, а потом бесплатно передавать. Так разве это плохо?! (с) анекдот
      И даже сам факт, что Вы сделали локальный шлюз в EmerDNS (что мы приветствуем) и им пользуетесь, косвенно свидетельствует о том, что Вы признали полезность EmerDNS по крайней мере, для себя.

      > Кто-нибудь проводил аудит безопасности и устойчивости?

      Записи EmerDNS запакованы внутрь платёжных транзакций. Если кто-то сможет взломать EmerDNS, и тем подменить записи, это значит, что он может взломать и чужие платёжные адреса тоже. Сейчас на платёжных
      адресах находится сумма Эмеров, примерно равная $40,000,000. Считайте, что это — приз за взлом (поимку Неуловимого Джо). Кто взломате — заберёт. А системе уже 5 лет скоро (правда, ранее приз поменьше был), то есть приз 4+ года висит, а Джо всё никак не поймают. По-моему, это позволяет говорить о том, что Джо — и вправду неуловимый.


  1. mrHobbY
    03.08.2017 15:43

    В чем принципиальная разница с Namecoin ?


    1. olegarch
      04.08.2017 06:36
      +1

      Много в чём. Например в том, что в Namecoin одна зона *.bit, а в Эмере — четыре.
      Или в том, что можно задавать срок лиза записей.
      Или в том, что в Emer-ноду встроен DNS-сервер, который отвечает в стандарте RFC1034. А в Namecoin такого нет. Там есть только хранилище, но нет встроенного механизма поиска и извлечения в формате, понятном internet-инфраструктуре.

      Или наконец в том, что в Эмере, помимо DNS, есть масса других сервисов —
      EmerSSL, EmerVPN, ENUMER, EmerDPO, EmerSSH, и так далее. Подробнее читайте статьи .