Successfully reported this slideshow.
Your SlideShare is downloading. ×

A popular DNS security overview. Modern theory and practice

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

YouTube videos are no longer supported on SlideShare

View original on YouTube

Безопасность DNS
Популярный обзор современной
теории и практик
1
D I P H O S T Филипп Кулин, III квартал 2018 года, UNLICE...
DNS это просто?
Три каверзных вопроса
Каков максимальный размер доменного имени?
● Точку на конце надо ставить?
● Что имен...
Loading in …3
×

Check these out next

1 of 40 Ad

More Related Content

Slideshows for you (20)

Similar to A popular DNS security overview. Modern theory and practice (20)

Advertisement
Advertisement

A popular DNS security overview. Modern theory and practice

  1. 1. Безопасность DNS Популярный обзор современной теории и практик 1 D I P H O S T Филипп Кулин, III квартал 2018 года, UNLICENSECryptoInstallFest 5Эшер II
  2. 2. DNS это просто? Три каверзных вопроса Каков максимальный размер доменного имени? ● Точку на конце надо ставить? ● Что именно спрашивает ресолвер и что отвечают DNS- сервера при рекурсивном обходе? 2 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  3. 3. Устройство DNS root RU gov.ru spb.ru COM vk.com test.com metro.spb.ru gov.spb.ru П о т р е б и т е л ь Р е с о л в е р ы технические связи административные связи 3 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  4. 4. Особенности классического DNS ● UDP транспорт. Нет соединения ● Нет идентификации серверов DNS ● Нет контроля данных ● Нет шифрования 4 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  5. 5. Угрозы в системе DNS root RU gov.ru spb.ru metro.spb.ru gov.spb.ru П о т р е б и т е л ь Р е с о л в е р ы технические связи административные связи взлом сервера несанкционированный доступ отравление прослушка, подделка spb.ru ложный сервер 5 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  6. 6. Заложенная в DNS безопасность 6 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  7. 7. Основные проблемы Подделка ● Отравление ● Перехват и подделка ● Взлом серверов и замена записей ● Поддельные серверы, BGP-injection Прослушка ● Промышленный шпионаж ● Система блокировок сайтов ● Шпионаж ● Маркетинговые исследования 7 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  8. 8. Защита от подделки DNS ● Расширение DNSSEC ● Не «взлетевший» DNSCurve 8 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  9. 9. Расширение DNSSEC Подпись записей зоны Записи зоны подписаны с помощью системы электронной подписи. Подписи и открытый ключ, соответствующий закрытому, публикуются в зоне. Цепочка доверия Родительская зона подтверждает достоверность ключа, которым подписана зона потомка. Подтверждения выстраиваются в цепочку доверия. Если мы доверяем данному ключу, то мы имеем возможность проверить любую подписанную запись. 9 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  10. 10. DNSSEC. Подпись зоны DNSKEY AAAA NS SOA Key-signing key (KSK) Ключом KSK подписан сам ключ KSK и ключ ZSK DNSKEY Zone-signing key (ZSK) Ключом ZSK подписаны все записи зоны 10 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  11. 11. DNSSEC. Цепочка доверия DNSKEY (KSK) example DS .tld DNSKEY (KSK) sub.example DS example.tld DNSKEY (KSK) sub.example.tld 11 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  12. 12. DNSSEC. Особенности ● Требует аккуратности и непрерывного обслуживания даже в статическом состоянии ● Сложное обслуживание ● Большой размер ответа ● Сложные реализации «отрицательного ответа» ● Возможность атаки с использованием предыдущих значений записей, которые ещё не устарели ● Необходимость стартовых настроек клиента ● Крайне слабая глубина внедрения ● Источник ответа не важен 12 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  13. 13. DNSSEC. Использование Прозрачная проверка Потребитель получает фильтрованные ответы Явная проверка Потребитель явно указывает ресолверу, что хочет получить проверенный результат. Проверяет флаги ответа Усиленная проверка Потребитель проверяет подписи сам. Например, чтобы гарантировать подлинность записей для работы с DANE 13 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  14. 14. DNSSEC. Тренды Алгоритм ECDSA ● скорость ● небольшой размер ответов по сравнению с RSA Подпись «на лету» ● использование «белой лжи» ● использование «чёрной лжи» Один ключ (Common Signing Key) ● уменьшает безопасность ● упрощает ротацию ключей 14 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  15. 15. DNSSEC. Поддержка Клиенты DNS exim, systemd-resolved, утилиты dig, drill Ресолверы BIND, unbound, dnsmasq, PowerDNS recursor Авторитативные сервера DNS BIND, NSD, KNOT, PowerDNS, YADIFA, CoreDNS Сервера DNS с подписью «на лету» KNOT, CoreDNS, PowerDNS (частично) 15 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  16. 16. DNSSEC. Типовые схемы клиента Серверы ● Настроен локальный кэширующий DNS с проверкой ● Настроен удаленный кэширующий DNS с проверкой ● Используется systemd-resolved и какой-нибудь удаленный кэширующий DNS ПК ● Настроен локальный кэширующий DNS с проверкой ● Настроен кэширующий DNS с проверкой на роутере ● Проверку реализует браузер 16 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  17. 17. DNSSEC. Полезные материалы Полезные ссылки http://dnsviz.net/ Визуализация DNS и DNSSEC Мои презентации https://www.slideshare.net/schors/dnssec-71055077 Руководство оператора DNS https://www.slideshare.net/schors/dnssec-71055077 Руководство регистратора RFC RFC 4033 Введение в DNSSEC RFC 4034 Ресурсные записи для DNSSEC RFC 4035 Модификации протокола DNS для DNSSEC RFC 6781 Эксплуатация DNSSEC RFC 7583 Соображения по ротации ключей DNSSEC 17 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  18. 18. DNSCurve Основные задачи ● Аутентификация авторитативного DNS-сервера ● Защита обмена между ресолвером и авторитативным сервером Принцип действия В записях NS домена задаётся публичный ключ DNS- сервера, предваряемый магической строкой "uz5": uz5qry75vfy162c239jgx7v2knkwb01g3d04qd4379s6mtcx2f0828.dnscurve.io. Между ресолвером и DNS-сервером устанавливается защищенное соединение по специальному протоколу с использованием шифрования ED25519. 18 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  19. 19. DNSCurve. Особенности ● Представляет исключительно академический интерес ● Не меняет саму спецификацию DNS ● Основан на вере в целостность системы ● Зависимость от источника ответа ● Не продумана ротация ключей и миграция ● Протокол «прибит» к определенному шифру ● Реализации исключительно ознакомительные ● Внедрение отсутствует 19 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  20. 20. DNSCurve. Материалы https://dnscurve.io/ Основной сайт https://tools.ietf.org/html/draft-dempsky-dnscurve-01 DNSCurve Draft https://mojzis.com/software/dq/ Реализация 20 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  21. 21. Защита от прослушки DNS ● DNSCrypt ● DNS-over-TLS ● DNS-over-HTTPS Google API ● DNS-over-HTTP/2 ● Минимизация QNAME при запросах 21 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  22. 22. DNSCrypt Основные задачи ● Аутентификация ресолвера ● Защита обмена между потребителем ресолвером Принцип действия Между потребителем и ресолвером устанавливается защищенное соединение по специальному протоколу с использованием шифрования ED25519. Протокол обмена полностью идентичен DNSCurve 22 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  23. 23. DNSCrypt. Ключи Каждая сессия начинается запросом ключей и сертификатов KEY1 Короткий ключ CERT1 Короткий сертификат KEY Мастер-ключ Ресолвер отвечает списком ключей и сертификатов, с ограниченным временем жизни Все сертификаты утверждены мастер-ключом ресолвера. Он используется клиентами для аутентификации ресолвера. 23 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  24. 24. DNSCrypt. Особенности ● Нет ни RFC, ни Draft. Только спецификация на сайте ● Не меняет спецификацию DNS ● Протокол «прибит» к определенному шифру ● Не предусмотрена замена мастер-ключа ● Заметное распространение ● Достаточно простой и быстрый ● 443 порт 24 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  25. 25. DNSCrypt. Поддержка Клиенты Яндекс.Браузер Ресолверы (могут принять) unbound, dnsdist Ресолверы (могут спросить) dnscrypt-proxy Сервисы Яндекс.DNS… Это оказалось сложным, большинство публичных списков не актуальны 25 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  26. 26. DNSCrypt. Материалы https://dnscrypt.info/protocol/ Спецификация DNSCrypt https://www.nlnetlabs.nl/projects/unbound Кэширующий DNS-сервер https://dnsdist.org/ DNS load balanser https://github.com/jedisct1/dnscrypt-proxy DNSCrypt-proxy 2 https://github.com/cofyc/dnscrypt-wrapper Серверная обёртка DNSCrypt https://dns.yandex.ru/ Яндекс.DNS 26 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  27. 27. DNS-over-TLS (DoT) Основные задачи ● Аутентификация ресолвера ● Защита обмена между потребителем ресолвером Принцип действия Между потребителем и ресолвером устанавливается защищенное TLS-соединение. Внутри соединения – стандартный DNS протокол. 27 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  28. 28. DNS-over-TLS. Особенности ● Требует установки TLS-соединения ● Не меняет спецификацию DNS ● Требует стартовых настроек клиента, если вы не Cloudflare и не можете получить сертификат x509 на IP-адрес ● 853 порт 28 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  29. 29. DNS-over-TLS. Поддержка Клиенты systemd-resolved Ресолверы (могут принять) unbound, CoreDNS, dnsdist, KNOT Resolver Ресолверы (могут спросить) unbound, CoreDNS Сервисы Cloudflare DNS, Quad9 29 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  30. 30. DNS-over-TLS. Материалы RFC7858 Спецификация DNS-over-TLS https://www.nlnetlabs.nl/projects/unbound Кэширующий DNS-сервер https://dnsdist.org/ DNS load balanser https://coredns.io/ CoreDNS сервер 30 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  31. 31. DNS-over-HTTPS (Google API) Google предоставляет JSON-API к DNS Страница с описанием: https://developers.google.com/speed/public-dns/docs/dns-over-https Массово используется для веб-приложений 31 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  32. 32. DNS-over-HTTPS (DoH) Основные задачи ● Аутентификация ресолвера ● Защита обмена между потребителем ресолвером Принцип действия Формируется специальный HTTP-запрос к ресолверу, в котором в один из параметров закодировано стандартное сообщение DNS. В ответ ресолвер отдает соответствующее сообщение DNS. 32 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  33. 33. DNS-over-HTTPS. Особенности ● Работа через HTTPS ● Требует стартовых настроек клиента, если вы не Cloudflare и не можете получить сертификат x509 на IP-адрес ● Экспериментальный 33 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  34. 34. DNS-over-HTTPS. Поддержка Клиенты FireFox, curl Ресолверы (могут принять) dnsdist-doh, facebook doh-proxy Ресолверы (могут спросить) dnscrypt-proxy Сервисы Cloudflare DNS, Google DNS 34 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  35. 35. DNS-over-HTTPS. Материалы https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-14 DoH Draft https://facebookexperimental.github.io/doh-proxy/ Facebook DoH proxy https://github.com/ahupowerdns/pdns/tree/dnsdist-doh Dnsdist-doh https://github.com/curl/curl/wiki/DNS-over-HTTPS Страница Curl о DoH Страница FireFox о DNS-over-HTTPS: https://blog.nightly.mozilla.org/2018/06/01/improving-dns-privacy-in-firefox/ 35 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  36. 36. Минимизация QNAME Во время рекурсивного обхода ресолвер запрашивает у каждого сервера искомый домен. В итоге каждый сервер на пути обхода знает, кто и что конкретно искал. RFC7816 предлагает экспериментальную методику увеличения приватности при рекурсивном обходе. 36 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  37. 37. Некоторые соображения ● Многие программы по умолчанию настраивают "opportunistic" режим. Это опасно ● Методов стало больше одного, информация не всегда обновляется и зачастую запутанна ● Just do it! Полезные ссылки https://dnsprivacy.org Проект DNSPrivacy 37 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  38. 38. Вопросы Если возникли вопросы, предложения или требуется помощь, да и в любом случае — пишите мне: phil@diphost.ru 38 D I P H O S T CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE
  39. 39. Это бесплатный документ, переданный в общественное достояние. Любой человек может свободно копировать, изменять, публиковать, цитировать, использовать, продавать или распространять этот документ на любых носителях целиком или по частям для любых коммерческих или некоммерческих целей во всех смыслах. Общественное достояние D I P H O S T 39 CryptoInstallFest 5Эшер II Филипп Кулин, III квартал 2018 года, UNLICENSE

×