Linux глазами хакера
Шрифт:
Большая часть этого файла нам уже знакома. Самое интересное хранится в последних двух строках. Здесь находится связка IP-адресов и имен серверов. Не забываем, что файл отвечает за сеть с адресами 190.12.10.*. Звездочка заменяется числом, стоящим в первой колонке, а имя, соответствующее этому адресу, указано в последнем столбце. По этому файлу мы видим следующие соотношения:
190.12.10.1 = servername.com.
190.12.10.2 = mail.servername.com.
Еще раз напоминаю, что точка в конце символьного адреса обязательна.
Для
11.7. Безопасность DNS
Если посмотреть на задачи, которые решает служба, то ничего сверх страшного в ней нет, и хакер не сможет ничего сделать. Как бы не так. Были случаи, когда DNS-серверы выводили из строя. Тогда обращение по именам становилось невозможным, а значит, сетевые программы переставали работать. Пользователи не привыкли использовать IP-адрес, поэтому падение DNS для них смертельно.
Помимо вывода из строя сервера DNS может предоставлять хакеру слишком много информации, из которой он сможет узнать структуру сети. Чтобы этого не произошло, желательно использовать два DNS-сервера:
1. Общедоступный, содержащий необходимые строки для работы удаленных пользователей с общими ресурсами.
2. Локальный, видимый только пользователям вашей сети и содержащий все необходимые записи для их работы.
На локальном сервере можно так настроить сетевой экран, чтобы он воспринимал только внутренний трафик и игнорировал любые попытки обращения из всемирной сети. В этом случае злоумышленнику будет проблематично не только посмотреть базу данных DNS, но и нарушить работу сервера. Таким образом, все локальные пользователи будут лучше защищены от нарушения работы DNS и могут спать спокойным сном, пока их охраняет сетевой экран.
Для каждого первичного можно завести по одному вторичному серверу. Это позволит распределить нагрузку между ними и уменьшить время отклика и, конечно же, повысить отказоустойчивость. При выходе из строя одного из серверов второй возьмет на себя его функции и не позволит сети остаться без удобной возможности адресации к компьютерам по имени.
Использование парных серверов позволяет повысить производительность и безопасность. Сервисы DNS под Linux не очень требовательны к оборудованию, В моей сети работает четыре сервера на базе Red Hat Linux в текстовом режиме на компьютерах Pentium с частотой от 400 до 700 МГц. Когда-то это были офисные машины, но их мощности перестало хватать, и я превратил старое железо в DNS-серверы. Для выполнения этой задачи такой древней техники более чем достаточно и хватит на ближайшие годы. Таким образом, старому компьютеру можно дать новую жизнь, и довольно долгую, а главное, что для компании такое решение окажется приемлемым по цене.
Но технология создания вторичных серверов опасна. С помощью команды
Для получения базы взломщик может выполнить следующую директиву:
В ответ на это хакер получит из базы данных все записи о сервере server.com, Чтобы предотвратить это, необходимо явно прописать адреса вторичных серверов в файле named.conf. Для этого в разделе
Такого рода ограничение можно поместить и в описании отдельных зон, но лучше сделать это один раз в глобальных опциях. Если у вас нет вторичных серверов, то запретите перенос данных в эту зону следующей строкой:
Серверы DNS
могут быть подвержены атаке DoS. В ноябре 2002 года был произведен один из самых громких налетов на Интернет такого типа. Атака шла сразу на несколько корневых серверов. Если бы работу DNS выполнял только один сервер, то через некоторое время после начала штурма Интернет стал бы недоступным. Сеть осталась работоспособной благодаря следующим факторам:□ избыточности серверов, которые дублируют записи;
□ наличию кэширующих серверов;
□ установке прокси-серверов, которые также умеют кэшировать DNS-записи.
В остальном защита DNS и любых других сервисов и ОС Linux идентичны. Как я уже говорил, лучший сервер — это тот, который выполняет узкую задачу. В нем меньше открытых портов и запущенных сервисов, поэтому его труднее взломать. Единственная сложность — большое количество серверов усложняет процесс обновления ОС. В Linux тоже бывают ошибки, и их надо исправлять, поэтому под эту процедуру попадают все серверы, в том числе и DNS.
Глава 12
Мониторинг системы
Первоначальная задача администратора — установить систему, правильно распределить права доступа и настроить все необходимые сервисы. После этого многие из них складывают ручки и начинают гонять монстров по коридорам виртуального мира Doom3. Если вы являетесь таким администратором, то рано или поздно ваша система будет взломана, и последствия будут плачевными.
Чтобы уменьшить вероятность проникновения в систему постороннего или обезопасить себя от недобросовестных пользователей вашей сети, нужно постоянно держать сервер под контролем. Большинство взломов происходит благодаря тому, что администраторы не успевают обновить какие-либо сервисы и установить заплатки. Очень часто взломщики узнают об уязвимости раньше и начинают ломать все серверы с этой ошибкой, которые попадаются на глаза.
Хороший администратор может и должен найти информацию об уязвимости и сделать все необходимое для предотвращения любой атаки. Для этого должен производиться регулярный мониторинг системы и поиск узких мест. Иногда хакеры проникают в систему и долгое время находятся в ней, не проявляя видимой активности. Вы должны уметь найти таких мышек и обезвредить до того, как они смогут натворить что-либо печальное.
Если взлом произошел, то ваша задача не просто восстановить работу, а предотвратить повторное вмешательство. Я много раз видел людей, которые после взлома просто восстанавливают удаленные файлы и продолжают заниматься своими делами в надежде, что такое не повторится. Это ошибка, потому что хакер уже почувствовал себя безнаказанным и обязательно вернется.
К следующему визиту вы должны быть готовы. Сделайте все возможное, чтобы найти сведения о взломщике, о том, как он проникает на сервер, и постарайтесь блокировать атаку. Вы также должны просмотреть все последние бюллетени ошибок (BugTraq) в поисках информации о дырах в вашей версии ОС и установленных сервисах.
Не будем дожидаться, когда злоумышленник проникнет в систему, и мы потеряем сон. Давайте рассмотрим действия, которые можно произвести еще до взлома, когда система работает нормально. Это поможет повысить безопасность сервера.
Все, о чем мы будем говорить в этой главе, необходимо делать и до проникновения в систему и после. Взломщики иногда оставляют потайные двери (например, устанавливают SUID-бит на программу, где его не должно быть), и вы должны регулярно сканировать систему на предмет безопасности описанными ниже методами. Особенно это касается новой системы (сразу после инсталляции и настройки), обновления, добавления программ или сразу после взлома.
12.1. Автоматизированная проверка безопасности