Атаки на Web-узел PC Week Labs (www.hackpcweek.com) помогают выковать мощное оружие для сражений за безопасность

Панкай Чоудри (PC Week Labs)

Безопасность - дело тонкое

Может быть, Тестовому центру PC Week Labs и не стоило организовывать специальный Web-узел, чтобы доказать этот постулат, - в конце концов, читатели PC Week познают эту истину не из учебников, а на практике. И все же узел www.hackpcweek.com нужен. Он помогает находить наиболее эффективные способы защиты важнейшей корпоративной информации, о которых мы потом рассказываем менеджерам информационных технологий. Ну, а количество и изощренность атак на тестовый узел наглядно демонстрируют вызов, брошенный сегодня деловому миру. Впрочем, безопасность от этого только выигрывает.

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

Хакерство уже превратилось в весьма популярный вид спорта. С помощью специализированного ПО обнаружения атак и журнала регистрации брандмауэра мы постоянно отслеживали в реальном времени состояние своего Web-узла. И увиденное поразило нас. Сообщение о том, что узел готов принять атаки, было опубликовано в сети 20 сентября в 8:30 утра, а уже через 7 минут начался первый его штурм. Всего же наш узел посетило больше 40 тысяч человек.

Мы испытали на себе все виды атак по типу “отказ от обслуживания” и “подмена адреса”, которые, впрочем, брандмауэр отражал с полным успехом. Было отмечено также несколько тысяч попыток сканирования портов.

Одним из самых интересных нам показалось синхронизированное нападение на узел. В тот раз сервер подвергся сразу нескольким атакам, которые носили явно демонстративный характер и имели целью отвлечь внимание администратора от хорошо скрытой попытки взлома.

Мы еще раз убедились, что одно из главных условий надежной защиты - простота.

Как Windows NT, так и Linux по умолчанию устанавливают множество совершенно ненужных и незащищенных служб (вспомним хотя бы агенты SMTP Message Transfer Agents, серверы Telnet, FTP, новостей). Задача администратора состоит в том, чтобы свести число таких компонентов к минимуму. Чем меньше останется открытых окон, тем лучше.

Хакер, который все же проник на www.hackpcweek.com, позволил нам сделать очень важный вывод: безопасность не ограничивается пределами операционной системы (подробности успешного взлома опубликованы в электронной версии PC Week/RE, № 41 в статье “Удар из Гибралтара: анатомия взлома” - www.pcweek.ru).

Чтобы защитить серверы на базе Linux и Windows NT, установленные на тестовом узле PC Week Labs, мы принимали те же меры безопасности, что и любой менеджер информационных технологий, который не напрасно ест свой хлеб. Тем не менее хакеру под именем Jfs удалось обойти брандмауэр, систему обнаружения атак и блокированный сервер. Он просто воспользовался брешью в сценарии CGI на машине Linux, работавшей под управлением Red Hat Linux 6.0.

Успех этому хакеру принесла методичность атаки, отличное владение языками Си и PERL, а также знание механизма классифицированных объявлений PhotoAds фирмы The Home Office-Online. Последнее приложение общедоступно, его можно скачать с узла www.hoffice.com, там же размещена информация о брешах в его системе безопасности и “заплаты” для их устранения. Отсюда мы сделали первый вывод: пренебрегая “заплатами” для устранения ошибок, компании целиком и полностью отдают себя на милость хакеров.

Атаки на тестовый узел Наш Web-узел www.hackpcweek.com подвергался множеству самых разнообразных

атак на сетевом уровне, однако все они были отражены брандмауэром с функциями прокси-сервера

Вот и здесь на руку хакеру сыграло неоперативное использование появляющихся “заплат” для обеспечения системы безопасности. С момента начала теста до взлома фирма Red Hat Software выпустила 21 такую “заплату” для своей ОС Red Hat 6.0 (в будущем PC Week Labs установит на своем узле все предлагаемые для сервера Linux дополнения и обновит сценарии, после чего продолжит тестирование). “Заплаты” и обновления нужны любой операционной системе, однако центрального репозитория, где бы такие дополнения к Linux проходили проверку и утверждение, сегодня нет. “Заплаты” для ядра системы можно получить из такого надежного источника, как kernel.org, но централизованной инфраструктуры для большинства других компонентов просто не существует.

Проблему еще более усложняют распределенная структура современных предприятий, а также необходимость тестировать и подтверждать подлинность любой “заплаты” перед ее установкой на серверы, выполняющие важные задачи. Правда, для Linux предлагается утилита под названием autorpm, которая запрашивает Web-узел на предмет имеющихся обновлений, а затем автоматически устанавливает их. Однако какой администратор в здравом уме решится воспользоваться этой возможностью и потерять всякое представление о том, что конкретно установлено на его серверах?

Ни строки без проверки!

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

За это приходится платить, и цена растет пропорционально онлайновому присутствию. По оценкам PC Week Labs, чтобы быть уверенной в надежной защите своего узла, любая компания должна выделять не менее 8 человеко-часов в неделю на решение только этих вопросов. Исходя из 40-часовой рабочей недели (не улыбайтесь скептически: мы знаем, что большинство менеджеров может лишь мечтать о нормированном рабочем дне, но нужна же хоть какая-то основа для расчетов!), получается, что в компании должен быть хотя бы один специалист, который не менее 20% своего рабочего времени будет тратить исключительно на обеспечение безопасности сервера. Хороший администратор получает от $65 000 в год и больше, а это значит, что на защиту уже развернутого простого Web-сервера, укомплектованного всеми необходимыми для этого средствами, приходится тратить никак не менее $1000 в месяц. Если же на узле установлено несколько серверов, размещен богатый набор приложений или он обслуживает большое количество подключений, расходы на безопасность будут во много раз больше.

Тестовый узел www.hackpcweek.com помог нам сделать еще один важный вывод: простые меры безопасности наподобие запутанных паролей хороши в теории, но едва ли осуществимы на практике. На нашем узле было развернуто шесть серверов. Как насчет того, чтобы запомнить для каждого из них пароль вроде [Athl!g? Нам это не удалось, и пришлось сохранить список данных для входа в систему на портативном компьютере. Если этот чемоданчик попадет хоть ненадолго в посторонние руки, в опасности окажется весь Web-узел!

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

Известно два типа брандмауэров: с функциями прокси-серверов и с проверкой на соответствие. Первые из них, к которым относится и Raptor, требуют больших вычислительных ресурсов, чем вторые. Мы выбрали этот брандмауэр, выполняющий функции прокси-сервера на канальном уровне, поскольку он закрывает оба конца подключения и действует как арбитр. Брандмауэры с проверкой на соответствие, в отличие от него, обеспечивают защиту узла путем интеллектуальной фильтрации пакетов.

Устанавливая брандмауэр, администраторы должны позаботиться о соответствующих вычислительных ресурсах для него. Мы инсталлировали Raptor на сервере LPR компании Hewlett-Packard с двумя 450 МГц процессорами Pentium II. Столь высокая производительность лишней не оказалась, так как нам приходилось контролировать все входящие и исходящие сеансы своего сервера. Да и не та это область, в которой можно экономить.

Открывая новые пути

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

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

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

    

PC Week Labs рекомендует

Использовать брандмауэр. Однако не всякий. Прежде чем сделать окончательный выбор, нужно убедиться, что продукт способен справиться с широкомасштабными атаками типа “отказ от обслуживания”. Неплохо также проверить, как часто производитель брандмауэра выпускает обновления для своего продукта и насколько оперативно реагирует на потребность в них. Под брандмауэр лучше выделить высокопроизводительную машину, поскольку отражение атак может основательно загрузить центральный процессор и нужна полная уверенность, что его ресурсов окажется достаточно.

Отключить ненужные службы. Конечно, легче сказать, чем сделать, однако недооценивать этот метод не следует. Чем проще серверная среда, тем легче обеспечить ее безопасность. В идеальном случае сервер должен выполнять одну-единственную функцию.

Тщательно анализировать все ПО, устанавливаемое на серверах. И не один, не два раза, а постоянно. Современные Web-приложения оснащаются множеством встроенных компонентов, которые поверхностная проверка просто не покажет. А ведь атака вовсе не обязательно производится на систему, зачастую она нацеливается как раз на встроенные компоненты.

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

Своевременно устанавливать все обновления и “заплаты”, рекомендованные производителем ПО. Этим должен заниматься специально выделенный сотрудник. Не забудьте предусмотреть затраты на этот аспект в бюджете информационных технологий. Кроме того, стоит подписаться на хакерские издания наподобие “2600” и наладить контроль за хакерскими Web-узлами. Не нужно забывать и о советах CERT - “команды скорой компьютерной помощи” университета Карнеги - Меллона.

Удалить все пробное ПО. Именно на него первым делом обращают внимание хакеры. Зачастую атаки целиком и полностью строятся на взломе пробных версий программ.