Linux глазами хакера
Шрифт:
Но технология создания вторичных серверов опасна. С помощью команды
Для получения базы взломщик может выполнить следующую директиву:
В ответ на это хакер получит из базы данных все записи о сервере server.com, Чтобы предотвратить это, необходимо явно прописать адреса вторичных серверов в файле named.conf. Для этого в разделе
Такого рода ограничение можно поместить и в описании отдельных зон, но лучше сделать это один раз в глобальных опциях. Если у вас нет вторичных серверов, то запретите перенос данных в эту зону следующей строкой:
Серверы DNS могут быть подвержены атаке DoS. В ноябре 2002 года был произведен один из самых громких налетов на Интернет такого типа. Атака шла сразу на несколько корневых серверов. Если бы работу DNS выполнял только один сервер, то через некоторое время после начала штурма Интернет стал бы недоступным. Сеть осталась работоспособной благодаря следующим факторам:
□ избыточности серверов, которые дублируют записи;
□ наличию кэширующих серверов;
□ установке прокси-серверов, которые также умеют кэшировать DNS-записи.
В остальном защита DNS и любых других сервисов и ОС Linux идентичны. Как я уже говорил, лучший сервер — это тот, который выполняет узкую задачу. В нем меньше открытых портов и запущенных сервисов, поэтому его труднее взломать. Единственная сложность — большое количество серверов усложняет процесс обновления ОС. В Linux тоже бывают ошибки, и их надо исправлять, поэтому под эту процедуру попадают все серверы, в том числе и DNS.
Глава 12
Мониторинг системы
Первоначальная задача администратора — установить систему, правильно распределить права доступа и настроить все необходимые сервисы. После этого многие из них складывают ручки и начинают гонять монстров по коридорам виртуального мира Doom3. Если вы являетесь таким администратором, то рано или поздно ваша система будет взломана, и последствия будут плачевными.
Чтобы уменьшить вероятность проникновения в систему постороннего или обезопасить себя от недобросовестных пользователей вашей сети, нужно постоянно держать сервер под контролем. Большинство взломов происходит благодаря тому, что администраторы не успевают обновить какие-либо сервисы и установить заплатки. Очень часто взломщики узнают об уязвимости раньше и начинают ломать все серверы с этой ошибкой, которые попадаются на глаза.
Хороший администратор может и должен найти информацию об уязвимости и сделать все необходимое для предотвращения любой атаки. Для этого должен производиться регулярный мониторинг системы и поиск узких мест. Иногда хакеры проникают в систему и долгое время находятся в ней, не проявляя видимой активности. Вы должны уметь найти таких мышек и обезвредить до того, как они смогут натворить что-либо печальное.
Если взлом произошел, то ваша задача не просто восстановить работу, а предотвратить повторное вмешательство. Я много раз видел людей, которые после взлома просто восстанавливают удаленные файлы и продолжают заниматься своими делами в надежде, что такое не повторится. Это ошибка, потому что хакер уже почувствовал себя безнаказанным и обязательно вернется.
К следующему
Не будем дожидаться, когда злоумышленник проникнет в систему, и мы потеряем сон. Давайте рассмотрим действия, которые можно произвести еще до взлома, когда система работает нормально. Это поможет повысить безопасность сервера.
Все, о чем мы будем говорить в этой главе, необходимо делать и до проникновения в систему и после. Взломщики иногда оставляют потайные двери (например, устанавливают SUID-бит на программу, где его не должно быть), и вы должны регулярно сканировать систему на предмет безопасности описанными ниже методами. Особенно это касается новой системы (сразу после инсталляции и настройки), обновления, добавления программ или сразу после взлома.
12.1. Автоматизированная проверка безопасности
Практически каждый день специалисты по безопасности находят в разных системах недочеты и, откровенно говоря, дыры или даже пробоины. Весь этот перечень выкладывается в отчетах BugTraq на разных серверах. Я уже посоветовал посещать www.securityfocus.com, чтобы следить за новостями, и сейчас не отказываюсь от своих слов. Новинки действительно надо смотреть на подобных серверах, но ведь есть еще ворох старых уязвимостей, которые могли быть и не залатаны на сервере. Как же поступить с ними? Неужели придется качать все сплоиты и руками проверять каждую дыру? Ну, конечно же, нет. Существует громадное количество программ для автоматизации тестирования сервера на ошибки, и самые распространенные — SATAN, Internet Scanner, NetSonar, CyberCop Scanner.
Я не стану рекомендовать какую-нибудь определенную программу. Не существует такой утилиты, в которой была бы база абсолютно всех потенциальных уязвимостей. Поэтому скачивайте все, что попадется под руку, и тестируйте систему всеми доступными программами. Возможно, что-то вам и пригодится. Но обязательно обратите внимание на продукты компании Internet Security Systems (ISS, системы Интернет безопасности www.iss.net), потому что сканеры этой фирмы (Internet Scanner, Security Manager, System Scanner и Database Scanner) используют все три метода сканирования, о чем мы поговорим чуть позже. Сотрудники ISS работают в тесном контакте с Microsoft и постоянно обновляют базу данных уязвимостей. Но несмотря на то, что продукты этой фирмы лучшие, я советую использовать хотя бы еще один сканер другого производителя.
Компания Internet Security Systems разработала целый комплект утилит под общим названием SAFEsuite. В него входят не только компоненты проверки безопасности системы, но и модули выявления вторжения и оценки конфигурации основных серверных ОС.
Сканеры безопасности как антивирусы — защищают хорошо, но только от старых приемов. Любой новый метод взлома не будет обнаружен, пока вы не обновите программу. Поэтому я не рекомендую целиком и полностью полагаться на отчеты автоматизированного сканирования, а после работы программы самостоятельно проверить наличие последних уязвимостей, описанных в каком-либо бюллетене ошибок (BugTraq).