DNSSEC

DNSSEC (Domain Name System Security Extensions) – это набор расширений протокола DNS, которые обеспечивают цифровую подпись данных DNS для обеспечения целостности и аутентификации DNS записей. DNSSEC помогает предотвратить фальсификацию данных DNS и уменьшить риск атак типа «отравление кеша DNS». Он используется для защиты доменных имен от различных видов мошенничества и улучшения безопасности сети.

DNSSEC не шифрует данные и не изменяет управление ими. DNSSEC может подтвердить и такую информацию, как криптографические сертификаты общего назначения, хранящиеся в CERT record DNS. RFC 4398 описывает, как распределить эти сертификаты, в том числе по электронной почте, что позволяет использовать DNSSEC в качестве глобального распределённого хранилища сертификатов ключей подписи.

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

Первая редакция DNSSEC RFC 2065 была опубликована IETF в 1997 году. Попытки реализации этой спецификации привели к появлению нового стандарта RFC 2535 в 1999 году. Реализацию DNSSEC планировали, основываясь на IETF RFC 2535.

К сожалению, у IETF RFC 2535 были весьма существенные проблемы с масштабированием. К 2001 году стало ясно, что эта спецификация была уже непригодна для крупных сетей. При нормальной работе DNS серверы часто рассинхронизировались со своими родителями. Обычно это не являлось проблемой, но при включенном DNSSEC, рассинхронизованные данные могли нести непроизвольный DoS эффект. Защищённый DNS гораздо более ресурсоёмок в вычислительном плане, и с большей, относительно «классического» DNS, лёгкостью может занять практически все вычислительные ресурсы сервера.

Первая версия DNSSEC требовала коммуникации из шести сообщений и большое количество переданных данных для осуществления изменений наследника: все DNS зоны наследника должны быть полностью переданы родителю, родитель вносит изменения и отправляет их обратно наследнику. Кроме того, изменения в публичном ключе могли нести катастрофические последствия. Например, если бы зона «.com» изменила свой ключ, то пришлось бы отправить 22 миллиона записей, так как всем наследникам необходимо было бы обновить все записи.

Эти сложности, в свою очередь, вызвали появление новых спецификаций: RFC 4033, RFC 4034, RFC 4035 со многими существенными изменениями. Стандарты устранили главную проблему предыдущей реализации и, хотя клиентам пришлось совершать дополнительные действия для проверки ключей, спецификация оказалась вполне пригодной для практического применения.

В 2005 появилась текущая и последняя спецификация DNSSEC. Знаковое событие случилось в 2008 году, когда Дэн Камински показал миру, что отравить кэш можно за 10 секунд. Производители программного обеспечения DNS ответили тем, что кроме идентификатора запроса стали случайно выбирать исходящий порт для запроса. Попутно начались споры по поводу внедрения DNSSEC.

Изменение DNSSEC, которое называется DNSSEC-bis. Название было дано чтобы отличать DNSSEC-bis от первоначального подхода DNSSEC в RFC 2535. DNSSEC-bis использует принцип DS (англ. delegation signer) для обеспечения дополнительного уровня косвенной делегации при передаче зон от родителя к наследнику.

DNSSEC использует несколько алгоритмов цифровой подписи и шифрования для обеспечения безопасности доменных имён. Некоторые из наиболее используемых алгоритмов включают:
1. RSA – представляет собой асимметричный алгоритм шифрования, который используется для подписи записей DNSKEY.
2. DSA – Digital Signature Algorithm, используется для создания и проверки электронной цифровой подписи.
3. ECDSA – Elliptic Curve Digital Signature Algorithm, аналог RSA, но использует эллиптическую кривую для создания ключей и подписей.
4. Ed25519 – более современный алгоритм, обеспечивающий высокую безопасность и эффективность в сравнении с другими.
DNSSEC также поддерживает использование алгоритмов хэширования, таких как SHA-1, SHA-256 и SHA-384, для обеспечения целостности данных. В целом, DNSSEC комбинирует различные алгоритмы для обеспечения безопасной и надежной проверки подписей доменных записей.

Некоторые популярные программы-клиенты с поддержкой DNSSEC включают в себя:

1. BIND (Berkeley Internet Name Domain) – один из самых широко используемых программных серверов DNS, который поддерживает DNSSEC.

2. Unbound – другой популярный программный DNS-сервер, который поддерживает DNSSEC и является частью проекта NLnet Labs.

3. PowerDNS – другой DNS-сервер с открытым исходным кодом, который имеет поддержку DNSSEC.

4. Knot DNS – еще один DNS-сервер с открытым исходным кодом, который поддерживает DNSSEC.

Некоторые популярные программы-клиенты с поддержкой DNSSEC включают в себя:

1. Firefox – веб-браузер с поддержкой DNSSEC, который позволяет пользователям получать безопасные и проверенные DNS-записи.

2. Google Chrome – также имеет встроенную поддержку DNSSEC для обеспечения безопасного и проверенного интернет-подключения.

3. Mozilla Thunderbird – почтовый клиент с поддержкой DNSSEC для обеспечения безопасной доставки и проверки почтовых сообщений.

4. В операционной системе Windows 10, встроенный DNS-клиент также поддерживает DNSSEC для безопасной работы с DNS-записями.

Обсуждение закрыто.