Надстройки и настройки #4

 | 19.08

Мой Компьютер, №25 (529), 10.11.2008

Вопрос 1. Я слышал о каких-то ActiveX-объектах. Это что, надстройки типа «Элемент ActiveX», которые мы уже встречали ранее?

Нет, объекты ActiveX (файлы с расширениями OCX, DLL или CAB) — это более общее понятие, чем надстройки браузера Internet Explorer. Под объектами ActiveX понимается целый класс программ для операционной системы Windows, которые могут работать как на локальном компьютере, так и на страницах Интернета. Они похожи на надстройки для операционной системы Windows — то есть, позволяют расширить ее возможности.

Объекты ActiveX также можно встретить в Интернете. Некоторые сайты используют их для тех или иных целей, и когда вы попытаетесь открыть такой сайт, браузер Internet Explorer отобразит панель информации с предложением установить элемент ActiveX (если он еще не установлен в вашей системе). То есть, если надстройки браузера позволяют расширить его возможности, то объекты ActiveX позволяют расширить возможности конкретного сайта.

Вопрос 2. Нам необходимо как-то разрешить обычным пользователям компьютера скачивать и устанавливать надстройки, причем разрешить только для определенного сайта. Можно ли это сделать?

По умолчанию установка ActiveX-объектов разрешается только администраторам компьютера, однако в некоторых случаях может понадобиться определить набор ActiveX-объектов, которые будет разрешено устанавливать не только администраторам, но и обычным пользователям. В операционной системе Windows Vista сделать это действительно можно, однако перед этим следует дважды подумать и с уверенностью сказать себе, что вы полностью осознаете то, что делаете.

Включить и настроить возможность установки ActiveX-объектов обычными пользователями позволяет стандартный компонент операционной системы Windows Vista — Служба установщика ActiveX (рис. 1).

По умолчанию данный компонент не устанавливается, поэтому вам придется самостоятельно установить его с помощью диалога Компоненты Windows (файл optionalfeatures.exe). Также этот компонент можно установить с помощью команды pkgmgr.exe /iu:AxInstallService.

Компонент присутствует только в версиях Windows Vista Ultimate, Business и Enterprise.

После установки компонента Служба установщика ActiveX будет создана групповая политика Веб-узлы, разрешенные для установки элементов управления ActiveX, расположенная в разделе Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Служба установки ActiveX оснастки Редактор объектов групповой политики. С помощью данной групповой политики как раз и определяются сайты Интернета, установка ActiveX-объектов с которых будет разрешена не только администраторам, но и обычным пользователям.

Чтобы указать нужный вам сайт, необходимо воспользоваться данной групповой политикой и ввести название сайта (в поле Введите имя добавляемого элемента), а также определить действия для установки ActiveX-объектов с этого сайта. Действия для установки ActiveX-объектов указываются в поле Введите значение добавляемого элемента. В этом поле необходимо через запятую указать четыре числа, каждое из которых определяет поведение при загрузке ActiveX-объектов с соответствующего сайта.

Первые два числа определяют действие при установке подписанного элемента управления ActiveX. Они могут принимать следующие значения:

  • 0 — запретить установку элемента управления с данного сайта;
  • 1 — отобразить запрос на установку элемента управления с сайта;
  • 2 — автоматически устанавливать элементы управления с данного сайта.

Третье число определяет действие при установке неподписанного элемента управления ActiveX. Оно может принимать следующие значения:

  • 0 — запретить установку элемента управления с данного сайта;
  • 1 — отобразить запрос на установку элемента управления с данного сайта.

Последнее число определяет, какие проверки содержимого сертификата элемента управления ActiveX необходимо игнорировать перед установкой ActiveX. По умолчанию значение данного числа равно 0, что соответствует максимальной безопасности (то есть сертификат элемента управления ActiveX проверяется на корректность всеми возможными способами). Оно представляет собой битовую маску, в которой могут быть установлены следующие биты.

  • 0x00001000. Не выполнять проверку сертификатов на неверные канонические имена (CN).
  • 0x00000100. Не выполнять проверку сертификатов на неизвестные центры сертификации.
  • 0x00002000. Не выполнять проверку сертификатов на неверную дату сертификата.
  • 0x00000200. Не выполнять проверку сертификатов на факт неправильного использования.

Чаще всего в данном поле необходимо указывать значение 2,1,0,0.

Когда вы измените групповую политику, выполните затем команду gpupdate /force. После этого настройки групповой политики вступят в силу.

Вопрос 3. Я установил стандартный компонент Служба установщика ActiveX, но у меня возник вопрос. Как же мне узнать, для каких сайтов пользователям необходимо устанавливать ActiveX-объекты? Неужели я должен спрашивать у каждого из пользователей?

Это не обязательно, хотя это один из способов решения возникшей перед вами проблемы.

Интересной особенностью службы Служба установщика ActiveX является то, что после ее установки в журнале событий приложений (оснастки Просмотр событий, консоль eventvwr.msc) можно будет найти событие с кодом 4097 и источником AxInstallService.

Данное событие возникает в том случае, если для отображения какой-либо страницы требовался ActiveX-объект, установка которого доступна только от имени администратора (то есть возможность установки от имени пользователя с указанного сайта назначена не была).

Таким образом, с помощью события 4097 можно определить сайты, для работы которых необходима установка ActiveX-объектов, после чего легко назначить возможность пользовательской установки ActiveX-объектов с этих сайтов (если, конечно, эта возможность вам необходима).

Вопрос 4. С сайтами я разобрался. Но у меня возник еще один вопрос. Что такое подписанные и неподписанные ActiveX-объекты? Какая между ними разница?

Поскольку любой ActiveX-объект может сделать в вашей операционной системе все, что ему заблагорассудится, корпорация Microsoft, для повышения вашей безопасности решила ввести обязательную сертификацию всех элементов ActiveX. В рамках этой сертификации специальный центр сертификации проверяет элемент ActiveX, пытаясь определить, действительно ли данный ActiveX делает то, что должен, и не выполняет ли он при этом какие-либо вредоносные действия. Если элемент ActiveX признается безопасным, центр сертификации подписывает его.

То есть желательно никогда не устанавливать неподписанные элементы ActiveX. Если браузер обнаружит на странице какой-либо неподписанный элемент ActiveX, он сообщит вам об этом. Советую вам никогда не устанавливать неподписанные элементы ActiveX, так как никто не может гарантировать, что именно они делают. Собственно, по умолчанию это у вас и не получится, так как браузер запрещает работу с неподписанными элементами ActiveX.

Вопрос 5. А можно ли как-нибудь запретить установку и выполнение определенного ActiveX-объекта?

Да, такое сделать можно. Однако делается это не так просто, как хотелось бы.

Решение. Использование групповых политик. Наиболее простой и наименее гибкий способ сделать это — воспользоваться групповыми политиками. Точнее, с их помощью вы сможете запретить установку и запуск всех элементов управления ActiveX, кроме указанных вами. Для этого вам необходимо сделать следующее.

На вкладке Безопасность диалога Свойства обозревателя необходимо выбрать зону Интернет и нажать кнопку Другой. Это приведет к отображению диалога Параметры безопасности — зона Интернет. В этом диалоге необходимо в положение Допущенных администратором установить переключатель Запуск элементов ActiveX и модулей подключения, расположенный в разделе Элементы ActiveX и модули подключения (рис. 2).

После того как вы сделаете это, можно запускать оснастку Редактор объектов групповой политики. Перейдите в этой оснастке к разделу Конфигурация пользователя > Административные шаблоны > Компоненты Windows > Internet Explorer > Элементы управления, допущенные администратором. В нем находится ряд групповых политик, каждая из которых определяет, разрешено ли использовать определенный ActiveX-объект. То есть, с помощью групповых политик вы сможете разрешить использование только заранее заданных, наиболее популярных элементов управления ActiveX — в частности, следующих:

  • Элемент управления ActiveMovie
  • Управление медиа
  • Элемент управления CarPoint AutoPicer
  • Элемент управления DHTML Edit
  • Shockwave Flash
  • Элемент управления MSN Investor Chart
  • Бегущая строка MS Investor
  • Элемент управления MSNBC News
  • Меню MCSiMenu
  • Объект всплывающего меню
  • Элемент управления меню значков
  • Элемент управления Microsoft Agent
  • Элемент управления MSChat
  • Элемент управления NetShow File Transfer
  • Компонент Microsoft Scriptlet
  • Элемент управления Microsoft Survey.

Чтобы разрешить работу одного из представленных ActiveX-объектов, просто включите нужную групповую политику, не забыв при этом установить флажок напротив нужного элемента управления.

Решение. Использование специального сценария. Еще одним способом запретить запуск элемента управления ActiveX является использование сценария, представленного ниже. Единственным ограничением его использования является то, что вам необходимо знать GUID-номер ActiveX-объекта, работу которого необходимо запретить в браузере Internet Explorer.

Проще всего узнать GUID-номер ActiveX-объекта с помощью программы OleView.Exe, которая входит в поставку среды программирования Microsoft Visual Studio (каталог %programfiles%Microsoft Visual Studio 8Common7ToolsBin). Просто запустите данную программу и в разделе Object Classes > All Object найдите нужный вам ActiveX-объект. В контекстном меню найденного ActiveX-объекта выберите команду Copy CLSID to Clipboard (рис. 3).

Существует еще один способ узнать GUID-номер. Такой способ можно применять, если при загрузке страницы браузер отображает панель информации с сообщением о том, что элемент ActiveX, необходимый для работы страницы, заблокирован. Если вам необходимо узнать GUID-номер заблокированного элемента ActiveX, просто откройте код загружаемой страницы и поищите в нем строку classid=»clsid: или просто clsid:. После двоеточия и будет идти GUID-номер нужного вам элемента ActiveX.

Итак, обещанный сценарий. С его помощью можно запретить браузеру Internet Explorer запускать определенный ActiveX-объект. Для этого указываем GUID-номер неугодного вам ActiveX-объекта.

Set wsh1 = WScript.CreateObject(«WScript.Shell»)

tmp = inputbox(«Введите GUID-номер ActiveX-объекта, работу которого нужно заблокировать», «www.onestyle.com.ua, специально для книги»,

«{00000000-0000-0000-0000-000000000000}»)

if VarType(tmp) <> 0 then

wsh1.run «cmd.exe /k reg add » + chr(34) + «HKLMSOFTWAREMicrosoftInternet ExplorerActiveX Compatibility» + tmp + chr(34) + » /v » + chr(34)

+ «Compatibility Flags» + chr(34) + » /t REG_DWORD /d 1024″

end if

А с помощью сценария, представленного ниже, можно найти GUID-номер ActiveX-объекта, если вы знаете его имя. Для этого просто запустите сценарий и введите имя ActiveX-объекта, или его часть.

Set wsh1 = WScript.CreateObject(«WScript.Shell»)

tmp = inputbox(«Введите имя ActiveX-объекта или его часть»,

«www.onestyle.com.ua, специально для книги», «Apple QuickTime Control»)

if VarType(tmp) <> 0 then

wsh1.run «cmd.exe /k reg query HKCRCLSID /s /f » + chr(34) + «*» + tmp + «*»

+ chr(34) + » /d»

end if

В следующем номере мы завершим изучение возможностей современных браузеров, и вы, уважаемые читатели, станете настоящими экспертами в этой области.

Parad0x

Robo User
Web-droid editor

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *