Сетевые атаки на серверы IIS можно разделить на две группы: через порты HTTP (80 и 443) и не относящиеся к HTTP (нападения на другие службы сервера, такие, как telnet или FTP). В данной статье я расскажу о втором способе взлома сервера и мерах защиты от него.
«Двери» сервера
Службы — это двери, открывающие доступ к серверу из сети. Можно было бы начать статью со списка опасных служб, которые желательно отключить, но я избрал противоположный подход. Проверенное временем правило обеспечения безопасности сервера, подсоединенного к Internet, подразумевает отключение всех служб, кроме необходимых. Этот метод имеет несколько преимуществ:
в частности, он снижает требования к ресурсам и, что более важно, защищает от еще неизвестных типов атак. Даже служба, через которую нельзя получить прямой доступ к системным ресурсам, может оказаться уязвимой для атак типа переполнения буфера и DoS (Denial of Serviсe — отказ в обслуживании). Вызывая переполнение буфера, злоумышленник направляет в службу запрос, размер которого превышает объем памяти, выделенной для буфера протоколом. В результате можно заставить компьютер выполнить нужный взломщику программный код. Кроме того, чем меньше будет активных служб, тем меньше исправлений придется загружать для устранения брешей в системе защиты. Необходимо устанавливать все исправления по мере их выпуска. В результате исправления для службы будут применяться последовательно, по мере их появления, и не возникнет проблем, связанных со скрытой взаимозависимостью этих исправлений.
В Таблице 1 перечислены службы, необходимые для работы автономного сервера IIS 5.0. Все остальные службы, не задействованные в конкретной среде, можно отключить. Но прежде, чем это сделать, нужно внимательно изучить требования, предъявляемые приложениями независимых поставщиков и компонентами, установленными на Web-сервере. Например, для работы LANGuard Security Event Log Monitor компании GFI необходимо активизировать службу Microsoft Message Queue Services (MSMQ). Кроме того, следует изучить взаимозависимость служб. Для этого нужно выполнить следующие действия.
- Щелкнуть правой кнопкой мыши на значке My Computer и выбрать пункт Manage.
- Развернуть узел Services and Applications.
- Щелкнуть правой кнопкой мыши на службе и выбрать пункт Properties.
- Щелкнуть на закладке Dependencies (см. Экран 1).
Экран 1. Проверка взаимозависимости служб. |
Если служба вызывает сомнения, а ее назначение остается неясным и после изучения документации, рекомендуется отключить данную службу на тестовом или проектируемом Web-сервере, где размещены экземпляры всех приложений. Выполнив на сайте полный набор тестов, транзакций и операций, можно обнаружить нарушенные связи.
Некоторые службы связаны с особым риском. В данной статье указан ряд наиболее уязвимых служб. Эти службы рекомендуется отключить или, если возможно, удалить. Удаление особенно эффективно в тех случаях, когда администратор отказывается от установки исправлений для отключенных компонентов ради стабильности. Если сомнительная служба удалена, ее уже нельзя запустить по ошибке.
Служба SMTP
Через службу SMTP можно вызывать атаки типа «отказ в обслуживании» (DoS) и проводить атаки с переполнением буфера. Она может послужить лазейкой для рассылки спама. Я провел в Internet простой поиск по словам «SMTP buffer overflow» и обнаружил информацию о нескольких ошибках, связанных с переполнением буфера SMTP, в продуктах многих поставщиков. Таким образом, отсутствие публикаций Microsoft об уязвимых местах в самом SMTP не означает, что их не существует. Если компания или Internet-провайдер уже располагает SMTP-сервером, вряд ли разумно подвергать Web-сервер риску послужить мишенью для атак через SMTP.
Служба индексации
Иногда IIS подвергается атаке через службу Microsoft Indexing Service. По умолчанию Indexing Service индексирует гораздо более широкий набор данных, чем требуется администратору (например, новые Web-узлы). Поэтому, настраивая службу Indexing Service (если это необходимо), следует убедиться, что она индексирует содержимое только общедоступных сайтов. Мне известен случай, когда администратор по ошибке настроил Web-сервер сети на индексацию всего тома, на котором хранились конфиденциальные документы о сотрудниках компании. В результате их мог отыскать любой пользователь, запустивший простую операцию поиска. Безусловно, этого можно было избежать, более тщательно определив права доступа к файлам, но тем не менее данный пример подтверждает мою рекомендацию.
NetMeeting Remote Desktop Sharing и Internet Connection Sharing
В составе Windows есть две службы удаленного разделения ресурсов: Microsoft NetMeeting Remote Desktop Sharing и Internet Connection Sharing (ICS). Если отключить службу NetMeeting Remote Desktop Sharing, то проникнуть на сервер через NetMeeting будет невозможно. ICS рекомендуется активизировать лишь в тех случаях, когда Web-сервер дополнительно выполняет функции Internet-шлюза для сотрудников компании. Но это опасно, так как трудно надежно защитить компьютер, на который возложена двойная задача.
Windows 2000 Server Terminal Services, Remote Registry, telnet и FTP
Администраторы используют эти службы для дистанционного управления сервером. Однако интерес к ним проявляют и взломщики. Через службы с неправильной конфигурацией можно получить удаленный доступ к системной консоли, командной строке, реестру и файловой системе. Я считаю все эти службы опасными, так как их пользователи получают расширенные права доступа. Кроме того, в прошлом в них не раз обнаруживались уязвимые места, особенно в telnet и FTP. Если одна из этих служб все же необходима, следует тщательно настроить ее конфигурацию, разрешив доступ только уполномоченным пользователям.
Ограничение доступа к Terminal Services. Функции Terminal Services реализованы на каждой учетной записи пользователя, а все объекты Terminal Services располагают списком управления доступом (ACL). Поэтому необходимо защитить объекты связи Terminal Services и настроить параметры учетных записей индивидуальных пользователей.
Ограничение доступа к Remote Registry. Чтобы ограничить удаленный доступ к реестру, нужно организовать новую группу с именем RemoteRegistryEditors, отредактировать ACL раздела реестра HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control SecurePipeServers winreg и заменить текущие параметры, подставив Remote RegistryEditors. Более подробная информация об ограничении удаленного доступа к реестру приведена в статье Microsoft «How to Restrict Access to the Registry from a Remote Computer» по адресу: http://support.microsoft.com/ default.aspx?scid=kb;en-us;q153183. Не имеет значения, предоставлено пользователю право чтения или полного доступа. После внесения изменений только члены группы RemoteRegistryEditors смогут дистанционно обращаться к реестру.
Ограничение доступа к telnet. Для этого необходимо создать группу с именем TelnetClients и зачислить в нее только пользователей, нуждающихся в этой службе. Если такая группа существует, Windows автоматически использует ее для управления доступом к telnet.
Ограничение доступа к FTP. Защитить службу FTP сервера IIS несколько сложнее. Если это возможно, не следует размещать сервер FTP на одном компьютере с Web-сервером. Активизировать FTP следует лишь в том случае, если служба необходима для загрузки файлов на Web-сервер.
Server Service
И, наконец, следует подумать об отключении службы Server. В документах Microsoft указано только, что данная служба обеспечивает разделение файлов и принтеров. Это действительно так. Если на какой-нибудь машине отключить службу Server, никто не сможет получить доступ к подключенным к ней накопителям и принтерам. Но эта служба обеспечивает администраторам удаленный доступ и к другим ресурсам Windows 2000, через оснастку Computer Management консоли Microsoft Management Console (MMC), в том числе к журналам событий, локальным пользователям и группам, службам и плановым заданиям. Даже если ни один пользователь явно не обращался ни к каким папкам, служба Server автоматически создает административные разделяемые ресурсы в корне каждого тома, например C$ для диска C. Если отключить службу Server, безопасность сервера, несомненно, возрастет, но при этом серьезно пострадает возможность администрировать IIS-сервер.
Преимущества IPSec
Несмотря на важность ограничений доступа к уязвимым службам, такие меры не защитят от других видов атак, например с переполнением буфера. При подобной атаке взломщики могут выполнить произвольный программный код в системном контексте. Функция IP Security (IPSec) Windows 2000 поддерживает протокол IPSec и позволяет гибко управлять политиками. IPSec скрывает уязвимые службы под мощным защитным слоем. Благодаря IPSec можно назначить простые правила фильтрации пакетов, ограничив круг IP-адресов клиентов, имеющих право доступа к определенным портам. В следующей статье я расскажу, как ограничить доступ к таким службам, как Terminal Services, Remote Registry, telnet и FTP с помощью надежной аутентификации на базе сертификатов и общих ключей.
Рэнди Франклин Смит — редактор Windows & .NET Magazine и президент компании Monterey Technology Group, которая занимается обучением и консалтингом в области защиты Windows NT. Связаться с ним можно по адресу: rsmith@montereytechgroup.com.