Существуют автоматические методы настройки адресов DNS для пользовательских компьютеров, подключенных к локальной сети. Их подробное рассмотрение выходит за рамки книги. Ключевой момент тут простой: базовые адреса для работы DNS жестко задаются извне, но при этом никто не может помешать сделать нестандартные настройки, то есть, например, использовать какие-то другие корневые серверы. Именно здесь и коренится основа доменных войн (или так называемых войн DNS, приведших в конце 1990-х годов к серьезным изменениям в политике управления Сетью). Подробнее об этой основе и ее историческом значении рассказывается в главе 3.
Другой особенностью корневых серверов глобальной DNS является то, что изменение их IP-адресов (напомню, что именно по этим адресам компьютеры в Сети находят друг друга) – очень большая проблема. Действительно, использовать DNS для первичного поиска адресов корневых серверов не получится, так как именно с обращения к ним начинается работа с самой DNS. Сохраненные в исходных настройках той или иной операционной системы компьютера IP-адреса корневых серверов очень сложно будет поддерживать в актуальном состоянии, если они начнут часто изменяться.
Посудите сами: разнообразных классов/типов/линеек/ версий операционных систем в лучшем случае насчитываются как минимум сотни. Дистрибутивы (наборы файлов, служащие для установки операционной системы на компьютер) также бывают самыми разными и сохраняются в неизменном состоянии годами. Что уж говорить про уже настроенное программное обеспечение – оно также не всегда обновляется, а если и обновляется, то далеко не оперативно. В итоге получается, что изменить IP-адрес корневого сервера не так трудно, но вот отследить и скорректировать все директивные упоминания старого адреса – задача чрезвычайной сложности. Если такое произойдет, многие компьютеры продолжат обращаться по старому адресу корневого сервера и не смогут получить ответ. Впрочем, так как серверов несколько, возможна постепенная «миграция» адресов: не сумев установить соединение с одним из корневых серверов, компьютер, пытающийся работать с DNS, соединится с другим корневым сервером, адрес которого не изменялся, и получит возможность определить актуальные адреса всех 13, уже задействовав DNS.
На практике, однако, после изменения IP-адресов некоторых корневых серверов запросы по старым адресам продолжали фиксироваться еще долгие годы после «переезда». Эта особенность только подтверждает факт, что DNS в глобальном плане требует очень непростого управления и весьма чувствительна к изменениям. Одно неловкое движение – и случится неприятность: Интернет для всех рядовых пользователей «погаснет».
С DNS связано множество проблем безопасности, актуальных как для клиентских компьютеров, так и для всей Глобальной сети в целом. Например, особо продвинутые хакеры могут проводить атаки на серверы DNS с целью их перегрузки, вызывающей отказы в обслуживании. Подмена адресов в DNS может приводить к тому, что пользователи, набирающие в адресной строке привычное имя домена, ранее привязанного к одному сайту, будут соединяться с совсем другим сервером, например с сервером злоумышленников, представляющим собой поддельный интернет-магазин, собирающий данные о кредитных картах посетителей.
Проблемы безопасности в DNS в основном связаны с тем, что, когда эта система создавалась в 1980-х годах, Интернет был другим – в нем все друг друга знали. Так что во время становления Глобальной сети не задумывались об атаках, оказавшихся возможными теперь. Важную роль сыграл и тот факт, что на базе вычислительных мощностей, типичных для компьютерного коммуникационного оборудования конца 70-х годов прошлого века, просто невозможно было реализовать DNS, защищенную от недобросовестных участников, – такая система обошлась бы слишком дорого.