Расширения безопасности системы доменных имен - Domain Name System Security Extensions

Domain Name System Security Extensions ( DNSSEC ) представляет собой набор спецификаций расширения с помощью Engineering Task Force Интернета (IETF) для защиты данных обменены в системе доменных имен (DNS) в интернете - протоколе (IP) сети. Протокол обеспечивает криптографическую аутентификацию данных, подтвержденное отрицание существования и целостность данных, но не доступность или конфиденциальность.

Обзор

Первоначальный дизайн системы доменных имен не предусматривал никаких функций безопасности. Он задумывался только как масштабируемая распределенная система. Расширения безопасности системы доменных имен (DNSSEC) пытаются повысить безопасность, сохраняя при этом обратную совместимость . Request for Comments 3833 документирует некоторые известные угрозы DNS и их решения в DNSSEC.

DNSSEC был разработан для защиты приложений, использующих DNS, от приема поддельных или измененных данных DNS, например, созданных в результате отравления кеша DNS . Все ответы из защищенных зон DNSSEC имеют цифровую подпись . Проверяя цифровую подпись, преобразователь DNS может проверить, идентична ли информация (т. Е. Неизмененная и полная) информации, опубликованной владельцем зоны и обслуживаемой официальным DNS-сервером. Хотя защита IP-адресов является непосредственной проблемой для многих пользователей, DNSSEC может защитить любые данные, опубликованные в DNS, включая текстовые записи (TXT) и записи обмена почтой (MX), и может использоваться для начальной загрузки других систем безопасности, которые публикуют ссылки на криптографические данные. сертификаты, хранящиеся в DNS, такие как записи сертификатов ( записи CERT , RFC 4398), отпечатки пальцев SSH ( SSHFP , RFC 4255), открытые ключи IPSec (IPSECKEY, RFC 4025) и якоря доверия TLS (TLSA, RFC 6698).

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

Другие стандарты (не DNSSEC) используются для защиты больших объемов данных (таких как передача зоны DNS ), передаваемых между DNS-серверами. Как описано в IETF RFC 4367, некоторые пользователи и разработчики делают ложные предположения о DNS-именах, например, предполагая, что общее имя компании плюс «.com» всегда является ее доменным именем. DNSSEC не может защитить от ложных предположений; он может только подтвердить, что данные действительно принадлежат или недоступны от владельца домена.

Спецификации DNSSEC (называемые DNSSEC-bis ) очень подробно описывают текущий протокол DNSSEC. См. RFC 4033, RFC 4034 и RFC 4035. С публикацией этих новых RFC (март 2005 г.) более ранний RFC RFC 2535 устарел.

Широко распространено мнение, что защита DNS критически важна для защиты Интернета в целом, но развертыванию DNSSEC в частности препятствовали (по состоянию на 22 января 2010 г.) несколько трудностей:

  • Необходимость разработки обратно совместимого стандарта, который можно масштабировать до размеров Интернета.
  • Предотвращение "перебора зон" там, где это необходимо
  • Развертывание реализаций DNSSEC на самых разных DNS-серверах и резолверах (клиентах)
  • Разногласия между разработчиками по поводу того, кому должны принадлежать корневые ключи домена верхнего уровня.
  • Преодоление кажущейся сложности развертывания DNSSEC и DNSSEC

Операция

DNSSEC работает путем цифровой подписи записей для поиска DNS с использованием криптографии с открытым ключом . Правильная запись DNSKEY проверяется через цепочку доверия , начиная с набора проверенных открытых ключей для корневой зоны DNS, которая является доверенной третьей стороной . Владельцы доменов генерируют свои собственные ключи и загружают их с помощью панели управления DNS в своем регистраторе доменных имен, который, в свою очередь, передает ключи через secDNS оператору зоны (например, Verisign для .com), который подписывает и публикует их в DNS.

Записи ресурсов

DNS реализован с использованием нескольких ресурсных записей. Для реализации DNSSEC были созданы или адаптированы для использования с DNSSEC несколько новых типов записей DNS :

RRSIG (подпись записи ресурса)
Содержит подпись DNSSEC для набора записей. Преобразователи DNS проверяют подпись с помощью открытого ключа, хранящегося в записи DNSKEY.
DNSKEY
Содержит открытый ключ, который DNS-преобразователь использует для проверки подписей DNSSEC в записях RRSIG.
DS (лицо, подписывающее делегирование)
Содержит имя делегированной зоны. Ссылается на запись DNSKEY в суб-делегированной зоне. Запись DS помещается в родительскую зону вместе с делегирующими записями NS.
NSEC (следующая защищенная запись)
Содержит ссылку на следующее имя записи в зоне и перечисляет типы записей, существующие для имени записи. Преобразователи DNS используют записи NSEC для проверки отсутствия имени и типа записи в рамках проверки DNSSEC.
NSEC3 (следующая версия защищенной записи 3)
Содержит ссылки на следующее имя записи в зоне (в порядке сортировки хешированных имен) и перечисляет типы записей, которые существуют для имени, охваченного хеш-значением в первой метке собственного имени записи NSEC3. Эти записи могут использоваться преобразователями для проверки отсутствия имени и типа записи в рамках проверки DNSSEC. Записи NSEC3 похожи на записи NSEC, но NSEC3 использует криптографически хешированные имена записей, чтобы избежать перечисления имен записей в зоне.
NSEC3PARAM (параметры следующей защищенной записи версии 3)
Авторитетные DNS-серверы используют эту запись для вычисления и определения, какие записи NSEC3 включать в ответы на запросы DNSSEC для несуществующих имен / типов.

При использовании DNSSEC каждый ответ на запрос DNS содержит запись DNS RRSIG в дополнение к запрошенному типу записи. Запись RRSIG - это цифровая подпись набора записей ресурсов DNS ответа . Цифровая подпись проверяется путем нахождения правильного открытого ключа в записи DNSKEY. Записи NSEC и NSEC3 используются для предоставления криптографических доказательств отсутствия какой-либо записи ресурса (RR). Запись DS используется для аутентификации ключей DNSKEY в процедуре поиска с использованием цепочки доверия. Записи NSEC и NSEC3 используются для надежной защиты от спуфинга.

Алгоритмы

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

Поле алгоритма Алгоритм Источник Подпись DNSSEC Проверка DNSSEC
1 RSA / MD5 Не должен реализовывать Не должен реализовывать
3 DSA / SHA-1 Не должен реализовывать Не должен реализовывать
5 RSA / SHA-1 RFC 3110 Не рекомендуется Необходимый
6 DSA-NSEC3-SHA1 Не должен реализовывать Не должен реализовывать
7 RSASHA1-NSEC3-SHA1 RFC 5155 Не рекомендуется Необходимый
8 RSA / SHA-256 RFC 5702 Необходимый Необходимый
10 RSA / SHA-512 Не рекомендуется Необходимый
12 ГОСТ Р 34.10-2001 RFC 5933 Не должен реализовывать По желанию
13 ECDSA / SHA-256 RFC 6605 Необходимый Необходимый
14 ECDSA / SHA-384 По желанию рекомендуемые
15 Ed25519 RFC 8080 рекомендуемые рекомендуемые
16 Ed448 По желанию рекомендуемые
Поле дайджеста Дайджест Источник Статус реализации
1 SHA-1 RFC 3658 Необходимый
2 SHA-256 RFC 4509 Необходимый
3 ГОСТ Р 34.10-2001 RFC 5933 По желанию
4 SHA-384 RFC 6605 По желанию

Процедура поиска

По результатам поиска DNS, DNS-преобразователь , отвечающий за безопасность, может определить, поддерживает ли полномочный сервер имен для запрашиваемого домена DNSSEC, является ли полученный ответ безопасным и есть ли какая-либо ошибка. Процедура поиска отличается для рекурсивных серверов имен, например, у многих интернет-провайдеров , и для преобразователей заглушек, таких как те, которые включены по умолчанию в основные операционные системы. Microsoft Windows использует преобразователь заглушек, а в Windows Server 2008 R2 и Windows 7, в частности, используется непроверяющий, но поддерживающий DNSSEC преобразователь заглушек.

Рекурсивные серверы имен

Используя модель цепочки доверия , запись лица , подписывающего делегирование (DS) в родительском домене ( зоне DNS ), может использоваться для проверки записи DNSKEY в субдомене , который затем может содержать другие записи DS для проверки дальнейших субдоменов. Предположим, что рекурсивный преобразователь, такой как сервер имен ISP, хочет получить IP-адреса ( запись A и / или записи AAAA ) домена «www. Example.com ».

  1. Процесс начинается, когда распознаватель, поддерживающий безопасность, устанавливает бит флага «DO» («DNSSEC OK») в запросе DNS. Поскольку бит DO находится в битах расширенного флага, определенных механизмами расширения для DNS (EDNS) , все транзакции DNSSEC должны поддерживать EDNS. Поддержка EDNS также необходима для обеспечения гораздо больших размеров пакетов, необходимых для транзакций DNSSEC.
  2. Когда распознаватель получает ответ через обычный процесс поиска DNS, он затем проверяет правильность ответа. В идеале распознаватель, отвечающий за безопасность, должен начать с проверки записей DS и DNSKEY в корне DNS . Затем он будет использовать записи DS для домена верхнего уровня «com», находящегося в корне, для проверки записей DNSKEY в зоне «com». Отсюда он мог бы увидеть, есть ли запись DS для поддомена «example.com» в зоне «com», и, если бы она была, использовать эту запись DS для проверки записи DNSKEY, найденной в «примере». com "зона. Наконец, он проверит запись RRSIG, найденную в ответе на записи A для "www.example.com".

Из приведенного выше примера есть несколько исключений.

Во-первых, если «example.com» не поддерживает DNSSEC, в ответе не будет записи RRSIG и не будет записи DS для «example.com» в зоне «com». Если есть запись DS для "example.com", но нет записи RRSIG в ответе, что-то не так и, возможно, происходит атака посредника , удаляющая информацию DNSSEC и изменяющая записи A. Или это может быть сломанный сервер имен, не обращающий внимания на безопасность, который по пути удалил бит флага DO из запроса или запись RRSIG из ответа. Или это может быть ошибка конфигурации.

Затем может оказаться, что не существует доменного имени с именем «www.example.com», и в этом случае вместо возврата записи RRSIG в ответе будет либо запись NSEC, либо запись NSEC3. Это «следующие безопасные» записи, которые позволяют преобразователю доказать, что доменное имя не существует. Записи NSEC / NSEC3 имеют записи RRSIG, которые можно проверить, как указано выше.

Наконец, может случиться так, что зона «example.com» реализует DNSSEC, а зона «com» ​​или корневая зона - нет, создавая «островок безопасности», который необходимо проверить каким-либо другим способом. По состоянию на 15 июля 2010 г. развертывание DNSSEC в корневом каталоге завершено. Домен .com был подписан действительными ключами безопасности, а безопасное делегирование было добавлено в корневую зону 1 апреля 2011 года.

Резолверы заглушек

Резолверы-заглушки - это «минимальные резолверы DNS, которые используют режим рекурсивных запросов, чтобы переложить большую часть работы по разрешению DNS на рекурсивный сервер имен». Резольвер-заглушка просто перенаправит запрос на рекурсивный сервер имен и будет использовать бит аутентифицированных данных (AD) в ответе как подсказку, чтобы выяснить, смог ли рекурсивный сервер имен проверить подписи для всех данных в Разделы "Ответ" и "Авторитет" ответа ". Microsoft Windows использует преобразователь заглушек, а в Windows Server 2008 R2 и Windows 7, в частности, используется непроверяющий, но поддерживающий биты AD преобразователь заглушек.

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

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

Якоря доверия и цепочки аутентификации

Чтобы иметь возможность доказать, что ответ DNS является правильным, необходимо знать по крайней мере один правильный ключ или запись DS из источников, отличных от DNS. Эти отправные точки известны как якоря доверия и обычно получаются с помощью операционной системы или другого надежного источника. При первоначальной разработке DNSSEC считалось, что единственный требуемый якорь доверия - это корень DNS . Корневые якоря были впервые опубликованы 15 июля 2010 года.

Аутентификации цепь представляет собой ряд связанных между собой DS и DNSKEY записей, начиная с якорем доверия к авторитетному серверу имен для домена в вопросе. Без полной цепочки аутентификации ответ на поиск в DNS не может быть надежно аутентифицирован.

Подписи и подпись зоны

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

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

Ключевой менеджмент

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

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

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

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

Рабочая группа DANE

DNS-based Authentication of Named Entities (DANE) - это рабочая группа IETF, целью которой является разработка протоколов и методов, которые позволяют интернет-приложениям устанавливать криптографически защищенную связь с TLS , DTLS , SMTP и S / MIME на основе DNSSEC.

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

Поддержка сшитых сертификатов DNSSEC была включена в Google Chrome 14, но позже была удалена. Для Mozilla Firefox поддержка была предоставлена ​​с помощью надстройки, в то время как встроенная поддержка в настоящее время ожидает, чтобы кто-то начал над ней работать.

История

DNS - это критически важный и фундаментальный интернет-сервис, однако в 1990 году Стив Белловин обнаружил в нем серьезные недостатки безопасности. Исследования по обеспечению безопасности начались и значительно продвинулись, когда его статья была обнародована в 1995 году. Первоначальный RFC 2065 был опубликован IETF в 1997 году, и первые попытки реализовать эту спецификацию привели к пересмотренной (и считавшейся полностью работоспособной) спецификации в 1999 году. как IETF RFC 2535. Планировалось развернуть DNSSEC на основе RFC 2535.

К сожалению, у спецификации IETF RFC 2535 были очень серьезные проблемы с масштабированием до полного Интернета; к 2001 году стало ясно, что эта спецификация непригодна для использования в больших сетях. При нормальной работе DNS-серверы часто не синхронизируются со своими родителями. Обычно это не проблема, но когда DNSSEC включен, эти несинхронизированные данные могут иметь эффект серьезного самовольного отказа в обслуживании. Исходный DNSSEC требовал сложного протокола с шестью сообщениями и большого количества передач данных для выполнения ключевых изменений для дочернего элемента (дочерние зоны DNS должны были отправлять все свои данные до родительского, чтобы родитель подписывал каждую запись, а затем отправлял их). подписи обратно к дочернему элементу, чтобы ребенок сохранил в записи SIG). Кроме того, изменения открытого ключа могут иметь абсурдные последствия; например, если зона ".com" изменила свой открытый ключ, ей пришлось бы отправить 22 миллиона записей (потому что ей нужно было бы обновить все подписи во всех своих дочерних элементах). Таким образом, DNSSEC, как определено в RFC 2535, не может масштабироваться до Интернета.

IETF фундаментально модифицировал DNSSEC, который при необходимости называется DNSSEC-bis, чтобы отличать его от исходного подхода DNSSEC RFC 2535. Эта новая версия использует «записи ресурсов подписывающего делегирования (DS)», чтобы обеспечить дополнительный уровень косвенности в точках делегирования между родительская и дочерняя зоны. В новом подходе при изменении главного открытого ключа дочернего элемента вместо шести сообщений для каждой записи в дочернем элементе есть одно простое сообщение: дочерний элемент отправляет новый открытый ключ своему родителю (подписанному, конечно). Родители просто хранят один главный открытый ключ для каждого ребенка; это намного практичнее. Это означает, что родителю передается небольшой объем данных вместо того, чтобы обмениваться огромными объемами данных между родителем и потомками. Это означает, что клиентам нужно проделать немного больше работы при проверке ключей. В частности, проверка KEY RRset зоны DNS требует двух операций проверки подписи вместо одной, требуемой RFC 2535 (это не влияет на количество проверенных подписей для других типов RRset). Большинство считает это небольшой платой, поскольку это делает развертывание DNSSEC более практичным.

Аутентификация ответов NXDOMAIN и NSEC

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

Первоначальным решением было создание записей NSEC для каждой пары доменов в зоне. Таким образом, если клиент запросил запись в несуществующем k.example.com, сервер ответит записью NSEC, утверждающей, что ничего не существует между a.example.comи z.example.com. Однако это приводит к утечке большего количества информации о зоне, чем при традиционных ошибках NXDOMAIN, не прошедших аутентификацию, поскольку раскрывает существование реальных доменов.

Записи NSEC3 (RFC 5155) были созданы в качестве альтернативы, которая хеширует имя, а не перечисляет их напрямую. Со временем достижения в области хеширования с использованием графических процессоров и специального оборудования привели к тому, что ответы NSEC3 можно было дешево перебрать с помощью атак по словарю в автономном режиме. NSEC5 был предложен, чтобы разрешить авторитетным серверам подписывать ответы NSEC без необходимости хранить закрытый ключ, который можно использовать для изменения зоны. Таким образом, кража NSEC5KEY приведет только к упрощению перечисления зоны.

Из-за беспорядочного развития протокола и желания сохранить обратную совместимость, онлайн-серверы подписи DNSSEC возвращают «белую ложь» вместо того, чтобы напрямую подтверждать отрицание существования. Метод, описанный в RFC 4470, возвращает запись NSEC, в которой пары доменов лексически окружают запрашиваемый домен. Например, запрос for k.example.com, таким образом, приведет к записи NSEC, доказывающей, что ничего не существует между (фиктивными) доменами j.example.comи l.example.com. CloudFlare впервые применил другой подход, доказывающий, что «запись существует, а запрошенный тип записи - нет», что дает преимущество в виде значительного уменьшения размера полезной нагрузки.

Развертывание

Интернет является важной инфраструктурой, но его работа зависит от фундаментально небезопасного DNS. Таким образом, существует сильный стимул к защите DNS, и развертывание DNSSEC обычно считается важной частью этих усилий. Например, в Национальной стратегии безопасности киберпространства США конкретно указывается на необходимость защиты DNS. Широкомасштабное развертывание DNSSEC могло бы решить и многие другие проблемы безопасности, такие как безопасное распространение ключей для адресов электронной почты.

Развертывание DNSSEC в крупномасштабных сетях также является сложной задачей. Озмент и Шехтер отмечают, что DNSSEC (и другие технологии) имеют "проблему начальной загрузки": пользователи обычно развертывают технологию только в том случае, если они получают немедленную выгоду, но если требуется минимальный уровень развертывания, прежде чем какие-либо пользователи получат выгоду, превышающую их затраты. (как и в случае с DNSSEC) его сложно развернуть. DNSSEC можно развернуть на любом уровне иерархии DNS, но он должен быть широко доступен в зоне, прежде чем многие другие захотят его принять. DNS-серверы должны быть обновлены с помощью программного обеспечения, поддерживающего DNSSEC, и данные DNSSEC должны быть созданы и добавлены к данным зоны DNS. Клиент, использующий TCP / IP, должен обновить свой DNS-преобразователь (клиент), прежде чем он сможет использовать возможности DNSSEC. Более того, любой преобразователь должен иметь или иметь способ получить по крайней мере один открытый ключ, которому он может доверять, прежде чем он сможет начать использовать DNSSEC.

Реализация DNSSEC может значительно увеличить нагрузку на некоторые DNS-серверы. Обычные подписанные DNSSEC ответы намного больше, чем размер UDP по умолчанию, равный 512 байтам. Теоретически с этим можно справиться с помощью нескольких IP-фрагментов, но многие «промежуточные ящики» в поле не обрабатывают их правильно. Это приводит к использованию вместо этого TCP. Тем не менее, многие современные реализации TCP хранят большой объем данных для каждого TCP-соединения; На сильно загруженных серверах могут не хватить ресурсов, просто пытаясь ответить на большее количество (возможно, поддельных) запросов DNSSEC. Некоторые расширения протокола, такие как транзакции TCP Cookie , были разработаны для уменьшения этой нагрузки. Для решения этих проблем прилагаются значительные усилия по развертыванию DNSSEC, поскольку Интернет жизненно важен для многих организаций.

Раннее развертывание

Среди первых последователей - Бразилия ( .br ), Болгария ( .bg ), Чешская Республика ( .cz ), Намибия ( .na ), Пуэрто-Рико ( .pr ) и Швеция ( .se ), которые используют DNSSEC для своих национальных кодов верхнего уровня. домены ; RIPE NCC , которые подписали все записи обратного просмотра (in-addr.arpa), делегированные ему от Internet Assigned Numbers Authority (IANA). ARIN также подписывает свои обратные зоны. В феврале 2007 года TDC стал первым шведским интернет-провайдером, который начал предлагать эту функцию своим клиентам.

IANA публично тестировала образец подписанного корневого каталога с июня 2007 года. В течение этого периода, предшествовавшего производственному подписанию корневого каталога, существовало также несколько альтернативных якорей доверия. IKS Jena представила один 19 января 2006 года, Консорциум интернет-систем представил другой 27 марта того же года, а сама ICANN объявила о третьем 17 февраля 2009 года.

2 июня 2009 г. Afilias , поставщик услуг реестра для зоны .org Public Interest Registry, подписал TLD .org. Afilias и PIR также подробно рассказали 26 сентября 2008 г., что на первом этапе с участием крупных регистраторов, с которыми у него есть прочные рабочие отношения («друзья и семья»), будет первая возможность подписать свои домены, начиная с «начала 2009 года». . 23 июня 2010 г. 13 регистраторов были перечислены как предлагающие записи DNSSEC для доменов .ORG.

VeriSign запустила пилотный проект, позволяющий доменам .com и .net регистрироваться в целях экспериментов с NSEC3. 24 февраля 2009 г. они объявили, что развернут DNSSEC во всех своих доменах верхнего уровня (.com, .net и т. Д.) В течение 24 месяцев, а 16 ноября того же года они заявили, что .com и. net будут подписаны к первому кварталу 2011 года после задержек, вызванных техническими аспектами внедрения. Эта цель была достигнута в срок, и вице-президент Verisign по DNSSEC Мэтт Ларсон получил награду InfoWorld за лидерство в области технологий в 2011 году за свою роль в продвижении DNSSEC.

Развертывание в корне DNS

DNSSEC был впервые развернут на корневом уровне 15 июля 2010 г. Ожидается, что это значительно упростит развертывание преобразователей DNSSEC, поскольку якорь доверия корня может использоваться для проверки любой зоны DNSSEC, имеющей полную цепочку доверия от корня. Поскольку цепочка доверия должна быть прослежена до доверенного корня без прерывания для проверки, якоря доверия все равно должны быть настроены для безопасных зон, если какая-либо из зон над ними небезопасна. Например, если зона «signed.example.org» была защищена, а зона «example.org» - нет, тогда, даже если зона «.org» и корень подписаны, якорь доверия должен быть развернут в чтобы проверить зону.

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

  • Другие страны обеспокоены контролем США над Интернетом и по этой причине могут отклонить любой централизованный ввод с клавиатуры.
  • Некоторые правительства могут попытаться запретить распространение ключей шифрования с поддержкой DNSSEC.

Планирование

В сентябре 2008 года ICANN и VeriSign опубликовали предложения по реализации, а в октябре Национальное управление по телекоммуникациям и информации (NTIA) запросило у общественности комментарии. Неясно, повлияли ли полученные комментарии на разработку окончательного плана развертывания.

3 июня 2009 г. Национальный институт стандартов и технологий (NIST) объявил о планах подписать корневой каталог к ​​концу 2009 г. совместно с ICANN, VeriSign и NTIA.

6 октября 2009 г. на 59-й конференции RIPE Conference ICANN и VeriSign объявили о запланированном графике развертывания для развертывания DNSSEC в корневой зоне. На собрании было объявлено, что он будет постепенно развертываться на одном корневом сервере имен в месяц, начиная с 1 декабря 2009 г., при этом последний корневой сервер имен будет обслуживать подписанную зону DNSSEC 1 июля 2010 г., а корневая зона будет подписанный ключом DNS RSA / SHA256. В течение периода инкрементного развертывания корневая зона будет обслуживать преднамеренно недопустимую корневую зону (DURZ), в которой используются фиктивные ключи, причем последняя запись DNSKEY не будет распространяться до 1 июля 2010 г. Это означает, что ключи, которые использовались для подписи зоны использование преднамеренно невозможно проверить; Причина этого развертывания заключалась в том, чтобы отслеживать изменения в шаблонах трафика, вызванные более частыми ответами на запросы, запрашивающие записи ресурсов DNSSEC.

.Org домен верхнего уровня был подписан с DNSSEC в июне 2010 года, а затем .com , .net и .edu позже в 2010 и 2011 код страны доменов верхнего уровня были в состоянии внести ключи , начиная с мая 2010 года Как на ноябрь 2011 года более 25% доменов верхнего уровня подписаны с помощью DNSSEC.

Реализация

25 января 2010 г. корневой сервер L (ell) начал обслуживать намеренно недопустимую корневую зону (DURZ). Зона использует подписи хэша SHA-2 (SHA-256), созданного с использованием алгоритма RSA , как определено в RFC 5702. По состоянию на май 2010 года все тринадцать корневых серверов начали обслуживать DURZ. 15 июля 2010 г. была подписана первая корневая полноценная корневая зона DNSSEC с серийным номером SOA 2010071501. Корневые якоря доверия доступны в IANA .

Развертывание на уровне TLD

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

Альтернативная проверка DNSSEC - историческая

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

Для использования DLV был необходим валидатор, который его поддерживает, например BIND или Unbound , настроенный с привязкой доверия для зоны DLV. Эта зона содержала записи DLV; они имели точно такой же формат, что и записи DS, но вместо ссылки на делегированную подзону они ссылались на зону в другом месте дерева DNS. Когда валидатор не смог найти цепочку доверия от корня до RRset, которую он пытается проверить, он искал запись DLV, которая могла бы предоставить альтернативную цепочку доверия.

Разрывы в цепочке доверия, такие как неподписанные домены верхнего уровня или регистраторы, которые не поддерживали делегирование DNSSEC, означали, что администраторы доменов нижнего уровня могли использовать DLV, чтобы разрешить проверку своих данных DNS резолверами, которые были настроены на использование DLV. . Это могло помешать развертыванию DNSSEC из-за того, что регистраторы и реестры TLD вынуждены были должным образом поддерживать DNSSEC. DLV также добавил сложности, добавив больше участников и кодовых путей для проверки DNSSEC.

ISC сняла с эксплуатации свой реестр DLV в 2017 году. Поддержка DLV была объявлена ​​устаревшей в BIND 9.12 и полностью удалена из BIND 9.16. Несвязанная версия 1.5.4 (июль 2015 г.) пометила DLV как списанную в примере конфигурации и на странице руководства. Узел Resolver и PowerDNS Recursor никогда не реализовывали DLV.

В марте 2020 года IETF опубликовала RFC 8749, отказавшись от стандарта DLV и переместив RFC 4432 и RFC 5074 в статус «Исторический».

Инициатива развертывания DNSSEC федерального правительства США

Управление науки и технологий Министерства внутренней безопасности США (DHS) спонсирует «Инициативу развертывания DNSSEC». Эта инициатива побуждает «все сектора добровольно принять меры безопасности, которые повысят безопасность инфраструктуры имен в Интернете, в рамках глобальных совместных усилий, в которых участвуют многие страны и организации в государственном и частном секторах». DHS также финансирует усилия по совершенствованию DNSSEC и его развертыванию в федеральном правительстве США.

Сообщалось, что 30 марта 2007 года Министерство внутренней безопасности США предложило «передать ключ для подписи корневой зоны DNS в руки правительства США». Однако официальных лиц правительства США в зале заседаний не было, и комментарий, вызвавший появление статьи, был сделан другой стороной. Позднее DHS прокомментировало, почему, по их мнению, другие пришли к ложному выводу о том, что правительство США сделало такое предложение: «Министерство внутренней безопасности США финансирует разработку технического плана внедрения DNSSec, а в октябре прошлого года распространило первоначальный проект документа. это длинному списку международных экспертов для комментариев. В проекте излагается ряд вариантов того, кто может быть держателем или «оператором» ключа корневой зоны, по сути сводящиеся к правительственному агентству или подрядчику ». в документе делаем ли мы какие-либо предложения относительно личности оператора корневого ключа ", - сказал Моэн, менеджер по исследованиям и развитию в области кибербезопасности Министерства национальной безопасности".

Развертывание DNSSEC в федеральном правительстве США

Национальный институт стандартов и технологий (NIST) опубликовал NIST Special Publication 800-81 Secure Domain Name System (DNS) Руководство по развертыванию 16 мая 2006 года, с руководством о том , как развернуть DNSSEC. NIST намеревался выпустить новые требования DNSSEC Federal Information Security Management Act (FISMA) в NIST SP800-53-R1, ссылаясь на это руководство по развертыванию. У агентств США тогда был бы один год после окончательной публикации NIST SP800-53-R1, чтобы выполнить эти новые требования FISMA. Однако на тот момент NSEC3 не был завершен. NIST предложил использовать разделенные домены, метод, который, как известно, возможен, но его сложно правильно развернуть, и он имеет недостатки безопасности, указанные выше.

22 августа 2008 года Управление управления и бюджета (OMB) выпустило меморандум, требующий от федеральных агентств США развертывания DNSSEC на сайтах .gov; корень .gov должен быть подписан к январю 2009 года, а все поддомены под .gov должны быть подписаны к декабрю 2009 года. Хотя меморандум посвящен сайтам .gov, Агентство оборонных информационных систем США заявляет, что оно намерено выполнить требования OMB DNSSEC в зоне. mil (военный домен США). Кэролайн Даффи Марсан из NetworkWorld заявила, что DNSSEC «не получил широкого распространения, потому что он страдает классической дилеммой курицы и яйца ... с мандатом OMB, похоже, яйцо треснет».

Развертывание в резолверах

Несколько интернет-провайдеров начали развертывание рекурсивных преобразователей DNS с проверкой DNSSEC. Comcast стал первым крупным интернет-провайдером, который сделал это в Соединенных Штатах, объявив о своих намерениях 18 октября 2010 года и завершив развертывание 11 января 2012 года.

Согласно исследованию APNIC , доля клиентов, которые используют исключительно DNS-преобразователи, выполняющие проверку DNSSEC, выросла до 8,3% в мае 2013 года. Около половины этих клиентов использовали общедоступный DNS-преобразователь Google .

В сентябре 2015 года Verisign анонсировала свою бесплатную общедоступную службу распознавания DNS, которая, хотя и не упоминается в их пресс-релизах, также выполняет проверку DNSSEC.

К началу 2016 года мониторинг APNIC показал, что доля клиентов, которые используют исключительно DNS-преобразователи, выполняющие проверку DNSSEC, увеличилась примерно до 15%.

Поддержка DNSSEC

6 мая 2013 г. общедоступный рекурсивный DNS- сервер Google включил проверку DNSSEC.

BIND , самое популярное программное обеспечение для управления DNS, по умолчанию включает поддержку DNSSEC, начиная с версии 9.5.

Общественного рекурсивный DNS Quad9 выполнил проверку DNSSEC на своей основной 9.9.9.9 адрес , поскольку он был создан 11 мая 2016 года Quad9 также предоставляет альтернативный сервис , который не выполняет проверку DNSSEC, в основном для отладки.

Публикации IETF

  • RFC  2535 Расширения безопасности системы доменных имен
  • RFC  3225, указывающий, что резольвер поддерживает DNSSEC
  • RFC  3226 DNSSEC и IPv6 A6 A6 Aware Server / Resolver Требования к размеру сообщения
  • RFC  3833 Анализ угроз системы доменных имен
  • RFC  4033 Введение в безопасность DNS и требования ( DNSSEC-bis )
  • RFC  4034 Записи ресурсов для расширений безопасности DNS ( DNSSEC-bis )
  • RFC  4035 Модификации протокола для расширений безопасности DNS ( DNSSEC-bis )
  • RFC  4398 Хранение сертификатов в системе доменных имен (DNS)
  • RFC  4431 Запись ресурса DNS с дополнительной проверкой DNSSEC (DLV)
  • RFC  4470 с минимальным охватом записей NSEC и подписью DNSSEC в режиме онлайн
  • RFC  4509 Использование SHA-256 в записях ресурсов (RR) лица, подписывающего делегирование (DS) DNSSEC
  • RFC  4955 Эксперименты по безопасности DNS (DNSSEC)
  • RFC  5011 Автоматические обновления якорей доверия безопасности DNS (DNSSEC)
  • RFC  5155 DNSSEC Hashed Authenticated Denial of Existence
  • RFC  5702 Использование алгоритмов SHA-2 с RSA в записях ресурсов DNSKEY и RRSIG для DNSSEC
  • RFC  6605 Алгоритм цифровой подписи с эллиптической кривой (DSA) для DNSSEC
  • RFC  6725 DNS Security (DNSSEC) Алгоритм DNSKEY Обновления реестра IANA
  • RFC  6781 Практика эксплуатации DNSSEC, версия 2
  • RFC  6840 Разъяснения и примечания по реализации для безопасности DNS (DNSSEC)
  • RFC  7344 Автоматизация обслуживания доверия делегирования DNSSEC
  • RFC  7583 Рекомендации по выбору времени смены ключа DNSSEC
  • RFC  8080 алгоритм цифровой безопасности Edwards-Curve (EdDSA) для DNSSEC
  • RFC  8624 Требования к реализации алгоритма и руководство по использованию DNSSEC
  • RFC  8749 Перемещение альтернативной проверки DNSSEC (DLV) в исторический статус

Инструменты

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

Смотрите также

использованная литература

дальнейшее чтение

  • Х. Ян; Э. Остервейл; Д. Мэсси; С. Лу; Л. Чжан (8 апреля 2010 г.). «Развертывание криптографии в системах Интернет-масштаба: пример использования DNSSEC». Транзакции IEEE о надежных и безопасных вычислениях . 8 (5): 656–669. CiteSeerX  10.1.1.158.1984 . DOI : 10.1109 / TDSC.2010.10 . S2CID  14887477 .

внешние ссылки