Средства безопасности операционных систем Windows XP Pro и .NET Server
Если пакет оснащен надежными средствами обеспечения безопасности, он редко имеет репутацию простого в применении изделия. Известно, что в Microsoft разрабатывают легкие в использовании пакеты, однако развитие Internet ставит перед корпорацией новую задачу: обеспечить свои изделия такими средствами безопасности, чтобы их можно было применять в общедоступных сетях. За последние два года специалисты Microsoft предприняли для этого немалые усилия: в сетях Windows 2000 ныне используется доказавший свою эффективность открытый стандарт безопасности Kerberos; усовершенствован механизм управления защитой данных с помощью объектов групповой политики (Group Policy Objects, GPO) и оснастки Security Configuration в Microsoft Management Console (MMC); реализованы дополнительные средства для работы с протоколами туннелирования — такими, как Layer 2 Tunneling Protocol (L2TP), — и протоколом IP Security (IPSec); наконец, предложена новая, предусматривающая детализированные уровни взаимодействия, модель управления доступом. В .NET Server и Windows XP (ранее известной как Whistler) средства безопасности получают дальнейшее развитие. Усовершенствованные функции новых продуктов, призванные повысить уровень защищенности сетей на базе Windows, я исследовал на примере вторых бета-версий .NET Server и Windows XP Professional.
Безопасно и удобно
Как известно, пользователи, работающие с системами Windows 2000 или операционными системами более ранних версий, при доступе к ресурсам с «ненадежных» серверов Internet должны повторно вводить свои учетные данные. Вполне вероятно, что такая процедура будет раздражать их, особенно это касается тех пользователей, которые располагают несколькими наборами учетных данных: например, дополнительными идентификаторами пользователя и паролями, учетной записью в Microsoft Passport, а также данными для регистрации по смарт-карте.
Кстати сказать, подобные проблемы могут возникать и у администраторов — в тех случаях, когда им приходится использовать различные учетные данные. Конечно, существуют решения для конкретных приложений (скажем, механизм кэширования учетных данных, реализованный в браузере Microsoft Internet Explorer, IE), однако специалисты Microsoft решили интегрировать в .NET Server и Windows XP Pro (а также в XP Home Edition) Credential Manager, клиентское средство однократной регистрации (single sign-on solution, SSO) на базе интеллектуального механизма кэширования учетных данных.
Credential Manager обеспечивает хранение учетных данных пользователя в специальном хранилище на стороне клиента. Пользователю приходится вводить лишь свои «первичные» учетные данные (т. е. такие данные, которые он предоставляет для регистрации на локальной машине или в домене). После этого открывается доступ к хранилищу учетных данных пользователя и, соответственно, доступ к ресурсам (целям), которым эти учетные данные и ставятся в соответствие. В качестве такой цели может выступать имя DNS, имя NetBIOS или адрес HTTP. Цель может содержать символы шаблона (например, *.compaq.com). Всего в таблице соответствия «учетные данные — цель» предусмотрено три вида наборов учетных данных: идентификатор пользователя и пароль, идентификатор пользователя, сертификат и личный ключ или набор учетных данных в Passport. Учетные данные на базе сертификата или личного ключа могут храниться на жестком диске или на смарт-карте. Хранилище учетных данных является частью профиля пользователя, поэтому к такому хранилищу могут обращаться и пользователи с перемещаемым профилем. Доступ к содержимому хранилища обеспечивается с помощью специального интерфейса Data Protection API (DPAPI). Чтобы отключить функцию хранения учетных данных на стороне клиента, администратор может установить в контейнере GPO Windows SettingsSecurity SettingsLocal PoliciesSecurity Options флажок Network Access: do not allow credential manager to save passports or credentials for domain authentication.
Доступ к таблице соответствия «учетные данные — цель» можно получить с помощью оснастки Windows Key Ring в Control Panel для NET Server, приложения User Accounts в Control Panel для Windows XP, а также из диалогового окна Common Credential Collection.
Windows Key Ring и User Accounts позволяют просматривать и модифицировать записанные в хранилище соответствия «учетные данные — цель», как показано на Экране 1. Окно Common Credential Collection появляется на экране всякий раз, когда операционная система обнаруживает, что для доступа к ресурсу невозможно использовать первичные учетные данные пользователя. В окне отображаются альтернативные учетные данные, и пользователю предлагается решить, следует ли вносить их в хранилище учетных данных.
Экран 1. Просмотр соответствия учетных данных. |
Защита ресурсов пользователя
Многие клиенты почти все время подключены к Internet, поэтому системы .NET Server, Windows XP Pro и XP Home Edition оснащаются персональными средствами сетевой защиты, которые называются брандмауэрами Internet-соединения (Internet Connection Firewalls). Наряду с этим Windows XP Pro и .NET Server комплектуются усовершенствованными инструментами для работы с системой Encrypting File System (EFS).
Персональные средства сетевой защиты разрабатывались специалистами Microsoft в ответ на требования пользователей обеспечить им возможность контроля над двусторонними потоками данных между компьютером и внешней средой. Надо сказать, что брандмауэр Internet Connection Firewall лишь дополняет, но не заменяет предусмотренные в системе Windows NT функции фильтрации входящих пакетов TCP/IP; на странице TCP/IP Properties соответствующего соединения, как и прежде, можно активизировать средства фильтрации пакетов. Чтобы включить брандмауэр Internet Connection Firewall, нужно открыть страницу Properties сетевого соединения, после чего на вкладке Advanced выбрать пункт Secure my Internet connection. Для того чтобы открыть панель Advanced Settings (показанную на Экране 2), следует щелкнуть на элементе Settings. С помощью этой панели можно выбрать варианты регистрации, указать, какие сообщения по протоколу Internet Control Message Protocol (ICMP) будут беспрепятственно передаваться, а также выбрать услуги и программы, которые будут доступны по каналам Internet. Существуют брандмауэры Internet Connection Firewall для соединений внутри локальной сети, для коммутируемых соединений и для виртуальных частных сетей (VPN).
Экран 2. Указание службы, к которой разрешен доступ. |
Важная особенность реализованной в .NET Server и Windows XP Pro файловой системы с шифрованием (EFS) — возможность совместной работы с зашифрованными файлами. Чтобы сделать зашифрованный файл доступным для других пользователей, нужно открыть страницу Properties данного файла, затем щелкнуть на пунктах Advanced, Details и выбрать пользователей, которым следует предоставить доступ к этому файлу. Внутренние механизмы Windows добавят учетные записи выбранных пользователей к EFS-метаданным указанного файла. Как и Windows 2000, системы XP Pro и .NET Server хранят метаданные EFS в файловой системе NTFS. Для успешного выполнения функции совместного использования файлов EFS требуется файловая система NTFS 5.0 (NTFS5), так что допускается совместная работа над зашифрованными файлами, хранящимися в NTFS5-томах как в Windows 2000, так и в .NET Server. Однако задать совместное использование EFS-файлов можно только на уровне файлов (но не на уровне папок). Функция не предусматривает наследования метаданных, которые образуются при совместном использовании EFS-файлов.
Надо упомянуть еще об одном усовершенствовании, затронувшем как .NET Server, так и Windows XP Pro: файловая система EFS интегрирована в этих изделиях с серверным протоколом WWW Distributed Authoring and Versioning (WebDAV). DAV-расширения протокола HTTP позволяют применять последний для обмена файлами метаданных (в случае .NET Server и Windows XP Pro речь идет о метаданных EFS). Благодаря интеграции EFS и WebDAV появляется возможность создавать совместно используемые Web-папки с зашифрованными средствами EFS файлами, а также — что еще более важно — безо всякого риска передавать эти данные по HTTP-соединениям. Желающие получить более подробную информацию о WebDAV найдут ее на страничке часто задаваемых вопросов Web-сайта WebDAV Resources по адресу: http://www.webdav.org.other/faq.html.
Совершенствование средств безопасности Windows
Авторы некоторых получивших широкую известность вирусов и разрушающих программ типа «троянский конь» ориентировались в первую очередь на системы Windows. Чтобы свести к минимуму риск, связанный с выполнением неизвестных — и, возможно, опасных — программ, специалисты Microsoft наделили системы XP Pro и .NET Server специальной функцией, позволяющей налагать определенные ограничения на использование программных средств. Эта функция получила рабочее название SAFER. Реализованные в SAFER правила использования программных средств интегрированы в операционные системы Windows XP Pro и .NET Server. С другой стороны, серверы и клиенты, функционирующие под управлением более ранних версий, не могут подчиняться этим правилам; в таких случаях установки SAFER попросту игнорируются.
Функция SAFER делит все программы на надежные (trusted) и ненадежные (untrusted). Надежные программы можно запускать на выполнение, а ненадежные — нет. Отступить от правил, заданных функцией SAFER, не может ни одна установленная в системе Windows XP Pro или .NET Server программа; при этом неважно, каково происхождение этой программы и кто или что (пользователь, машина или служба) запускает ее на исполнение.
Правила, ограничивающие использование программных средств, открывают самые широкие возможности. Так, с помощью правил SAFER можно предотвратить попытки администратора провести с определенного сервера сеанс связи по протоколу Telnet, ограничить доступ пользователя к игре Solitaire или запретить выполнение управляющих элементов ActiveX, не получивших сертификата Microsoft. В крупных сетях, таких, как сети поставщиков услуг доступа к приложениям на основе терминальных служб, правила SAFER можно использовать для того, чтобы ограничить круг прикладных программ, доступных тому или иному пользователю.
В системе .NET Server определения правил SAFER встроены в параметры объектов GPO; поэтому для того, чтобы задать некоторые правила, ограничивающие использование программных средств, администраторам необходимо ввести соответствующие значения в параметры объектов GPO.
В соответствии с правилами, применимыми ко всем объектам GPO, ограничения на использование программных средств можно задавать как на уровне пользователя, так и на уровне объектов GPO соответствующей машины.
При определении какого-либо правила, ограничивающего использование программных средств, прежде всего, необходимо выбрать один из двух предлагаемых по умолчанию уровней безопасности: Unrestricted (без ограничений, обладатель данной учетной записи может запускать любую программу, если учетная запись наделена соответствующими правами доступа) и Disallowed (в разрешении отказано; обладателю учетной записи не предоставлено право запускать какую бы то ни было программу независимо от того, какими правами доступа он располагает). Чтобы задать один из указанных уровней безопасности, нужно открыть содержащий объекты GPO контейнер Security Levels. Если администратор имеет лишь отдаленное представление о характере программных средств, с которыми работают пользователи, рекомендую установить уровень безопасности Disallowed.
После того как установлен предлагаемый по умолчанию уровень безопасности, можно переходить к более тонкой настройке и применять дополнительные правила, как показано на Экране 3. Правила могут включать в себя четыре параметра: лицо или организация, подписывающая программный код, свертка хешированного значения кода, зона Internet или Web-сайт, откуда программа была получена, и файловая система или путь URL к данной программе.
Если при работе с функцией ограничения использования программных средств возникают проблемы, для выявления их причин можно задействовать классические средства протоколирования, предусмотренные для объектов GPO, или инструмент gpresult.exe из комплекта Microsoft Windows .NET Server Resource Kit. Кроме того, можно воспользоваться входящим в комплект поставки .NET Server средством Resultant Set of Policies (RSoP). Последнее позволяет моделировать результаты применения тех или иных параметров объектов GPO.
Новые средства PKI
В .NET Server получают дальнейшее развитие реализованные уже в пакете NT 4.0 Option Pack программные средства инфраструктуры общедоступных ключей (public key infrastructure, PKI). Возможно, самое важное усовершенствование PKI в .NET Server — это библиотека CAPICOM DLL.
CAPICOM позволяет разработчикам приложений без особых хлопот оснащать PKI-приложения мощными средствами защиты на базе общедоступных ключей. Библиотека CAPICOM делает доступными для программиста функции и процедуры интерфейса CryptoAPI (CAPI). Программы на C++, сценарии на языке Visual Basic (VB) и даже Web-приложения на базе активных серверных страниц (Active Server Pages, ASP) могут обращаться к CAPICOM с запросами, связанными с проверкой цифровых подписей, шифрованием и дешифрованием данных, а также с манипулированием содержимым хранилища сертификатов. Более подробная информация о CAPICOM содержится в материалах комплекта Windows Platform software development kit (SDK) Security and Cryptography по адресу: http://msdn.microsoft.com/library.
С точки зрения инфраструктуры наиболее полезными усовершенствованиями .NET Server в сфере PKI можно считать средства взаимной сертификации и уточненного подчинения, редактируемые шаблоны сертификатов и службы восстановления ключей, а также дополнительные средства для работы со смарт-картами.
В отличие от иерархической модели доверительных отношений, используемой центрами сертификации (Certificate Authority, CA), реализованная в .NET Server модель доверительных отношений с взаимной сертификацией допускает такие ситуации, когда центры сертификации (CA) одновременно являются и основными, и подчиненными. Система взаимной сертификации Windows 2000 играет ключевую роль в тех случаях, когда сотрудничающие компании пользуются своими сертификатами, и служит еще одним средством обеспечения безопасности, наряду со списком надежных сертификатов (certificate trust list, CTL). Благодаря системе взаимной сертификации две организации, доверяющие различным центрам сертификации, могут заключить соглашение о доверительных отношениях на базе PKI и обеспечить взаимное признание сертификатов пользователями средств PKI.
Уточненное подчинение (qualified subordination) позволяет ограничить доверительные отношения между различными центрами сертификации, включая доверительные отношения на базе взаимного признания сертификатов. Средства уточненного подчинения можно использовать для назначения детализированных правил признания сертификатов (certificate policies, CP) для любого типа сертификата, выпущенного внутри предприятия или для внешних партнеров. Для достижения совместимости с операционными системами более ранних версий для взаимного признания сертификатов и уточненного подчинения требуется установка на этих машинах специальных программ (на момент подготовки данной статьи Microsoft еще не представила такой программы).
Для активизации функции уточненного подчинения используются редактируемые шаблоны сертификатов операционной системы .NET Server, так называемые шаблоны версии 2 (Version 2 templates). .NET Server по-прежнему допускает применение нередактируемых шаблонов Windows 2000 (Version 1 templates). Кроме того, можно скопировать содержимое шаблона версии 1 в шаблон версии 2, а там уже его редактировать. Оснастка MMC Certificate Templates дает возможность модифицировать существующие шаблоны сертификатов версии 2, как показано на Экране 4, и создавать новые. К параметрам шаблонов, которые допускают модификацию, относятся расширения сертификатов, время действия сертификатов, параметры автоматической регистрации (autoenrollment) и правила архивирования ключей.
Главная служба восстановления ключей в .NET Server интегрирует службы восстановления ключей для различных приложений, соответствующих стандарту PKI, с базой данных центра сертификации. До выпуска .NET Server восстанавливать ключи можно было только в системах EFS и Secure MIME. В пакетах S/MIME и Microsoft Exchange Server используется централизованное решение на базе сервера Key Management Server (KMS), но уже в следующем пакете исправлений для Exchange 2000 Server будет реализована служба восстановления ключей .NET Server. Что же касается EFS, то в этой системе по-прежнему будет применяться децентрализованная система восстановления ключей на базе NTFS.
Наряду с этим в Windows XP Pro и .NET Server решаются некоторые унаследованные от Windows 2000 проблемы, связанные со смарт-картами. Если Windows 2000 предоставляет администраторам лишь ограниченные возможности использования смарт-карт, то в среде .NET Server с их помощью можно запускать программу DCPROMO, выполнять команды Net и Runas, как показано на Экране 5, а также задействовать службы терминалов для дистанционного администрирования.
Экран 5. Запуск Runas с учетными данными на смарт-карте |
С появлением нового переключателя Runas/smartcard можно будет представлять учетные данные прямо со смарт-карты.
Я рекомендую читателям поэкспериментировать с новыми PKI-функциями. Эти средства стоят того, чтобы потратить какое-то время на их изучение. Функции для работы с инфраструктурой общедоступных ключей — это тот участок в системе безопасности, которому специалисты Microsoft уделили максимум внимания.
Совершенствование управления системой защиты
Идя навстречу пожеланиям пользователей, ежедневно решающих проблемы управления средствами безопасности операционных систем, создатели .NET Server включили в эту операционную систему новые функции, способные облегчить жизнь сетевого администратора. К ним относятся изменения в графическом интерфейсе редактора ACL Editor, окно Advanced с закладкой Effective permissions которого показано на Экране 6. На этой закладке администратор может просматривать накапливаемый набор разрешений (включая унаследованные разрешения), предоставленных группе сотрудников или пользователю. На закладке Permissions окна Advanced имеется новая колонка Inherited from, в которой перечисляются родительские объекты для унаследованных разрешений.
Экран 6. Просмотр присвоенных и унаследованных прав пользователя. |
Кроме того, в системе .NET Server расширяются возможности управления системой, заложенные в интерфейсе Windows Management Instrumentation (WMI). WMI — это предложенная специалистами Microsoft реализация разработанного стандарта управления на базе Web — Web-Based Enterprise Management (WBEM).
Администраторам, которые занимаются управлением системами, нужно как следует разобраться в этой технологии. В среде .NET Server WMI позволяет обращаться к набору инструментов Security Configuration. Кроме того, пространство имен реализованного в .NET Server интерфейса WMI включает объекты доверия (trust objects), что позволяет без труда составлять эффективные программы управления доверительными отношениями и мониторинга.
Внутренние механизмы безопасности
Не менее важную роль играют и не столь заметные усовершенствования в системе безопасности Windows XP Pro и .NET Server. В этих двух системах имеются две новые учетные записи, для использования которых пароли не требуются, — это записи Local Service и Network Service. Разработчики Microsoft таким образом стремились ограничить использование локальной учетной записи System. Дело в том, что пароль локальной учетной записи System меняется автоматически через регулярные промежутки времени, так что администраторы часто используют ее в качестве механизма защиты для прикладных программ и служб. Однако такая практика опасна, ибо данная учетная запись имеет в локальной системе всевозможные привилегии. Если злоумышленнику удастся получить доступ к соответствующему приложению или службе, безопасность всей системы может быть поставлена под угрозу. Чтобы свести риск к минимуму, разработчики Windows XP Pro и .NET Server наделили две новые учетные записи в этих операционных системах обычными привилегиями пользователя. Для доступа к нелокальным ресурсам учетная запись Local Service использует анонимный контекст безопасности, а учетная запись Network Service — учетную запись локальной машины.
Заслуживает внимания и то обстоятельство, что некоторые важные изменения коснулись и криптографических средств Windows XP Pro и .NET Server. Во-первых, представители Microsoft утверждают, что в средах XP Pro и .NET Server намного повышена эффективность протокола защиты на уровне сокетов (Secure Sockets Layer SSL), хотя доказательств тому пока нет. Во-вторых, реализованная в Windows XP Pro и .NET Server файловая система с шифрованием (EFS) поддерживает Triple DES (3DES). В-третьих, в операционных системах Windows XP Pro и .NET Server используется новый протокол аутентификации Digest authentication. Данный протокол, действующий по принципу «запрос/ответ», определен в качестве составной части спецификации HTTP 1.1. Digest authentication используется для аутентификации в службах Microsoft Internet Information Services (IIS) 5.0, однако он так и не был встроен в интерфейс Security Support Provider Interface (SSPI) данной операционной системы в качестве настоящего провайдера безопасности (Security Support Provider, SSP). Более подробную информацию о протоколе Digest authentication можно найти в документе Request for Comments (RFC) 2617 рабочей группы Internet Engineering Task Force (IETF), озаглавленном «HTTP Authenticaion: Basic and Digest access Authentication» и размещенном по адресу: http://www.ietf.org/rfc/rfc2617.txt.
В заключение хочу отметить, что Microsoft планирует реализовать в пакете .NET Server несколько усовершенствованных средств аутентификации доверительных отношений и проверки полномочий объектов, расположенных в различных лесах. Из-за определенных ограничений, возникших вследствие особенностей реализации службы Active Directory (AD), протокол Kerberos используется в системе Windows 2000 лишь в тех ситуациях, когда объекты расположены в различных лесах. В этой операционной системе регистрация между двумя лесами на базе протокола Kerberos возможна лишь в том случае, коxгда между соответствующими доменами доверительные отношения заданы явно, а транзитивные доверительные отношения между лесами не работают. В .NET Server поддерживается подлинная аутентификация между лесами на базе Kerberos, а также транзитивные доверительные отношения. Для определения доверительных отношений в .NET Server предусмотрен новый мастер Trust Wizard. Кроме того, в .NET Server допускается уточнение доверия, чтобы администраторы могли задавать условия доверия идентификаторам SID для определенных доверительных отношений.
На пути к безопасной системе
Подчеркивая серьезность своих намерений добиться высоких стандартов защиты в операционных системах Windows, Microsoft собирается представить коды XP Pro и .NET Server для официальной процедуры оценки реализованных в них средств защиты. Решающее значение при оценке будут играть универсальные критерии (Common Criteria), разработанные Национальным институтом стандартов и технологии (National Institute of Standards and Technology, NIST). С информацией о стандартах защиты данных Common Criteria можно ознакомиться на Web-узле Common Criteria по адресу: http://www.commoncriteria.org. Новые средства безопасности систем Windows XP Pro и .NET Server производят хорошее впечатление. Но только время покажет, будут ли эти новые операционные системы пользоваться популярностью у специалистов в области систем безопасности.
Жан де Клерк — консультант корпорации Compaq, специалист по проблемам безопасности продуктов семейства Microsoft BackOffice. С ним можно связаться по электронной почте по адресу: jan.declercq@compaq.com.