Современные «черви», такие, как Nimda и CodeRed, представляют собой комбинированную угрозу, а их авторы применяют всевозможные уловки, чтобы ускорить распространение вредоносных программ. Заразив один компьютер, «черви» используют его в качестве трамплина для атаки следующего, так что компьютер обычного пользователя может причинить вред серверам, содержащим ценную информацию. Поэтому необходимо защитить все компьютеры сети, а не только те из них, на которых хранится важная информация или выполняются жизненно важные приложения. Наряду с использованием программ поиска вирусов и пограничных брандмауэров, необходимо организовать многоуровневую защиту на каждой рабочей станции и сервере.
Появление очередного опасного «червя» — вопрос времени, поэтому лучше предусмотрительно усилить защиту, не дожидаясь нападения. Восемь приведенных в данной статье рекомендаций помогут защитить рабочие станции и серверы, скрытые за брандмауэром. Трудоемкую задачу можно упростить, автоматизировав процесс с помощью сценариев начальной загрузки и превосходных встроенных инструментов Windows 2000, таких, как Group Policy и IP Security (IPSec).
1. Отключение неиспользуемых служб
Один из методов распространения Nimda подразумевает поиск серверов и компьютеров, работающих с Microsoft IIS, чтобы заразить эти машины, используя ошибку в IIS. Отключение любых ненужных служб и функций — самый эффективный способ защиты от возможных нападений. На каких сетевых компьютерах действительно нужно установить IIS и все ли встроенные службы IIS (например, ftp, SMTP, Network News Transfer Protocol, NNTP) необходимы даже на этих машинах? Nimda атакует службу WWW (она же World Wide Web Publishing Service), но кто может поручиться, что следующий «червь» не воспользуется уязвимым местом telnet? Я рекомендую без веских оснований не активизировать на серверах и рабочих станциях следующие службы: ClipBook, FTP Publishing, IIS Admin, Indexing, Internet Connection Sharing (ICS), NetMeeting Remote Desktop Sharing, NNTP, Remote Registry, Routing and Remote Access, Simple TCP/IP, SMTP, telnet, Terminal Services, World Wide Web Publishing Service и Windows Media Services (WMS).
Даже если блокируемые службы при установке из стандартного набора исключены, пользователи могут инсталлировать их без ведома администратора. Поэтому полезно отредактировать объект Group Policy Object (GPO) по имени Default Domain Policy, чтобы блокировать службы по умолчанию. Активизируя или отключая службы, следует помнить, что Windows 2000 пополняет GPO службами, обнаруженными на компьютере, на котором работает администратор. Поэтому редактировать GPO следует с машины, на которой установлены все необходимые службы.
Что делать с компьютерами, которым нужен доступ к одной или нескольким блокированным службам? Например, как быть с рабочими станциями, нуждающимися в доступе к службе IIS WWW для работы с Microsoft FrontPage? Можно построить особые GPO, которые активизируют соответствующие службы для отдельных компьютеров.
2. Блокирование IIS
«Червь» CodeRed использует IIS для работы с протоколом Internet Printing Protocol (IPP). Я не знаю никого, кто пользуется IPP, но фильтры Internet Server API-ISAPI (они же «привязки» сценариев IIS, приложений и ISAPI) по умолчанию активизируют этот протокол. Устанавливая IIS на компьютере, следует помнить, что в большинстве случаев взломщики задействуют службы IIS, которые пользователям требуются редко. Такие службы на большинстве Web-серверов можно и нужно отключить, и Microsoft предлагает превосходный инструмент для автоматизации этой процедуры — IIS Lockdown Wizard. Мастер устанавливает программу IIS Lockdown Tool, которая отключает такие ненужные элементы, как привязки сценариев, удаляет файлы, каталоги с примерами и лишние службы, например WWW Distributed Authoring and Versioning (WebDAV); устанавливает более высокий уровень стандартных разрешений. Кроме того, мастер устанавливает URLScan, фильтр ISAPI, блокирующий подозрительные элементы в запросах URL. Чтобы воспользоваться мастером IIS Lockdown Wizard, нужно загрузить файл iislockd.exe с узла по адресу: http://www.microsoft.com/ technet/ treeview/ default.asp?url=/ technet/ security/ tools/ tools/ locktool.asp. Команда
iislockd.exe /q /c /t:c:iislockd
распаковывает файлы мастера в папке C:iislockd. Документация мастера хранится в файле iislockd.chm. При необходимости блокировать IIS на нескольких компьютерах программу можно запустить в автоматическом режиме, описание которого содержится в файле runlockdunattended.doc. Чтобы запустить мастер на всех компьютерах из списка в Active Directory (AD), можно составить сценарий начальной загрузки для GPO. Например, с помощью сценария начальной загрузки во FrontPageWorkstationsPolicies GPO можно запустить мастер на всех машинах группы FrontPageWorkstations. Windows 2000 автоматически выполняет эти сценарии каждый раз при перезагрузке компьютера, поэтому необходимо предусмотреть специальные меры, предотвращающие повторное выполнение мастера при каждой перезагрузке.
Для этого нужно отредактировать файл C:iislockdiislockd.ini в Notepad или другом текстовом редакторе. Соответствующему серверному шаблону следует присвоить параметр Unattended-ServerType. В серверном шаблоне определены разрешающие и запрещающие параметры, в зависимости от режима использования IIS. Например, при работе с FrontPage некоторые функции должны быть активизированы. 14 серверных шаблонов для распространенных типов IIS-серверов хранятся в разделе файла iislockd.ini, следующем за [Info]. В начале каждого шаблона указывается его имя, заключенное в квадратные скобки, за которым следует более длинное имя метки и параметры шаблона. Например, параметру UnattendedServer
Type можно присвоить значение frontpage: UnattendedServerType=frontpage; установить Unattended=TRUE и сохранить файл.
Затем следует создать командный файл с именем LockDownIfNotAlreadyDone.bat и записать в него следующие строки:
if exist %systemroot%iisalready lockeddown exit iislockd md %systemroot%iisalready lockeddown
Чтобы отредактировать GPO FrontPageWorkstationsPolicies, нужно открыть консоль Microsoft Managament Console (MMC) и выбрать Group Policy. В левой панели следует выбрать пункт Computer ConfigurationWindows SettingsScripts (Startup/Shutdown) и дважды щелкнуть на кнопке Startup в правой панели, чтобы открыть диалоговое окно Startup Properties. Содержимое папки Startup можно увидеть, щелкнув на кнопке Show Files. Необходимо создать новую подпапку с именем iislockd и скопировать содержимое C:iislockd в Startupiislockd. Потом следует вернуться в диалоговое окно Startup Properties, щелкнуть на кнопке Add, затем Browse, после чего перейти в каталог Startupiislockd и дважды щелкнуть на файле LockDownIfNotAlready Done.bat. В заключение нужно нажать OK. В списке диалогового окна Startup Properties появится файл LockDownIfNotAlreadyDone.bat. Мастер IIS Lockdown Wizard автоматически запускается на любом компьютере с FrontPageWorkstationsPolicies GPO. Когда в следующий раз при начальной загрузке компьютера будет выполнен LockDownIfNotAlreadyDone.bat, командный файл обнаружит папку iisalreadylockeddown и завершит работу.
3. Блокирование службы Server
«Червь» Nimda распространяется, внедряясь в разделяемые сетевые папки, и можно предположить, что мишенями будущих «червей» станут исполняемые файлы и документы в разделяемых папках. Служба Server, активизированная по умолчанию как на серверах, так и на рабочих станциях, обеспечивает разделение файлов и сетевой доступ к службам, журналам событий и задачам, выполняемым по расписанию. Можно отключить службу Server на рабочих станциях, но это помешает дистанционно управлять компьютером из оснастки Computer Management консоли MMC. Если на машине нельзя или нежелательно отключать службу Server, то для блокировки соединений через службу можно задействовать два пользовательских полномочия — Access this computer from the network и Deny access to this computer from the network («разрешить или запретить доступ к данному компьютеру из сети»). Пользователи, не имеющие права Access this computer from the network и работающие в режиме Deny access to this computer from the network, не могут обратиться ни к одному ресурсу, открытому службой Server.
Как правило, в дистанционном доступе к рабочей станции нуждаются только специалисты по обслуживанию. Можно организовать группу WorkstationSupport, а затем создать GPO, применяемый ко всем рабочим станциям. Если на предприятии есть организационная единица (OU) Workstations, то GPO следует связать с ней. Затем нужно отредактировать GPO (в разделе Computer ConfigurationWindowsSettingsSecurity SettingsLocal PoliciesUser Rights Assignment), чтобы присвоить этой группе право Access this computer from the network.
Труднее предотвратить распространение «червей» через разделяемые файлы на серверах, так как доступ к ним открыт для более широкого круга пользователей. Однако, приняв некоторые меры предосторожности, можно уменьшить риск. Во-первых, следует определить, кто действительно нуждается в доступе к серверу через службу Server. Пользователи, обращающиеся к серверам, на которые не возложены функции файл-сервера — например серверы ERP или серверы баз данных, — не нуждаются в доступе к файловой системе или другим ресурсам через службу Server. В этом случае полномочие Access this computer from the network можно предоставить только администраторам и другим особым учетным записям, обращающимся к разделяемым папкам или другим ресурсам Windows 2000 данного компьютера.
Во-вторых, необходимо выяснить, все ли члены леса действительно нуждаются в доступе к файл-серверам и компьютерам, на которых запущена служба Server. Как правило, доступ к серверу необходим лишь подмножеству пользователей (сотрудникам определенного подразделения или группы). По умолчанию, члены группы Everyone, объединяющей всех пользователей леса, имеют право Access this computer from the network. Предоставив это право лишь подмножеству пользователей, можно сократить число учетных записей, которые могут послужить трамплином для нападения на сервер через службу Server.
В-третьих, необходима продуманная система защиты. Не следует забывать, что базовые меры безопасности, в частности строгие ограничения на доступ к файлам, позволяют резко ограничить распространение «червей». Разрешения Write и Create нужно предоставить лишь действительно нуждающимся в них пользователям домена, и всегда придерживаться принципа максимального ограничения полномочий.
4. Блокирование сетевого доступа к компьютерам с использованием IPSec
Большинство сетей полностью маршрутизировано и не располагает внутренними брандмауэрами, поэтому «червь», поразивший один компьютер через сообщение электронной почты или зараженную Web-страницу, может атаковать все остальные машины в сети компании. Разделение сети на отдельные зоны с помощью внутренних брандмауэров и сегментов — метод слишком сложный и дорогостоящий, но протокол IPSec обеспечивает превосходную возможность замедлить и даже предотвратить распространение «червя» по сети. Политики IPSec можно без труда автоматически развернуть на компьютерах домена AD с помощью групповых политик. Политики IPSec могут быть простыми фильтрами пакетов, которые блокируют определенные порты компьютера в зависимости от его IP-адреса. Но можно создать и более сложные политики с использованием функций аутентификации, проверки целостности и шифрования IPSec.
Следует помнить, что цель заключается не в защите отдельных компьютеров, а в защите сети и ограничении области распространения «червя». Поэтому необходимо широко распространить действие политики IPSec на все серверы и рабочие станции леса AD.
Было бы очень удобно запретить компьютерам прием любых пакетов, кроме посылаемых машинами, с которыми данная система должна поддерживать связь, но составить и своевременно обновлять список доверенных машин чрезвычайно трудно. Лучше строить политики IPSec на основе обобщенных характеристик трафика.
Если пользователи не работают с Windows NetMeeting или некоторыми типами систем мгновенного обмена сообщениями Instant Messaging (IM), то нет никакой необходимости в обмене данными между рабочими станциями. CodeRed и Nimda «переселяются» со станции на станцию, а не просто с рабочей станции на сервер. Поэтому я рекомендую запретить связь между рабочими станциями. Самый простой способ реализовать такую политику — использовать IPSec в режиме Authenticated Header (AH), в котором система может принимать только пакеты, пришедшие с компьютера, подтверждающего факт их передачи. Единственный недостаток режима AH — небольшое снижение производительности серверов (рабочие станции, как правило, не страдают) и то обстоятельство, что сетевые анализаторы будут регистрировать пакеты режима IPSec AH, а не обычные пакеты TCP или UDP. Вместо режима AH можно настроить IPSec на разрешение или запрет трафика по IP-адресу, чтобы рабочие станции отвергали данные, посылаемые другими рабочими станциями. Однако для реализации данного подхода необходимо, чтобы серверы располагались в подсетях отдельно от рабочих станций и фильтры пакетов могли отличать трафик рабочих станций от серверных потоков данных.
Существуют разные методы аутентификации — Kerberos, с заранее переданным (preshared) ключом, и аутентификация на основе сертификатов.
В нашем случае метод Kerberos бесполезен, так как каждый компьютер в лесу AD автоматически поддерживает аутентификацию Kerberos. Необходимо использовать заранее переданный ключ или сертификаты, чтобы следить за тем, какие компьютеры обмениваются друг с другом данными. Проще выполнить аутентификацию с заранее переданным ключом, чем использовать сертификаты, для которых необходим центр сертификации (Certificate Authority, CA). Поэтому я рассматриваю пример запрета связей между рабочими станциями с использованием заранее переданного ключа.
Для этой цели нужно создать две политики IPSec: одну — для рабочих станций, другую — для серверов.
В первом случае рабочие станции должны использовать режим связи IPSec AH, с аутентификацией при помощи заранее подготовленного ключа. Для обмена данными между рабочими станциями и с внешними Web-серверами Internet в политике для рабочих станций необходимо предусмотреть исключение. Серверная политика будет отвечать компьютерам, требующим режима AH с определенным ключом. Для реализации данного решения необходимо сначала построить организационные подразделения OU Workstations и OU Servers, сделать рабочие станции и серверы членами соответствующих OU, а затем создать связанные с OU объекты GPO, чтобы реализовать политики IPSec.
Ограничение трафика между рабочими станциями — лишь один способ замедлить распространение «червей» с помощью IPSec. Политика IPSec позволяет ограничить обмен данными с определенными серверами или указать разрешенные типы трафика между физическими узлами, чтобы не допускать распространения «червей». Однако в этом случае администратор должен тщательно проанализировать последствия и знать особенности сетевого трафика, чтобы случайно не блокировать рабочие соединения.
5. Защита учетной записи администратора
Заражение рабочей станции (и остальных машин внутренней сети) такими «червями», как Nimda, может произойти даже при использовании Internet или чтении электронной почты. А если «червь» проникает в машину пользователя, имеющего административные полномочия, то область поражения еще более увеличится. Поэтому очень важно соблюдать меры предосторожности (в частности, принцип необходимого минимума полномочий) при работе с учетными записями групп Administrators, Domain Admins и Enterprise Admins.
Во-первых, каждому администратору следует предоставить две учетные записи: одну — с административными полномочиями, другую — без них.
Экран 1. Переключения для запуска приложения с учетной записью администратора. |
6. Удаление опасных ассоциаций с типом файлов на рабочих станциях
Многие «черви» и вирусы запускают вредоносные присоединенные файлы через механизм ассоциации с расширениями файлов. Безусловно, полезно приучить пользователей не открывать подозрительных присоединенных файлов, но лучше всего удалить ассоциации с типом файла для таких «опасных» расширений файлов, как .bat, .cmd, and .vbs. Список ассоциаций, которые рекомендуется удалить на всех сетевых рабочих станциях, приведен по адресу: http://www.novatone.net/mag/mailsec.htm. Удаляя ассоциации, нельзя нарушать связи, необходимые для запуска полезных сценариев. Например, если нужно удалить ассоциацию для файлов .vbs, но в меню Start есть команда для запуска сценария с именем update.vbs, то команду необходимо изменить таким образом, чтобы она не прямо указывала на update.vbs, а вызывала wscript update.vbs.
Ручное удаление всех привязок на каждой рабочей станции сети — сложная задача. Эту работу можно выполнить с помощью файла .reg. Чтобы удалить ассоциации с типом файла для файлов с расширением .vbs, следует открыть Notepad или другой текстовый редактор и создать файл со следующими строками:
REGEDIT4 [-HKEY_CLASSES_ROOTVBSFile]
REGEDIT4 — обязательный заголовок, определяющий тип файла. Для каждой ассоциации, которую нужно удалить, следует скопировать и отредактировать вторую строку, заменив VBS соответствующим расширением (например, CMDFile). Прежде чем сохранять файл, следует дать ему имя deleteFileAssociations.reg. Затем нужно открыть командное окно на локальной машине (чтобы удалить привязку только на локальном компьютере) и ввести с клавиатуры
regedt32 /s deleteFileAssociations.reg
Команда удалит указанные подразделы в разделе HKEY_CLASSES_ROOT реестра, где хранятся ассоциации файлов. Например, в приведенном примере должен быть удален подраздел VBSFile. С помощью групповой политики и сценариев начальной загрузки можно переслать .reg-файл на все рабочие станции сети и выполнить его автоматически (как описано в рекомендации 2).
Однако в процессе установки пакета обновлений или новой версии операционной системы удаленные ассоциации с типом файла могут быть восстановлены. Поэтому вместо удаления ассоциаций можно связать опасные файловые расширения с другими, безвредными, программами (например, notepad.exe) или воспользоваться шаблоном безопасности, чтобы запретить доступ по чтению к разделам реестра HKEY_CLASSES_ROOT, которые соответствуют блокируемым ассоциациям с типом файла.
7. Блокиро вание IE
Nimda распространяется, заражая Web-страницы; несомненно, таким же будет поведение «червей» и в будущем. Взломщики нашли много способов обойти встроенные функции безопасности Java и других языков сценариев, чтобы получить доступ к локальным дискам компьютеров из браузера, а затем и к ресурсам подключенных к сети серверов предприятия.
В Microsoft Internet Explorer (IE) насчитывается более 20 параметров защиты, которые можно настраивать в четырех зонах: Internet, Local intranet («местная»), Trusted sites («надежные узлы») и Restricted sites («ограниченные узлы»). Отключить элементы управления ActiveX и сценарии — самый надежный метод, но эта мера, скорее всего, не понравится пользователям. Подробный рассказ о режимах безопасности IE выходит за рамки данной статьи.
Выбрав нужные параметры IE, не обязательно настраивать их вручную для каждой рабочей станции: можно вновь воспользоваться групповой политикой. Чтобы отредактировать GPO Default Domain Policy, следует открыть оснастку Active Directory Users and Computers, Group Policy и отыскать параметры настройки зон безопасности IE в разделе User ConfigurationWindowsSettingsInternet Explorer Maintenance. Затем необходимо найти в разделе User Configuration AdministrativeTemplates WindowsComponents Internet Explorer нужные параметры и запретить пользователям изменять конфигурацию IE в обход политики. Следует иметь в виду, что редактирование зон безопасности IE может повлиять на поведение Outlook и Outlook Express, так как способы обработки почтовых сообщений на базе HTML в обеих программах определяются зонами безопасности IE.
8. Своевременное обновление IE, приложений и Windows
Почти каждую неделю в продуктах Microsoft (и других поставщиков) обнаруживаются новые уязвимые места и появляются новые программы коррекции. Авторы «червей» CodeRed и Nimda использовали хорошо известные ошибки, исправления для которых были выпущены уже довольно давно. Единственный способ защититься от многих опасностей — регулярно загружать модули оперативной коррекции.
Регулярно обновлять только Windows и IE недостаточно. «Черви» могут распространяться через приложения Office, программы мгновенного обмена сообщениями и другие приложения. Каждый раз, когда на предприятии начинают использовать новую программу, на плечи администратора ложится обязанность отслеживать и применять исправления для системы безопасности. Помочь ему могут службы Microsoft Software Update Services (SUS) и Automatic Updates (более подробные сведения можно найти по адресу: http://www.microsoft.com/ windows2000/ windowsupdate/ sus/ susfaq.asp). Правильно построив инфраструктуру, можно упростить задачу с помощью групповой политики и нескольких простых сценариев или командных файлов. Отыскать сетевые компьютеры, на которых отсутствуют важные заплаты безопасности, поможет утилита Hfnetchk или пакет Microsoft Baseline Security Analyzer (MBSA, в состав которого входит Hfnetchk).
Перспективное планирование
Современные взломщики используют сложные комбинированные методы, и администратору необходима продуманная, многоуровневая оборона. Помимо защиты по периметру сети можно отключить ненужные функции и ограничить трафик, чтобы замедлить распространение «червей». Дополнительное преимущество этих мер заключается в том, что отпадает необходимость немедленно загружать некоторые исправления, например, предназначенные для малоиспользуемых функций IIS или ненужных служб Windows. Сеть, в которой лишние функции и службы блокированы, гораздо менее уязвима. Безусловно, со временем следует загрузить все исправления, чтобы обеспечить максимально надежную защиту. Нельзя забывать, что для блокирования и своевременного обновления всех компьютеров необходима автоматизация. Сценарии и групповые политики Windows значительно облегчают задачу администратора.