Запускаем сценарий загрузки от имени администратора::Журнал СА 3.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9933
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8143
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8250
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5224
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5908
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Запускаем сценарий загрузки от имени администратора

Архив номеров / 2009 / Выпуск №3 (76) / Запускаем сценарий загрузки от имени администратора

Рубрика: Администрирование /  Автоматизация

Иван Коробко

Запускаем сценарий загрузки от имени администратора

Во время регистрации пользователя в домене Windows отрабатывает сценарий, обеспечивающий решение задачи инвентаризации, подключения сетевых ресурсов и настройки рабочей среды пользователя. Однако последняя из перечисленных задач решается не полностью из-за урезанных прав. Рассмотрим, как расширить эти права, не давая пользователю дополнительных привилегий.

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

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

Существует много способов решения данной задачи, которые в итоге сводятся к копированию и регистрации какой-либо библиотеки, содержащий COM-объект с ее последующей регистрацией в сети. Реализация этого механизма также не позволяет избежать использования групповых политик. Другим возможным решением является вызов или запуск командного файла или сценария от имени администратора, пароль которого публикуется в открытом виде. Вердикт этому решению – небезопасно, а значит, от него придется отказаться.

Оптимальным решением, как показала практика, является использование трехзвенной системы, например сервер IIS, который позволяет обеспечить имперсонализацию, т.е. подстановку имени и пароля, хранящимся на сервере в зашифрованном виде. Рассмотрим подробнее устройство сценария.

Структура сценария

Любой сценарий регистрации пользователей в сети решает несколько задач:

  •  Инвентаризация. Включает в себя сбор информации о пользователе, регистрирующимся в сети и рабочей станции: ее программной и аппаратной конфигурации.
  •  Создание и настройка файловой системы обмена (требует административных прав). Динамическое управление файловыми ресурсами, построенными на основе DFS.
  • Автоматическое подключение сетевых ресурсов: принтеров и дисков на основе членства в группах безопасности в каталоге Active Directory.
  • Автоматическая настройка рабочих станций (часть выполняется от имени пользователя, часть требует административных привилегий). Унификация оформления рабочего стола, языковых предпочтений, управления ярлыками в папке «Мой Компьютер» и т. д.
  • Обеспечение интерактивности работы сценария. В ходе работы сценария на экране отображается различная информация о работе сценария.

Анализирую приведенный список задач, четко видно, что часть из них требует административных привилегий. Создав ASP.NET-страницу, хранящуюся на IIS-сервере, можно обеспечить удаленное управление реестром. Более того, таким образом реализуют удаленное управление DFS, параметрами безопасности файловой системы и т. д.

Реализация поставленной задачи состоит из двух крупных частей: обращение к сайту в «тихом» режиме и обеспечение работы имперсонализации на IIS-сервере.

Сценарий регистрации пользователей в сети

В качестве языка сценариев может быть использован любой встроенный скриптовый язык, например: VBScript (VBS), Jscript (JS) или пакетные файлы (CMD).

Модульный принцип сценария

Для повышения надежности и управляемости сценария лучше всего использовать модульный принцип. В соответствии с ним сценарий состоит из нескольких частей – модулей, которые выполняются в указанной последовательности. Оптимальное решение в данном случае – использовать командный файл (см. листинг 1), в котором перечислены выполняемые модули.

Создание такого файла имеет ряд особенностей:

  • Запускаемые модули, как и сам командный файл, находятся в каталоге \\DOMAIN\Netlogon. Если в командном файле указать просто имя файла с расширением, то модуль-сценарий не будет найден. Путь необходимо указывать целиком [1]: «%0\..\*.*».
  • Последовательного выполнения файлов добиваются использованием команды: «start /wait».

Листинг. 1. Пакетный файл LOGON.BAT

start /wait wscript.exe %0\..\inventory.vbs

start /wait wscript.exe %0\..\network.vbs

start /wait wscript.exe %0\..\admin.vbs

Запуск сценария

Выполнение сценария загрузки можно обеспечить двумя способами:

\\Domain\NetLogon.

Рисунок 1. Назначение сценария загрузки с помощью Active Directory Users and Computers

Рисунок 1. Назначение сценария загрузки с помощью Active Directory Users and Computers

Рисунок 2. Запуск сценария загрузки политикой безопасности

Рисунок 2. Запуск сценария загрузки политикой безопасности

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

Обращения к IIS-серверу

Все перечисленные в листинге 1 сценарии располагаются в каталоге NETLOGON контроллера домена. Не является исключением сценарий обращения к IIS-серверу, эмулирующего вызов Internet Explorer, по умолчанию установленного в любой операционной системе Windows, и сценарий вызова страницы по указанному адресу, например http://RemoteRegisty.

Сценарий вызова страницы работает по алгоритму, который рассмотрен в листинге 2. На первом этапе создают экземпляр объекта InternetExplorer.Application. Перед тем как управлять им, для предотвращения ошибки в работе сценария необходимо дождаться окончания загрузки браузера. Для этого используется свойство IE.Busy совместно с циклом Do While… Loop. При завершении загрузки страницы – IE.Busy=0. Затем, после того как объект стал доступен для управления, необходимо сделать окно браузера невидимым с помощью свойства Visible. Теперь с помощью метода Navigate() сценарий выполнит загрузку указанной в качестве свойства страницы. Дождавшись окончания работы сценариев на сайте, уничтожим созданный объект IE, вызвав функцию Quit.

Листинг 2. Обращение к интернет-ресурсу

Set IE=CreateObject("InternetExplorer.Application")

'Ожидание пока не загрузится браузер

Do While (IE.Busy)

WScript.Sleep 100

Loop

IE.Visible =0

IE.Navigate("http://RemoteRegistry")

'Ожидание пока не загрузится браузер

Do While (IE.Busy)

Wscript.Sleep 100

Loop

IE.Quit()

Управление имперсонализацией сайта

Существует как минимум два решения. Каждое из них имеет свои преимущества и недостатки. Первое решение – настроить пул для сайта, в котором прописать имя и пароль учетной записи пользователя, от имени которого будет выполняться страница на сервере. Второй вариант – сделать необходимые изменения в конфигурационном файле настроек web.config. Рассмотрим оба способа подробнее.

Настройка пула для сайта

Начиная с Windows 2003 в комплект дистрибутива Windows входит IIS 6. Одной из его отличительных особенностей является поддержка индивидуального пула безопасности для каждого веб-сайта. В связи с этим к разделам Web Site и Web Service Extension добавился раздел Application Pool.

Любой вновь созданный файл входит в DefaultAppPool, у которого взаимодействие между серверами осуществляется с помощью встроенной учетной записи Network Service. Для решения поставленной задачи необходимо создать новый пул, например Admin (см. рис. 3), и во вкладке Identity указать имя (Domain/Login) и пароль учетной записи, прав которой достаточно для решения поставленной задачи.

Рисунок 3. Создание пула для сайта

Рисунок 3. Создание пула для сайта

После того как пул создан, необходимо для сайта назначить новый пул. Для этого в свойствах сайта нужно во вкладке Home Directory изменить пул приложения (см. рис. 4). Этот способ самый безопасный, поскольку пароль пользователя хранится на сервере в зашифрованном виде.

Рисунок 4. Привязка сайта к пулу приложения

Рисунок 4. Привязка сайта к пулу приложения

Конфигурационный файл web.config

Файл web.config представляет собой текстовый файл в формате XML, с помощью которого осуществляется управление библиотеками FrameWork, параметрами безопасности и т. д. Имперсонализацией управляют тегом identity (см. листинг 3), который содержит три параметра:

  • Impersonate – принимает булево значение: true или false;
  • Username – учетная запись пользователя в формате Domain/Login;
  • Password – пароль в явном виде.

Листинг 3. Управление имперсонализацией в файле web.config

<?xml version="1.0"?>

<configuration>

<system.web>

<identity impersonate="true" userName="***\*****" password="****"/>

</system.web>

</configuration>

Управление файлом осуществляется как вручную, так и с помощью настроек FrameWork в свойствах сайта. Несмотря на то что при правильной настройке сайта пользователь не может увидеть ни файл web.config, ни его содержимое, все же хранение имени и пароля урезанной в правах административной учетной записи – не самое лучшее решение.

Заключение

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

  1. Use of the %0\..\ Syntax in the Smsls.bat File – http://support.microsoft.com/kb/121387.

Комментарии отсутствуют

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

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru