Как раскрыть заложенный в Windows потенциал надежности
Не разделяя мнение многих, я считаю Windows одной из самых безопасных и надежно защищенных современных операционных систем, получивших широкое распространение. В Windows предусмотрены такие средства обеспечения безопасности, о которых пользователи других операционных систем могут только мечтать. Какая другая система предоставляет средства управления всеми аспектами работы пользователя? Какая еще система обладает механизмом безопасности, равноценным групповым политикам Group Policy, позволяющим, лишь несколько раз щелкнув мышью, включать и отключать службы для целых групп компьютеров? Единственное, чего не хватает в Windows, — это правильной настройки средств безопасности по умолчанию. В этой статье я расскажу о том, как обеспечить проактивную защиту программного обеспечения пользовательских компьютеров, усилить настройки безопасности Windows и предотвратить несанкционированное изменение конфигураций настольных компьютеров. Надеюсь, приведенные здесь советы позволят сделать ваши компьютеры более защищенными, а взломщики и хакеры оставят вашу компанию в покое и будут искать более легкой добычи.
Автоматизированная безопасность
Чтобы защитить компьютер от несанкционированного доступа — злоумышленников и вредоносных программ, требуется последовательно принять целый ряд мер. Всю задачу я разбил на 10 шагов. Часто основной причиной недостаточной защищенности пользовательских компьютеров являются затруднения, с которыми проходится сталкиваться администратору при реализации этих шагов. Обеспечение безопасности включает в себя множество действий, и их выполнение вручную требует слишком много времени. К счастью, настройку безопасности можно автоматизировать. Предлагаемые в данной статье меры безопасности можно реализовать с помощью настройки групповых политик и шаблонов безопасности; описанные методы применимы для Windows 2000 и более поздних версий.
Шаг 1. Не позволять пользователям работать с административными правами
До 70% всех атак на системы Windows не имели бы успеха, если бы конечные пользователи не обладали правами локального администратора. Большинство вредоносных программ не сможет корректно установиться, если пользователь будет иметь меньше привилегий (LUA, Least Privilege User Account). Администраторы часто предоставляют конечным пользователям права локального администратора — таким образом, пользователь может, не обращаясь к администратору, устанавливать на своем компьютере необходимое (а заодно и лишнее) программное обеспечение и запускать его. Соответственно, администратор теряет контроль над компьютером пользователя. Опытный администратор не станет доверять установку программного обеспечения пользователям. Чтобы запретить пользователям выполнять установку программного обеспечения, достаточно не предоставлять им административные права. В этом случае обычные пользователи не смогут устанавливать программы самовольно.
Если предоставить администраторские права обычным пользователям все же необходимо, а на клиентских рабочих местах установлена Windows XP, можно задействовать политики ограничения использования программного обеспечения (SRP, Software Restriction Policies). SRP позволяет назначить один из вариантов общей политики выполнения. Можно разрешить запуск всех программ, кроме тех, которые перечислены в списке исключений, или же запретить запуск всех программ, кроме перечисленных в списке разрешенных. Последняя из названных политик аналогична используемой в брандмауэрах политике запрета доступа всех по умолчанию (deny-all-by-default): она обеспечивает более высокую степень безопасности, но требует более тщательного тестирования. SRP позволяет задать исключения по полному пути файла, разделу реестра, хеш-ключу программы, цифровой подписи или зоне безопасности Microsoft Internet Explorer.
В любом случае, если не удастся предотвратить запуск неавторизованных программ, невозможно будет гарантировать безопасность сети. Использование соответствующих разрешений файловой системы NTFS представляется мне лучшим способом блокирования запуска уже установленных программ. Для этого требуется просто удалить права Read и Execute для файлов и папок, которые должны быть недоступны рядовым (непривилегированным) пользователям.
Шаг 2. Запретить загрузку с любых носителей, кроме основного жесткого диска
Загрузка компьютера с любых устройств, кроме основного жесткого диска, — это разрешение несанкционированного доступа. Запрет загрузки с дополнительных устройств позволит предотвратить запуск большинства программ для сброса и подбора паролей, распространение загрузочных вирусов и атаки вредоносных программ, использующих загрузку с других носителей для обхода ограничений доступа файловой системы NTFS. Если в процессе восстановления системы требуется загрузиться с другого носителя, следует соответствующим образом изменить порядок загрузки в BIOS, а по завершении работ обязательно восстановить безопасный порядок загрузки. Рекомендуется также заблокировать порты USB, если их использование не является обязательным.
Чтобы неавторизованный пользователь не мог изменить порядок загрузки, нужно включить пароль BIOS. Причем пароль BIOS должен отличаться от других административных паролей, чтобы его можно было предоставить пользователю или сотрудникам отдела обслуживания рабочих мест для выполнения работ по восстановлению системы.
Шаг 3. Переименовать учетные записи администратора и другие привилегированные учетные записи
Большинство используемых программ взлома пытается добраться до встроенной учетной записи администратора. И хотя изменить SID администратора невозможно, подавляющее большинство программ взлома не использует SID. Следует переименовать привилегированные учетные записи так, чтобы они выглядели как обычные учетные записи, а затем создать подставные учетные записи с именами административных. При этом, конечно же, необходимо соответствующим образом поменять описания этих учетных записей. Важно строго ограничить использование административных учетных записей и задать для них длинные сложные пароли (не менее 15 символов). Также следует включить аудит несанкционированного использования учетных записей.
Шаг 4. Обеспечить защиту паролей от взлома
Большинство программ взлома паролей используют известные слабые стороны паролей, что необходимо предотвратить. Нужно запретить хранение хешей паролей LM и использование протоколов LM и NTLMv1, ввести требование использования сложных паролей и блокировку учетной записи при обнаружении попытки подбора паролей.
Запретите хранение хеша паролей LM. Хеш паролей LM позволяет исключительно легко взломать пароль путем перебора. К сожалению, несмотря на существование значительно более безопасных альтернатив, все версии Windows хранят хеш паролей LM. Отключить хранение хеша LM можно с помощью групповых политик или редактора реестра. При этом Windows все равно будет сохранять хеш паролей NTLM, который является гораздо более устойчивым. Благодаря отключению хеша LM можно оставить не у дел большинство программ взлома паролей, а также предотвратить атаки со стороны удаленных компьютеров, предпринимаемые с целью перехвата и искажения более слабо защищенных учетных данных компьютеров и пользователей.
Добейтесь использования NTLM версии 2 и старше. Все версии Windows, начиная с Windows 2000, по умолчанию используют для аутентификации в домене протокол Kerberos. При этом системы должны использовать еще один протокол аутентификации, т.е. LM, NTLM или NTLMv2 для регистрации вне домена и других задач аутентификации. Можно запретить использование протоколов LM и NTLM, но перед этим необходимо убедиться, что отмена применения этих протоколов не помешает работе используемых приложений (в основном это касается унаследованных приложений, хотя известны и некоторые новые программы, использующие устаревшие протоколы аутентификации). В настоящее время не существует программ для взлома паролей NTLMv2, если пароли удовлетворяют требованиям по сложности.
Включите политику использования сложных паролей. Слабые пароли могут загубить все хорошие начинания. Следует потребовать от пользователей использования сложных паролей длиной 15 символов и установить срок действия паролей не более 90 дней. Все эти параметры можно настроить через GPO или редактирование реестра.
Включите блокирование учетных записей. Следует настроить автоматическое блокирование учетных записей с расширенными правами после трех последовательных неудачных попыток ввода пароля. Вместо того чтобы для снятия блокировки требовать обращения к администратору, нужно включить автоматическое разблокирование учетной записи через одну минуту. Сам факт автоматического блокирования учетной записи, независимо от интервала блокировки, сделает невозможной работу онлайновых программ подбора пароля.
Шаг 5. Обеспечить безопасность служб
Существенно повысить уровень защиты компьютера позволяет отключение неиспользуемых служб Windows и настройка служб на использование нестандартных портов.
Отключите неиспользуемые службы. Разработчики Microsoft включили в Windows более сотни служб, которые могут быть запущены по умолчанию при развертывании Windows на новом компьютере. Чем меньше служб работает на компьютере, тем меньше мишеней для хакеров. Золотое правило безопасности для такого случая — если служба не нужна, она должна быть отключена. Существует множество рекомендаций по отключению служб, но лучше всего начать с рекомендаций Microsoft (доступны по ссылке http://go.microsoft.com/fwlink?LinkID=14845). Следует внести предлагаемые изменения, протестировать и составить собственный базовый уровень требований по отключению служб. Нужна ли вам включенная по умолчанию служба настройки беспроводных соединений Zero Wireless Configuration? Проанализируйте вопрос и примите решение. Этот же совет следует распространить на любое устанавливаемое программное обеспечение.
По возможности настройте службы на использование портов, отличных от значений по умолчанию. Если служба может задействовать порт, отличный от заданного по умолчанию, следует перенастроить ее соответствующим образом, выбрав новые значения по возможности из более старших диапазонов, чтобы сканер портов не сразу нашел службу и не мог автоматически определить, что с ней делать. Например, в моей конфигурации сервер Telnet настроен для работы с портами, на которых его трудно обнаружить. Хотя на данный момент известные уязвимости Telnet не опубликованы, если все же атакующий код будет разработан, вероятно, он будет встроен в червя и попытается поразить все возможные цели. Благодаря использованию нестандартных портов мои компьютеры будут защищены от подобной атаки.
В своей консультационной практике я достаточно часто применяю настройки Web-серверов в открытых сетях для использования портов, отличных от настроек по умолчанию. Например, у меня имеется множество клиентов из области здравоохранения, которые используют протокол HTTPS для обмена закрытыми данными — финансовой информацией и сведениями о пациентах. В дополнение к используемому шифрованию данных я перенастроил значение порта Web-сервера на случайный номер из верхнего диапазона, после чего всем участникам обмена была направлена инструкция о подключении к новому порту. Для этого достаточно послать ссылку с явным указанием порта в электронном сообщении (т.е. https://www.example.com:38093). Я попросил пользователей сохранить ярлык для этой ссылки на рабочем столе. Благодаря этой практике конечные пользователи получают необходимый доступ без каких-либо затруднений, а Internet-черви будут сбиты с толку.
Шаг 6. Заблокировать доступ к потенциально опасным файлам
Стандартная установка Windows включает множество исполняемых файлов, которые едва ли будут применяться легальными пользователями, но при этом могут быть запущены злоумышленником. Давно ли вы в последний раз просматривали содержимое каталога System32? Приходится ли вашим пользователям запускать по работе программы debug.exe, format.com, sys.com или regedit.exe? Вряд ли. Рекомендую воспользоваться механизмом разрешений NTFS и запретить пользователям, которые не являются членами административных групп, просмотр и исполнение перечисленных файлов. По умолчанию все аутентифицированные пользователи обладают правами чтения и исполнения для всех файлов в папках Windows и System32. Нужно иметь в виду, что следует только удалять существующие права, ни в коем случае не включая запреты Deny All для групп Users или Everyone, — администраторы тоже являются членами этих групп.
Шаг 7. Обеспечить защиту системного реестра
В практике обеспечения безопасности систем защитой реестра тоже часто несправедливо пренебрегают. Блокируя доступ к параметрам реестра, которые могут использоваться злоумышленниками и вредоносными программами, можно значительно повысить защищенность любого компьютера, работающего под управлением Windows.
Блокируйте запись в важные области системного реестра. Большинство вредоносных программ стремится прописать в реестре автоматическую загрузку собственных модулей. В реестре имеется более 25 разделов, которые могут использоваться такими программами. Уязвимые разделы реестра можно определить с помощью предлагаемой компанией Sysinternals бесплатной утилиты Autoruns (доступна для загрузки с сайта http://www.sysinternals.com/utilities/autoruns.html). После того как потенциально опасные разделы будут определены, с помощью разрешений NTFS для разделов реестра нужно сделать их доступными только для чтения обычными пользователями. HKEY_LOCAL_MACHINE — не единственный раздел, представляющий потенциальную опасность. Обязательно следует настроить защиту для HKEY_CURRENT_USER.
Отключите автозапуск приложений для потенциально опасных типов файлов. Брандмауэры используют стратегию запрета по умолчанию. Почему настольные компьютеры должны вести себя иначе? Для удобства пользователей с целью популярных расширений файлов настраивается их соответствие программам, вызываемым при попытке исполнения файлов с заданными расширениями. Таким образом, любой файл, сохраненный на компьютере, может вызвать связанную с ним программу. Именно таким образом происходит заражение компьютеров почтовыми червями VBS — просто обработчик сценариев WHS (Windows Script Host) исполняет вложенный в письмо сценарий. При этом большинство администраторов не используют WSH для управления пользовательскими компьютерами (а если используют, то могут настроить другое расширение по умолчанию). Стоит ли пользователям разрешать запускать все приложения из панели управления (стандартное расширение .cpl), пакетные файлы (.bat и .cmd) или служебные файлы почтовой программы (.shs)? Используются ли эти файлы в обычной работе вашими сотрудниками? Если нет — следует отключить ассоциации для этих типов файлов. Информация о большинстве зарегистрированных типов файлов содержится в разделах реестра HKEY_CLASSES_ROOT и HKEY_COMPUTER_USER. Необходимо составить список расширений файлов, запуск которых следует запретить. Затем нужно создать групповую политику для удаления разрешений чтения и записи NTFS (сначала эти изменения следует проверить в тестовой лаборатории!). Результат действительно стоит затраченных усилий!
Шаг 8. Преобразовать всю электронную почту из формата HTML в простой текст
Остановить поток спама и предотвратить действие шпионских программ не удастся, если разрешить использование в почтовых системах каких-либо форматов, кроме простого текста. Можно задействовать любые средства (в Outlook 2000 и более поздних версиях можно включить режим использования только простого текста), чтобы вся электронная почта была представлена как простой текст. Конечно, жаль, что чье-то старательное форматирование некоторых писем в формате HTML пойдет прахом. Мы все на войне с вредоносными программами, и такую роскошь оставим для тех, кто может себе позволить заниматься восстановлением системы дни и ночи напролет.
Шаг 9. Задействовать брандмауэры, антивирусы, средства борьбы со спамом и вредоносными программами
Давно прошли те дни, когда для защиты компьютеров хватало установки брандмауэра и защиты периметра сети. Internet-черви, которые не смогли явиться через «парадный вход», находят лазейки через удаленные виртуальные частные сети VPN, незащищенные компьютеры партнеров компании и ноутбуки мобильных сотрудников, использующих для подключения открытые сети. В наше время каждый пользовательский компьютер должен быть защищен персональным брандмауэром. Для этого прекрасно подходит брандмауэр Windows и брандмауэр соединений Internet. Несмотря на критику, берусь утверждать, что Windows Firewall действительно защищает компьютеры и делает это хорошо. По умолчанию он запрещает все входящие соединения, которые не были инициированы ранее исходящими соединениями. Такая стратегия позволяет защититься от вредоносного мобильного кода, который в любую минуту готов внедриться в ваш компьютер.
Хотя брандмауэры и антивирусы не смогут остановить все вредоносные программы, они предотвращают подавляющее большинство угроз. В сети всегда должен работать антивирус на хостах, почтовых и Internet-серверах и шлюзах. Кроме того, почтовые системы следует обеспечить антиспамовыми и антишпионскими программами. Некоторые поставщики предлагают решения, объединяющие в одном продукте средства защиты от вирусов, спама и программ-шпионов. В тот момент, когда я выбирал продукт, оказалось, что ни одна из существовавших программ не обеспечивала оптимальное решение во всех областях одновременно. Впрочем, основные игроки на этом рынке делают определенные шаги по интеграции разных функций, так что вскоре необходимость покупать четыре продукта от разных производителей может отпасть.
Шаг 10. Обеспечьте своевременную установку исправлений
Уязвимые места, требующие немедленного обновления систем, встречаются крайне редко. Их число растет, но подавляющее большинство потенциальных атак можно предотвратить с помощью регулярной установки исправлений. Существует целый ряд производителей, предлагающих свои решения в этой области. В первую очередь имеет смысл рассмотреть бесплатную службу Microsoft Windows Server Update Services (WSUS — доступна на http://www.microsoft.com/ windowsserversystem/updateservices/default.mspx), предназначенную для установки исправлений для системы безопасности Windows. К сожалению, обойтись только исправлениями операционной системы не удастся, поскольку для обеспечения достаточной защиты требуется также установка исправлений для всех используемых приложений, базового кода и драйверов аппаратуры.
Не жалея сил
Хотя все эти меры могут показаться очень трудоемкими, в действительности для регулярного обнаружения и удаления шпионских программ и червей потребуется постоянно прилагать значительно больше усилий. Реализация предложенных мер позволит значительно повысить защищенность корпоративной сети от воздействия вредоносного кода и атак хакеров. Администраторы не только станут обнаруживать вирусы значительно реже, но и у пользователей будет гораздо меньше возможности нанести (неумышленный!) вред на рабочих местах. Как известно каждому администратору, к сожалению, безопасность и надежность всегда приводит к уменьшению гибкости и свободы действий.
Но даже когда все 10 перечисленных мер будут реализованы в полном объеме, не стоит считать систему полностью безопасной — абсолютную безопасность не сможет гарантировать никто и никогда. Для настольных компьютеров всегда остается угроза вновь открываемых уязвимых мест. Не стоит забывать и про человеческий фактор — в каждой сети обязательно найдутся пользователи, которые просто не могут не установить на свой компьютер каждую скачанную из Internet программу, им надо открыть каждое вложение к письму и щелкнуть по каждой ссылке на Web-странице. Но, начав с этих рекомендаций, вы сделаете большой шаг вперед в вопросе обеспечения безопасности корпоративной сети.
Роджер Граймз - Редактор Windows IT Pro и консультант по проблемам безопасности. Имеет сертификаты CPA, CISSP, CEH, CHFI, TICSA, MCT, MCSE: Security и Security+. roger@banneretcs.com
Краткое описание проекта
ПРОБЛЕМА: настройки настольных систем Windows по умолчанию не обеспечивают безопасность.
ПОТРЕБУЕТСЯ: шаблоны безопасности для Windows 2000 и более поздних версий, программное обеспечение для борьбы с вирусами, спамом и шпионскими программами.
ОЦЕНКА СЛОЖНОСТИ: 2 по 5-балльной шкале.
ЭТАПЫ ПРОЕКТА
- Выбор инструмента автоматизации настройки настольных компьютеров - групповые политики или шаблоны безопасности
- Выбор персонального брандмауэра, антивируса и программы для борьбы со спамом и шпионским программным обеспечением на рабочих местах.
- Проверка всех изменений перед внедрением на рабочих местах.