DNS Что это? Использование Проблемы и методы их решения Даниил Малых 08.07.2013 Что такое домен? Домен второго уровня IP-адрес Info.nic.ru = 194.85.61.42 Домен третьего уровня Домен верхнего (первого) уровня Yandex.ru Google.com Mimitech.ru BBC.co.uk Lenta.ru Введение: как работает DNS ОСНОВЫ DNS — сервис, преобразующий «человекопонятные» адреса. ОСНОВА ПОЛЬЗОВАТЕЛЬСКОЙ НАВИГАЦИИ В ИНТЕРНЕТЕ Корневой DNSсервер Сервер провайдера Сервер зоны RU Да, вот он! 194.85.61.42 Сервер домена nic.ru Запрашивается сайт nic.ru Содержание запрашиваемой страницы с сайта 194.85.61.42 IP-адрес сайта nic.ru не подскажете? ОСНОВЫ www.nic.ru? Сервер имён .NIC.RU. Сервер имён .RU. Кеширующий сервер провайдера Корневой сервер Имён '.' Кеширование — важнейший аспект, делающий систему распределённой Временные параметры: TTL - время «актуальности» данных. Иерархия источников: всё определяют авторитативные серверы. Управление DNS DNS домена •Может быть на web-сервере вместе с сайтом •Может быть на отдельном сервере • • • • Не хватает возможностей панели хостинга (VPS) для решения требуемых задач Много сайтов на поддержке Высокоответственные и высоконагруженные проекты Для DNS хостинга – удобная панель управления DNS домена У одного домена может быть несколько именных серверов, в случае недоступности одного будут использоваться другие Мировой опыт: чем серьезнее проект, тем сильнее уделяется внимание надежности DNS. Типы записей А — IP адрес сервера для домена CNAME — каноническая запись, псевдоним домена MX — «почтовая» запись, указывает серверы обмена почти NS — DNS-сервер домена SRV — для сервисов, с указанием хоста, порта, протокола TEXT — простая текстовая информация Использование DNS •Распределение нагрузки между серверами •Управление траффиком между серверами: •Географическое распределение аудитории •По загруженности сервера •При проведении технических работ на сервере •Повышение отказоустойчивости Запрос DNS: «nic.ru?» Ответ «извне»: «nic.ru = 10.10.10.100 TTL = 1 min» 10.10.10.100 10.10.10.101 10.10.10.102 10.10.10.103 Негативное использование ПРИМЕРЫ Для чего fast flux? «Абузоустойчивый» хостинг; Сокрытие следов; Преодоление фильтров. by Roomic Cube Fast flux — не «криминален» сам по себе: Используется для распределения нагрузки; Годится на роль инструмента защиты «добропорядочных, но проблемных» веб-сайтов. ПРИМЕРЫ «DNS rebinding» Штатная работа DNS + дефекты политик безопасности в браузерах и другом ПО Замена адреса NS-ом при повторном обращении 1. Запрос: tram-pam.evildomain.tld? Ответ: IP сервера-источника (TTL=1s); 2. Атакующая система Загрузка веб-страницы с «активным содержимым» в браузер; 3. Запрос: tram-pam.evildomain.tld? Ответ: IP машины внутренней сети. Корпоративная сеть Интернет Ограничение запросов по имени хоста-источника — связано с DNS Экран Javascript (XMLHttpRequest), Flash, Java — были уязвимы ПРИМЕРЫ «Отравление кеша» Фундаментальные «дыры» DNS используются во вред Запрос evildomain.tld. IN A Ответы о чужих доменах: Кеширующий сервер Подмена IP-адреса «легитимного» NS; Подмена имени авторитативного NS; UDP + tr. ID (100,101,102... ?) Предсказуемые «метки» 1989... 2007... 2008... Amit Klein, Dan Kaminsky... Плохо удостоверяется источник ответа ПРИМЕРЫ Цели отравления кеша Пользователи заманиваются на подставные серверы; Похищаются «банковские пароли»; Рассаживаются зловреды; Проводятся многоступенчатые атаки на другие ресурсы; ...и т.п., и т.д., БОНУС: В 2008 году опубликован способ генерации валидных поддельных SSL-сертификатов Изготовление поддельных сертификатов было возможно и многим ранее ПОЛОЖЕНИЕ ПОЛЬЗОВАТЕЛЕЙ «Потребители» данных DNS не имеют возможности проверить подлинность адресной информации Вынуждены доверять всем или не доверять никому DNSSEC «Хакер посередине» Клиент Авторитативный сервер Цепочка связи Адрес, подпись, ключ Клиент Клиент не знает, с кем обменивается информацией! Что делать? Авторитативный сервер Злоумышленник, с собственными «настоящими» ключами и подписями ПРИНЦИПЫ РАБОТЫ Запрос DNS: «www.google.com?» Ответ «извне»: «www.google.com = 10.10.10.100» Подписано: 2eaF37Bd2012 DNSSEC Проверка «адресных данных» и ключа 1. Получение записей DNSSEC; 2. Попытка построения цепочки доверия к Root KSK; 3. Если цепочка построена, то домен защищён ---------------------------Настоящий адрес? Спасибо за внимание! Даниил Малых dmalyh@nic.ru