DNSSEC


DNSSEC (англ. Domain Name System Security Extensions) — набор расширений протокола DNS, позволяющих минимизировать атаки, связанные с подменой IP-адреса при разрешении доменных имён. Он направлен на предоставление DNS-клиентам (англ. термин resolver) гарантии достоверности и целостности данных.

DNSSEC была разработана для обеспечения безопасности клиентов от фальшивых DNS-данных, например, создаваемых DNS cache poisoning.

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

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

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

Изначально система доменных имён не имела механизмов защиты от подмены информации в ответе сервера, так как во времена разработки (в начале 1980-х годов) угрозы безопасности современного Интернета не являлись актуальными. При этом клиенты судили о верности полученной информации исключительно по двухбайтовому идентификатору запроса. Таким образом, злоумышленнику требовалось перебрать 65536 значений, чтобы «отравить кэш». Это означало, что данные в системе DNS повреждены. Сервер кэширует ложные данные в целях оптимизации и начинает предоставлять эти их своим клиентам. Ещё в 1990 году Стив Белловин (англ. Steve Bellovin) выявил серьёзные недостатки в безопасности. Исследования в этой области начались и проводились полным ходом со времён публикации доклада в 1995 году[1].