Иногда, путешествуя по Internet, мы попадаем на сайты, где для получения доступа к содержимому Web-страниц необходимо загружать и устанавливать в системе элементы управления ActiveX. Так вот, если ваш компьютер управляется Windows XP, а учетная запись наделена минимальным набором полномочий, у вас возникает проблема — недостаточно прав для установки необходимого элемента управления. Известно, что после загрузки ActiveX с сомнительного сайта злоумышленники могут с его помощью нарушить нормальную работу компьютера. Поэтому элементы управления ActiveX следует устанавливать с большой осторожностью, только из заслуживающих доверия источников. Желательно, чтобы данную процедуру выполнял администратор, который понимает, какой риск с этим связан. То есть пользователи с ограниченными правами должны ждать, пока технический специалист службы поддержки найдет время для того, чтобы установить за них упомянутые элементы управления. Едва ли такую ситуацию можно назвать идеальной, но в большинстве случаев это все же лучше, чем наделять пользователей, работающих с Microsoft Internet Explorer (IE), привилегиями администраторов.
Вот здесь-то и приходит на помощь входящая в состав Windows Vista служба ActiveX Installer Service. Эту службу — отметим, что она реализована только в версиях Vista Ultimate, Business и Enterprise, — можно использовать в сочетании с групповыми политиками для определения того, имеет ли право наделенный минимальным объемом полномочий пользователь устанавливать элементы управления ActiveX (т. е. файлы с расширениями .ocx, .dll или .cab), полученные по определенному адресу URL. Если служба ActiveX Installer Service, проверив помещенный в групповой политике список разрешенных URL-адресов, обнаружит там этот адрес, она установит в системе элемент управления от имени пользователя. И хотя служба ActiveX Installer Service имеет некоторые ограничения (речь о них пойдет ниже), она как-никак позволяет пользователям и их администраторам в той или иной степени контролировать объекты ActiveX. Рассмотрим, каким образом следует настраивать службу Installer Service, чтобы она устанавливала для желающих проигрыватель Adobe Flash Player.
Предыстория и первые шаги
Здесь следует подчеркнуть, что браузеры IE, выпускавшиеся до появления Windows Vista, все же были оснащены некоторыми средствами контроля компонентов ActiveX. Пакет обновлений XP Service Pack 2 (SP2) для IE 6.0 и более поздних версий дает возможность выполнять программу с правами администратора и блокировать установку всех элементов управления ActiveX. Для каждой зоны безопасности IE администратору с соответствующими привилегиями можно предоставить право загружать и выполнять подписанные либо неподписанные элементы управления ActiveX (или не предоставлять ему такого права). Кроме того, в групповой политике можно поместить список «санкционированных администратором» элементов управления ActiveX, которые могут использовать локальные администраторы. Эти настройки групповой политики прекрасно справляются с задачей ограничения полномочий пользователей с административными правами, но они бесполезны, когда дело доходит до предоставления наименее привилегированным пользователям права устанавливать элементы управления. Этим пользователям запрещено устанавливать элементы управления вне зависимости от того, что указано в политике.
Чтобы воспользоваться службой ActiveX Installer Service, ее нужно для начала установить, ибо это факультативный компонент Windows. В среде Vista версии Ultimate, Business или Enterprise нужно зарегистрироваться с учетной записью администратора, открыть панель управления и выбрать пункт Programs. Щелкните на пункте Turn Windows features on or off. Служба ActiveX Installer Service будет стоять в начале списка. Установите ее флажок, как показано на экране 1, затем нажмите ОК.
Разрешение на установку Flash Player
Перед тем как создавать реально действующую политику, указывающую, с каких URL-адресов наделенные минимальным объемом полномочий пользователи могут загружать элементы управления ActiveX, необходимо получить некоторые сведения как об этих Web-узлах, так и об элементах управления. Для получения таких сведений можно сгенерировать событие, имеющее отношение к некоему URL-адресу, а также к элементу управления, и заглянуть в описание данного события.
Чтобы вызвать событие, сначала следует зарегистрироваться в системе Vista с пользовательской учетной записью, которая входит только в одну группу — встроенную группу users. Никаких административных привилегий эта запись иметь не должна.
В рамках данной статьи мы будем работать с проигрывателем Flash Player, поэтому следует открыть страницу Adobe Flash Player Download Center, которая находится по адресу http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash . Если данный элемент управления уже установлен в системе, можно удалить его с помощью инструмента Manage Add-ons браузера IE.
Нажмите соответствующую кнопку для установки на компьютере проигрывателя Flash Player 9. Компонент управления доступом пользователей Vista User Access Control (UAC) предложит ввести имя пользователя с правами администратора и пароль для компонента Internet Explorer Add-on Installer. В этот момент следует нажать кнопку Cancel в окне UAC. Событие сгенерировано.
Завершите сеанс системы и вновь зарегистрируйтесь в ней — но уже с полномочиями администратора; до сих пор вы имели права обычного пользователя. Возможно, здесь можно было бы воспользоваться функцией быстрого переключения пользователей Fast User Switching — FUS, но на этапе тестирования я предпочитаю не прибегать к ее помощи, особенно в тех случаях, когда приходится вносить изменения в групповые политики. Мой опыт показывает, что в подобной ситуации в зависимости от модифицируемой политики может потребоваться перерегистрация, а то и перезагрузка системы. Для получения более надежных результатов нужно завершать сеанс работы системы и вновь зарегистрироваться в ней, хотя это и отнимает больше времени.
Откройте окно утилиты просмотра событий Event Viewer (в диалоговом Search окне меню Start введите слово event, и в разделе Programs появится имя Event Viewer), а затем найдите в журнале регистрации событий этого приложения событие с идентификатором ID 4097. На экране 2 представлена информация о событии, в которой содержится два важных компонента: имя файла управления элементом ActiveX и URL сайта. Расширение файла swflash.cab указывает на то, что служба ActiveX Installer Service может с ним работать. Помните, что Installer обеспечивает установку элементов управления, сформированных как файлы с расширениями .ocx, .dll или .cab. URL-адрес — http://fpdownload.macromedia.com — необходим для настройки службы ActiveX Installer Service таким образом, чтобы она могла установить нужный элемент управления.
В корпоративной среде службу Installer следует настраивать для работы с целым рядом систем; для этого особым образом настраивается объект групповой политики (Group Policy Object, GPO) службы Active Directory (AD). Но, поскольку сейчас мы занимаемся тестированием, я расскажу, как пользователю, желающему установить проигрыватель Flash Player, настроить политику локального компьютера.
В окне Search меню Start необходимо ввести с клавиатуры имя файла gpedit.msc и нажать клавишу ввода. Последовательно выберите пункты Local Computer PolicyComputer ConfigurationAdministrative TemplatesWindows ComponentsActiveX Installer Service, затем пункт Approved Installation Sites for ActiveX Controls, выделите Enabled и нажмите кнопку Show. В диалоговом окне нужно нажать кнопку Show Contents, а затем ввести URL-адрес http://fpdownload.macromedia.com в качестве имени переменной и 2,1,0,0 — в качестве ее значения. Нажимаем ОК. На экране появится диалоговое окно, показанное на экране 3.
Первые три цифры значения 2,1,0,0 информируют службу ActiveX Installer Service о том, какие действия следует предпринимать в отношении пользующихся доверием подписанных и неподписанных элементов управления. 0 означает «не устанавливать», 1 означает «запросить разрешение у пользователя», а 2 означает «устанавливать без запроса». Итак, в нашем случае, когда значение составляет 2,1,0,0, 2 дает службе Installer санкцию на установку пользующихся доверием элементов управления, 1 предписывает службе обратиться к пользователю за разрешением на установку элементов управления с цифровой подписью, а 0 означает, что неподписанные элементы управления устанавливаться не должны.
Четвертая цифра в значении 2,1,0,0 дает службе ActiveX Installer Service указание относительно того, как нужно обрабатывать ошибки сертификата HTTP Secure (HTTPS). По умолчанию принимается значение 0; это означает, что в процессе установки элемента управления ошибок в сертификатах быть не должно. Другие возможные значения перечислены в таблице. Если элемент управления ActiveX загружается с сайта по протоколу HTTPS, значения, отличные от нуля, снижают требования к безопасности при решении проблем с ошибками в сертификате.
В диалоговом окне Approved Installation Sites for ActiveX Controls нужно нажать кнопку ОК и закрыть редактор групповых политик Group Policy Editor (GPE). Чтобы политика немедленно вступила в силу, необходимо осуществить ее обновление. Откройте окно командной строки и введите
gpupdate /force
Через несколько секунд политика будет обновлена.
Испытания и предостережения
После выполнения заданной команды перерегистрируйтесь в системе с правами обычного пользователя и вновь попытайтесь установить проигрыватель Flash Player. Откройте окно браузера IE и еще раз обратитесь на Web-узел Adobe Flash Player Download Center. Вновь попытайтесь установить элемент управления и обратите внимание на то, что теперь система реагирует на ваши действия не так, как прежде. На этот раз служба ActiveX Installer Service запросит разрешение на установку компонента. Предоставьте ей такое разрешение, и через несколько секунд вы увидите, что процесс успешно завершен: в окне Web-браузера выполняется flash-анимация. Все обошлось без привилегий уровня администратора.
Убедитесь, что, если вы, обладая правами обычного пользователя, попадете на другой сайт, где вам опять-таки будет предложено перед загрузкой контента установить элемент управления ActiveX, система Vista применит свои стандартные ограничения по безопасности. К примеру, если с учетной записью обычного пользователя вы попадете на страницу http://www.apple.com/quicktime/player/win.html , компонент UAC предложит предъявить учетные данные администратора, поскольку URL-адрес этого сайта в политике не задан. Следует отменить этот запрос UAC и (после завершения сеанса системы и повторной регистрации в качестве администратора) вновь поискать в журнале регистрации событий приложения событие с идентификатором ID 4097. Не забудьте, что для обращения к сайту Apple QuickTime требуется другой URL-адрес.
Политика, которая только что была создана, должна предоставлять обычному пользователю право устанавливать любые элементы управления ActiveX, удовлетворяющие двум требованиям: они должны быть в том же формате и находиться на том же сайте Adobe, который указан в политике. Однако в ходе испытаний мне пришлось столкнуться с проблемами при установке некоторых элементов управления — и это при том, что они размещались в файлах правильных форматов. Например, в ходе установки средствами ActiveX Installer Service проигрывателя Adobe Shockwave Player (представленного в корректном формате и находящегося на том же сайте Adobe, что и Flash Player), система предложила мне ввести свои учетные данные. Понятно, что такая реакция лишает использование службы Installer всякого смысла. Вывод: необходимо тестировать каждый элемент ActiveX, установку которого в сети должна по вашему замыслу санкционировать служба Installer.
Но если, на ваш взгляд, проблема состоит не в том или ином конкретном элементе ActiveX, а в том, можно ли доверять разработавшей его компании и всем элементам управления, которые она вознамерится опубликовать по данному адресу, следует поискать другое решение. Впрочем, как бы то ни было, мне представляется, что служба ActiveX Installer Service — это огромный шаг вперед по сравнению со средствами управления элементами ActiveX, реализованными в предыдущих версиях Windows. Информацию о том, как управлять загрузкой элементов ActiveX под управлением версий Windows, выпущенных до появления Vista, можно найти в статье «Отключение ActiveX как способ защиты сети», опубликованной в № 2 Windows IT Pro/RE за 2006 г.
Работа с элементами управления Activex
Рассел Смит (rms@russell-smith.net ) — независимый ИТ-консультант, специализируется на управлении системами