Книга: Linux глазами хакера

11.7. Безопасность DNS

11.7. Безопасность DNS

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

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

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

2. Локальный, видимый только пользователям вашей сети и содержащий все необходимые записи для их работы.

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

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

Использование парных серверов позволяет повысить производительность и безопасность. Сервисы DNS под Linux не очень требовательны к оборудованию, В моей сети работает четыре сервера на базе Red Hat Linux в текстовом режиме на компьютерах Pentium с частотой от 400 до 700 МГц. Когда-то это были офисные машины, но их мощности перестало хватать, и я превратил старое железо в DNS-серверы. Для выполнения этой задачи такой древней техники более чем достаточно и хватит на ближайшие годы. Таким образом, старому компьютеру можно дать новую жизнь, и довольно долгую, а главное, что для компании такое решение окажется приемлемым по цене.

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

Для получения базы взломщик может выполнить следующую директиву:

host -l server.com nsl.server.com

В ответ на это хакер получит из базы данных все записи о сервере server.com, Чтобы предотвратить это, необходимо явно прописать адреса вторичных серверов в файле named.conf. Для этого в разделе options{...} добавляем строку:

allow-transfer {192.168.1.1;}

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

allow-transfer {none;}

Серверы DNS могут быть подвержены атаке DoS. В ноябре 2002 года был произведен один из самых громких налетов на Интернет такого типа. Атака шла сразу на несколько корневых серверов. Если бы работу DNS выполнял только один сервер, то через некоторое время после начала штурма Интернет стал бы недоступным. Сеть осталась работоспособной благодаря следующим факторам:

? избыточности серверов, которые дублируют записи;

? наличию кэширующих серверов;

? установке прокси-серверов, которые также умеют кэшировать DNS-записи.

В остальном защита DNS и любых других сервисов и ОС Linux идентичны. Как я уже говорил, лучший сервер — это тот, который выполняет узкую задачу. В нем меньше открытых портов и запущенных сервисов, поэтому его труднее взломать. Единственная сложность — большое количество серверов усложняет процесс обновления ОС. В Linux тоже бывают ошибки, и их надо исправлять, поэтому под эту процедуру попадают все серверы, в том числе и DNS.

Оглавление книги


Генерация: 1.009. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз