Система доменных имен dns

Как работает

На заре развития Интернета существовала «плоская» система наименований: у каждого пользователя был отдельный файл, в котором содержались списки необходимых ему контактов. Когда он подключался к Всемирной паутине, то его данные рассылались на другие устройства.

Система доменных имен dns

Однако из-за стремительного развития Интернета необходимо было максимально упростить обмен данными. Поэтому его разделили на меньшие сегменты-домены. В свою очередь, они разделяются на поддомены. На вершине адреса, поданного в именной форме, находится корень – основной домен.

Поскольку Интернет – это американская разработка, то существует два типа первичных доменов:

общие домены, которые принадлежат учреждениям США:

  1. com – бизнес-организации;

gov – правительственные заведения;

edu – образовательные учреждения;

mil – военные представительства;

org – частные организации;

net – интернет-провайдера.

коренные домены других страны состоят из двух букв.

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

Система доменных имен dns

Точка исполняет роль разделителя между доменами разными порядка. В конце имени точка не ставится. Каждый отдельный домен с точкой называется меткой.

Ее длина не должна превышать 63 символа, а полная длина адреса – 255 знаков. В основном, используются латиница, цифры и знак дефиса, однако несколько лет назад начали использовать начали использовать приставки на основе других систем письменности. Регистр букв не имеет значения.

Система доменных имен dns

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

Поиск необходимых данных происходит так:

  • когда человек хочет найти определенный сайт, служба делает запрос на локальный сервер;

если у него есть эти данные, то клиент (это – пользователь, осуществляющий запрос) получает оповещение, что такая страница существует. Браузер получает ее адрес и загружает ее;

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

Как работает DNS

Важно различать использование публичного и частного DNS

  • Общедоступный ДНС: IP-записи обычно предоставляются вашему бизнесу вашим интернет-провайдером (ISP). Эти записи доступны для общественности, независимо от того, какое устройство они используют.
  • Частный ДНС. Частный ДНС отличается от общедоступного тем, что он находится за брандмауэром компании и содержит только записи внутренних сайтов. В этом случае частный ДНС ограничен в своей области запоминанием IP-адресов из используемых внутренних сайтов и служб и не может быть доступен вне частной сети.

В большинстве случаев пользователи будут полагаться на общедоступный ДНС при преобразовании имен хостов в IP-адреса. Вот общий обзор того, как этот процесс работает:

Пользователь вводит доменное имя или URL (например, www.example.ru) в браузер. Затем он отправляет запрос на локальный DNS-сервер, обычно предоставляемый локальной OC или поставщиком услуг Интернета. Этот посредник между клиентом и DNS-сервером имен известен как рекурсивный распознаватель. Он предназначен для запроса или получения запрашиваемой информации о сервере имен к клиенту и от него.Система доменных имен dns

Рекурсивный распознаватель делает запрос, который передается корневым серверам имен, отвечающим соответствующим сервером имен TLD.

Корневые серверы имен также контролируются Интернет-корпорацией по присвоению имен и номеров (ICANN). Сервер имен TLD — это то, что содержит всю информацию URL-адресов, которые заканчиваются общими расширениями, такими как com,ru, net, и прочие.

ДНС стал критически важным для основных функций Интернета. Он помогает пользователям легко ориентироваться в море IP-адресов с помощью записей ресурсов. Без этих важных процессов невозможно поддерживать все функции, которые мы используем ежедневно в режиме онлайн.

К тому же, это ограничивало бы наши возможности в:

  • настройке почтовых служб
  • перенаправления веб-сайтов
  • распознавания сложных веб.

Но что делает поиск ДНС таким удивительным? Все поисковые запросы и перенаправления сервера происходят за считанные миллисекунды, не влияя на клиентскую сторону.

История

Основатели компании в 1990-х годах занимались компьютерным бизнесом: сборкой и продажей ПК, системной интеграцией. В 1998 году после дефолта они решили переориентироваться с обслуживания корпоративных клиентов на розничную торговлю. Была основана компания DNS (Digital Network System) и открыт первый магазин во Владивостоке, в одном из помещений которого велась сборка компьютеров.

С 2005 года компания начинает развивать торговую сеть, открывая свой второй магазин в Находке. В том же году DNS выходит за пределы Приморского края, третий магазин сети появляется в Хабаровске. В 2006 году открывается магазин в Иркутске, в  — магазины в Комсомольске-на-Амуре, Благовещенске, Томске и Абакане. В течение —2009 годов открыты магазины в Чите, Новосибирске, Красноярске, Екатеринбурге, Челябинске, Ростове-на-Дону, Южно-Сахалинске. Одновременно с развитием в новых регионах расширяется уже существующая сеть в регионах присутствия.

В 2010 году филиальная сеть компании состояла из более чем 100 магазинов в 28 городах России, в которых было занято более 1,5 тыс. сотрудников. На начало 2011 года было открыто более 185 магазинов в 60 городах России, численность коллектива составила более 3,5 тыс. сотрудников. Компания к этому времени начала экспансию в столичный регион (Москва, Подмосковье), продолжая развиваться в Сибири и на юге страны. На июль 2013 года открыто более 700 магазинов в более чем 200 городах России.

В 2012 году в городе Артём Приморского края начал работать построенный DNS завод, рассчитанный на сборку 1,5 млн компьютеров и ноутбуков в год. По итогам того же 2012 года выручка компании составила 86,4 млрд руб., что позволило ей занять 60-е место в рейтинге 200 крупнейших частных компаний России 2013 года журнала Forbes.

Параллельно сети магазинов DNS её владельцы начали развивать сеть электронных дискаунтеров TechnoPoint, включающую магазины-склады, заказы в которых делаются через интернет или электронные терминалы. Филиалы сети работают в 20 городах России, преимущественно на Дальнем Востоке и в Сибири.

Что такое DNS

Система доменных имен (DNS) — это то, что позволяет пользователям подключаться к веб-сайтам. В результате, используются доменные имена в Интернете и доступные для поиска URL-адреса, а не числовые адреса интернет-протокола. Вместо того, чтобы запоминать IP-адрес, пользователи могут вместо этого ищут вбивая запрос.Система доменных имен dns

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

Технология перевода, лежащая в основе ДНС, также полностью определила, как компании используют Интернет. Особенно это заметно при создании фирменного стиля и представлении своих клиентов. Без использования системы доменных имен клиенты теряют информацию о том, какие сайты они ищут. И хотя IP-адреса могут время от времени меняться, доменные имена легко запоминаются и остаются неизменными.

Как работают DNS-серверы

Рассмотрим поэтапно функционирование приложений, предназначенных для ответа на DNS-запросы:

  1. Браузер получает запрос от пользователя и направляет его DNS-серверу сети, который ищет совпадение доменного имени и сетевого адреса. Если ответ обнаружен, то страница сайта загружается сразу. В противном случае запрос будет отправлен серверу более высокого уровня или корневому.
  2. Корневой сервер направляет запрос серверу первого уровня, который в свою очередь передает его серверу второго уровня. Это движение продолжается до тех пор, пока не будет найдено совпадение имени и IP-адреса.
  3. Браузер получает ответ на свой запрос, направляет его к хостингу, и страница открывается.

Также возможна обратная процедура — поиск имени домена в DNS-сервере, соответствующего запрашиваемому IP-адресу. К примеру, это происходит в случае работы с сервером электронной почты.

Как настроить DNS сервера в Windows

В разных версиях Windows настройка осуществляется одинаково, несколько отличается только внешний вид окон, поэтому покажем на примере Windows 10. Нам нужны настройки подключения к интернету, для этого щелкаем правой кнопкой мыши на соответствующем значке в системном трее и выбираем «Открыть „Параметры сети и Интернет“» и затем щелкаем по «Настройка параметров адаптера».

Система доменных имен dns

Альтернативный вариант нажать сочетание клавиш WIN+R затем ввести команду и нажать Enter. В результате откроется окно «Сетевые подключения» где выбираем интересующее нас подключение если их несколько, щелкаем по нему правой кнопкой мыши и выбираем в контекстном меню пункт «Свойства». Появится окно где нам нужна строчка «IP версии 4 (TCP/IPv4)» или версии 6, смотря какой у вас используется.

Система доменных имен dns

После этого нажимаем кнопку «Свойства» и попадаем в настройки данного протокола. В данном случае нас интересует нижний блок, связанный с DNS-серверами.

Система доменных имен dns

Вы наверняка уже обратили внимание, что в настройках подключения доступны 2 варианта. Первый вариант предлагает «Получить адрес DNS-сервера автоматически» — это значит, что ваш провайдер интернета будет присылать вам адреса днс серверов сам и скорее всего это будут сервера самого провайдера

Если хотите этот вариант, то выбираете его нажимаете OK.

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

Второй вариант «Использовать следующие адреса DNS-серверов» предполагает указание их пользователем самостоятельно. Это более гибкий вариант, только откуда взять адреса DNS серверов?

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

IP DNS серверов Яндекса:

Обычные

77.88.8.8

77.88.8.1

Безопасные — в базе отсутствуют мошеннические и вредоносные сайты

77.88.8.88

77.88.8.2

Семейные — тоже что безопасные плюс отсутствуют сайты для взрослых

77.88.8.3

77.88.8.7

8.8.8.8

8.8.4.4

IP DNS серверов проекта OpenDNS:

208.67.222.222

208.67.220.220

208.67.222.220

208.67.220.222

Вписываете в соответствующие поля нужные вам адреса и сохраняете настройки нажав OK. Возможность указать два адреса нужна на тот случай, что если окажется недоступен основной адрес, то Windows переключится на «Альтернативный DNS-сервер»

Зачем в интернете нужны DNS-серверы

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

Каждую точку подключения (клиентский компьютер) идентифицировали в сети при помощи IP-адреса. Что расшифровывается как Internet Protocol Address – адрес интернет-протокола.

IP-адрес выглядит примерно, как номер сотового телефона:

  • 59.109.189
  • 59.110.48
  • 59.109.207

Со временем количество пользователей интернета значительно увеличилось и тогда, для облегчения задачи серфинга в сети, было предложено ассоциировать цифровые IP-адреса сайтов с вербальными (словесными) доменными именами.

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

По-английски Domain Name System или сокращенно DNS.

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

  • Сервера доменных имен верхнего уровня – COM, RU и так далее.
  • Сервера со списками доменных имен второго уровня – google.com.
  • Сервера доменов третьего уровня – api.google.com.

Самую верхнюю позицию в иерархии занимают корневые DNS-сервера, на которых хранятся списки серверов доменных имен верхнего уровня. Корневых ДНС-серверов во всем мире чуть более 10 штук.

Говоря простыми словами, система доменных имен функционирует, как глобальный адресный стол для всемирной сети.

В локальных отделениях DNS хранятся ассоциированные с доменными именами IP адреса сайтов, относящиеся к данному региону. Если на местном сервере DNS оказывается невозможно найти адрес сайта по запрашиваемому доменному имени, запрос делегируется к следующему уровню системы.

И вот таким образом поиск IP-адреса по заданному браузером доменному имени происходит до тех пор, пока нужный сайт не будет обнаружен на одном из ответственных за его хранение серверов DNS.

Пример работы, как браузер находит сайт

Чтобы понять, как все это работает, давайте рассмотрим на конкретном примере поиска какого-либо сайта.

Такой достаточно сложный алгоритм поиска IP адреса сайта по доменному имени получается потому, что сегодня интернет-ресурсов во всемирной сети уже более миллиарда.

Hosts-файл

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

Это обычный текстовый файл, но не имеющий расширения txt. Дело в том, что Hosts-файлы могут присутствовать на компьютерах и других операционных систем, а не только Windows.

На альтернативных OS расширения файлов могут не совпадать, поэтому договорились использовать текстовый документ Hosts вообще без указания типа файла.

Hosts-файл содержит список сопоставления доменных имен известных пользователю интернет-ресурсов и их IP-адресов.

127.0.0.1 localhost

Сначала прописывается IP-адрес, а затем название интернет-ресурса.

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

Указанная выше запись из Hosts-файла означает, что по такому IP адресу находится сам пользовательский компьютер. В большинстве случаев на современных персональных компьютерах эта запись является единственной.

Иногда продвинутые пользователи, для того, чтобы заблокировать посещение какого-либо сайта, добавляют в Hosts-файл запись, в которой сопоставляют доменное имя нежелательного ресурса с IP-адресом компьютера.

В случае запроса браузера по данному доменному имени происходит обращение к локальной системе и перейти на сайт оказывается невозможно.

Например, пользователь не хочет, чтобы его дети посещали какие-либо сайты. Тогда можно отредактировать Hosts-файл и указать в качестве IP-адреса нежелательного сайта локальный хост.

Hosts-файл иногда используется хакерами для того чтобы перенаправить пользователя на фишинговые страницы. Если пользователь посетит зараженный сайт и загрузит оттуда вирус, то этот вирус может произвести изменения в записях Hosts-файла.

Например, доменному имени надежного онлайн-банка будет ассоциирован IP-адрес мошеннического ресурса. Набрав в браузере адрес банка, пользователь попадет на сайт мошенников и потеряет свои деньги.

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

Passive DNS в руках аналитика

Система доменных имен (DNS) является подобием телефонной книги, которая переводит удобные для пользователя имена, такие как «ussc.ru», в IP-адреса. Так как активность DNS присутствует практически во всех сеансах связи, независимо от протокола. Таким образом DNS логирование является ценным источником данных для специалиста по информационной безопасности, позволяющее им обнаруживать аномалии или получать дополнительные данные об исследуемой системе.

В 2004 году Флорианом Ваймером был предложен такой метод логирования, как Passive DNS, позволяющий восстанавливать историю изменений DNS данных с возможностью индексации и поиска, которые могут предоставлять доступ к следующим данным:

  • Доменное имя
  • IP-адрес запрошенного доменного имени
  • Дату и время ответа
  • Тип ответа
  • и т.д.

Данные для Passive DNS собираются с рекурсивных DNS-серверов встроенными модулями или с помощью перехвата ответов от DNS-серверов, ответственных за зону.

Рисунок 1. Passive DNS (взят с сайта Ctovision.com)

Структура DNS пакета

Предисловие

Решил как то написать снифер DNS, так сказать just for fun. Просто посмотреть какие адреса в моей системе резолвятся. Протокол старый, документации должно быть много. Много. Но все статьи очень не полные и заканчиваются, на самом интересном моменте. Да, есть rfc1035, но хотелось бы на русском и с пояснениями. Собственно по накоплению опыта и разбора пакета и созрела данная статья. Она рассчитана на тех, кто понимает, что такое DNS и понимает, что бывают запросы и ответы. Для тех, кто хочет немного разобраться в структуре данного протокола.
Статья предполагает теорию, а потом немного практики.

Защита DNS-серверов от атак

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

Наиболее опасными считают нападения на корневые серверы, хранящие данные об IP-адресах. Например, в историю вошла произошедшая в октябре 2002 года DDoS-атака на 10 из 13 серверов верхнего уровня.

Протокол DNS получает результаты по запросам с помощью протокола пользовательских датаграмм UDP. UDP использует модель передачи данных без соединений для обеспечения безопасности и целостности информации. Таким образом, большинство атак производятся на этот протокол с помощью подделки IP-адресов.

Существует несколько схем, настройка которых позволит защитить DNS-сервер от атак хакеров:

  • Использование технологии uRPF (Unicast Reverse Path Forwarding).
    Суть состоит в том, чтобы определить возможность принятия пакета с конкретным адресом отправителя на указанном устройстве для передачи данных. Пакет проходит проверку и принимается в том случае, когда сетевой интерфейс, с которого он получен, предназначен для обмена информацией с адресатом данного пакета. В обратной ситуации пакет будет отброшен. Этот способ помогает выявить и частично отобрать фальшивый трафик, но не гарантирует надежную защиту от фальсификации. uRPF полагает, что данные отправляются на определенный адрес через неизменный интерфейс. Ситуация усложняется, если появляется несколько провайдеров.
  • Применение функции IP Source Guard.
    В ее основе лежит технология uRPF и проверка DHCP-пакетов. IP Source Guard отслеживает DHCP-трафик в интернете и выясняет, какие IP-адреса получили сетевые устройства. Это позволяет выявить поддельный трафик на некоторых портах установки. После этого данные собираются и записываются в общую таблицу итогов проверки DHCP-пакетов. В дальнейшем IP Source Guard обращается к этой таблице, чтобы осуществить проверку пакетов, полученных коммутатором. Если IP-адрес пакета не совпадает с адресом источника, то пакет откладывается.
  • Использование утилиты dns-validator.
    Эта программа контролирует передачу всех пакетов DNS, соотносит запрос с ответом и в случае расхождения названий отправляет уведомление пользователю.

Типы записей DNS-сервера

Одному домену могут подходить несколько сетевых адресов, например, интернет-сайт и почтовый сервер. Более того, каждое доменное имя содержит один или несколько поддоменов.

Все соответствия домена и его IP-адресов хранятся в файле на DNS-сервере, содержимое которого называется DNS-зона. Чтобы внести информацию в систему DNS, необходимо прописать ресурсные записи.

Различают несколько ключевых типов ресурсных записей, информация о которых хранится на DNS-сервере:

  • А — адрес веб-ресурса, который соответствует введенному имени домена.
  • MX — адрес почтового сервера.
  • CNAME — указание привязки аналога к собственному доменному имени. Чаще всего используется для прикрепления поддомена. Например, можно привязать веб-адрес www.site.ru к фактическому сайту для домена site.ru.
  • NS — адрес DNS-сервера, отвечающего за содержание прочих ресурсных записей.
  • TXT — любая текстовая информация о домене.
  • SPF — данные с указанием списка серверов, которым позволено отправлять письма от имени указанного домена.
  • SOA — исходная запись зоны, в которой указаны сведения о сервере, содержащем образцовую информацию о доменном имени.  

разрешение DNS

DNS-рекурсор

DNS-рекурсор также называется DNS resolver. Это сервер, который отвечает за прием запросов от клиентских машин через приложения, такие как интернет-браузеры.

Корневой сервер имен

Существует 13 корневых серверов, стратегически распределенных по всему миру. Функция перенаправления DNS-рецидива на сервер имен ДВУ. Это очень похоже на индекс, который работает как ссылка для определения IP-адреса узла сайта.

Сервер имен домена верхнего уровня (ДВУ)

В зависимости от ДВУ доменного имени серверы имен ДВУ различают веб-сайты, оканчивающиеся на .com, .net и .org. Затем сервер имен ДВУ перенаправляет ретранслятор на соответствующий уполномоченный сервер имен.

Авторитетный сервер имен

Серверы имен ДВУ имеют уполномоченные серверы имен, которые могут получать определенный IP-адрес для веб-доменов.

Посредством этих компонентов пользователь может получить доступ к веб-сайту, просто набрав имя веб-сайта. Далее процесс разрешения DNS разбит на следующие этапы:

  1. Пользователь вводит доменное имя в веб-браузер.
  2. Контакты и запросы устройства DNS повторяются. DNS-рецидивы могут иметь IP-адрес сайта, кэшированный в их базе данных.
  3. Если информация еще не попала в их систему, DNS запрашивает корневые DNS-серверы имен, которые, в свою очередь, перенаправляют ее на указанный сервер ДВУ на основе ДВУ веб-сайта.
  4. Каждый ДВУ имеет свой собственный набор серверов имен. Они направляют повторяющиеся запросы на уполномоченный сервер имен, основанный на домене второго уровня, и повторяющиеся запросы на упомянутый уполномоченный сервер имен.
  5. Рекурсор извлечет данные и сохранит запись в локальном кэше. Затем он посылает IP-адрес на ваш компьютер, который считывает и передает IP-адрес вашему браузеру.
  6. Теперь ваш браузер имеет доступ к веб-сайту.