Что такое DNS?

DNS - система, необходимая для конвертации доменных имён в IP-адреса и наоборот.

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

DNS расшифровывается как Domain Name System, или, по-русски, система доменных имён. Именно эта система позволяет вам запоминать не IP-адрес нужного вам сервера, а его имя, состоящее из букв и имеющее некий смысл для человека. Основные части системы DNS - это домены, поделённые на зоны, серверы и клиенты. Домены - это адреса вида kv.by, доменные зоны - это by, com, org, net и т.д., а IP-адреса - это цифровые адреса вида 127.0.0.1, использующиеся различными интернет-протоколами.

Часто в ответ на вопрос о том, как работает система DNS, "специалисты" говорят нечто вроде: "Браузер посылает запрос, DNS сервер ищет в базе данных соответствующий IP-адрес и передаёт его обратно". Такой вариант изложения работы системы DNS является, мягко говоря, несколько упрощённым. Дело в том, что нет какого-то одного-единственного DNS-сервера, к которому напрямую обращаются все мыслимые и немыслимые клиенты. Структура DNS иерархическая: если тот DNS-сервер, которому направлен запрос клиента, не имеет никакой информации об искомом домене, то он обратится к корневому (стоящему выше по иерархии) серверу. Так, по цепочке запрос клиента может дойти до сервера, являющегося в терминах DNS авторитетным для данной доменной зоны. По мере передачи ответа сервера сверху вниз по иерархии серверов адреса сохраняются в кэше, чтобы при повторном запросе не было необходимости обращения к серверам, имеющим высокий уровень в иерархии. Серверы, которые кэшируют ответы, - это рекурсивные серверы (т.к. они рекурсивно получают адреса и сохраняют их для клиентов). Серверы высоких уровней являются не рекурсивными - если они не находят адрес, нужный клиенту, они самостоятельно не проводят опрос других серверов, а предоставляют это делать клиентам (в данном случае обычно клиентами являются серверы низкого уровня).

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

Представление о том, что каждому домену соответствует один-единственный IP-адрес, также является неверным. Для тех доменов, на которые ложится очень большая нагрузка, используется несколько отдельных физических серверов для её равномерного распределения. Аналогично, для одного IP-адреса может существовать несколько разных символьных имён.

Уязвимость системы DNS, которой сейчас встревожено практически всё ИТ-сообщество, угрожает каждому пользователю Интернета, поскольку системой DNS так или иначе пользуются все. Соответственно, если злоумышленники смогут произвольно направлять пользователя на любой нужный им сайт, независимо от того, на какой хотел попасть пользователь, то это откроет золотое дно для всевозможных мошенничеств, кражи пользовательских данных и распространения вредоносного программного обеспечения.

Вадим СТАНКЕВИЧ

Версия для печатиВерсия для печати

Номер: 

30 за 2008 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!