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

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

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

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

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

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

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

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

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

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

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

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

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

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

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

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

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

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

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

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

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

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

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

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

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

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

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

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

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

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

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

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

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

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

12.03.2018г.
Просмотров: 4092
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 2961
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 3762
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 3774
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 6260
Комментарии: 0
Анализ социальных медиа на Python

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

19.12.2017г.
Просмотров: 3116
Комментарии: 0
Основы блокчейна

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

19.12.2017г.
Просмотров: 3418
Комментарии: 0
Java 9. Полный обзор нововведений

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

16.02.2017г.
Просмотров: 7232
Комментарии: 0
Опоздавших не бывает, или книга о стеке

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

17.05.2016г.
Просмотров: 10600
Комментарии: 0
Теория вычислений для программистов

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

30.03.2015г.
Просмотров: 12320
Комментарии: 0
От математики к обобщенному программированию

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

18.02.2014г.
Просмотров: 13952
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

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

13.02.2014г.
Просмотров: 9083
Комментарии: 0
Читайте, размышляйте, действуйте

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

12.02.2014г.
Просмотров: 7039
Комментарии: 0
Рисуем наши мысли

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

10.02.2014г.
Просмотров: 5349
Комментарии: 3
Страна в цифрах

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

18.12.2013г.
Просмотров: 4581
Комментарии: 0
Большие данные меняют нашу жизнь

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

18.12.2013г.
Просмотров: 3392
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

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

04.12.2013г.
Просмотров: 3113
Комментарии: 0
Паутина в облаках

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

03.12.2013г.
Просмотров: 3368
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

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

02.12.2013г.
Просмотров: 2990
Комментарии: 0
Не думай о минутах свысока

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

Друзья сайта  

 Использование IIS в корпоративных сетях

Архив номеров / 2011 / Выпуск №1-2 (98-99) / Использование IIS в корпоративных сетях

Рубрика: Администрирование /  Победитель конкурса

Иван Коробко ИВАН КОРОБКО, сертифицированный специалист MCP, автор более 50 статей и двух книг. Занимается созданием различных приложений для Active Directory

Использование IIS
в корпоративных сетях

Использование олицетворения (имперсонализации), реализованного в IIS, многократно увеличивает функционал приложений, обеспечивающих автоматизацию различных процессов

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

Олицетворение в IIS

Internet Information Service (IIS) – яркий пример трехзвенной системы. В качестве клиента выступает любой браузер – Internet Explorer, Mozila, Opera, в качестве сервера – IIS, в качестве сервера базы данных – этот или иной сервер.

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

Настройка олицетворения осуществляется через пул приложений (Application Pool), который по умолчанию создается для каждого веб-приложения. Практика показывает, что иметь несколько идентичных пулов приложений не имеет смысла – достаточно двух или трех разных пулов. Установив курсор на изменяемый пул в контекстном меню, размещенном в панели справа от списка пула приложений, выберите пункт Advanced Settings… (см. рис. 1). В появившемся диалоговом окне найдите свойство identity и кликните по значку с терм точками справа от предполагаемого значения. В новом окне необходимо выбрать тип учетной записи (custom account), от имени которой будет осуществляться доступ на другие серверы. На заключительном шаге необходимо ввести имя пользователя и дважды его пароль.

Рисунок 1. Настройка олицетворения приложения. Пул приложений

Рисунок 1. Настройка олицетворения приложения. Пул приложений

Сделанные изменения записываются в файл web.config. Фрагмент файла приведен в листинге 1.

Листинг 1. Фрагмент файла web.config

<?xml version="1.0"?>
<configuration>
    ...
    The <authentication> section enables configuration
    of the security authentication mode used by
    ASP.NET to identify an incoming user.
 -->
        <authentication mode="Windows"/>
        <identity impersonate="true" userName="domain\userName" password="123456789"/>
...
</configuration>

Для повышения безопасности рекомендуется значения имени и пароля хранить в реестре [1].

В этом случае значение параметров username и password следующие:

userName="registry:HKLM\Software\AspNetProcess,Name"
password="registry:HKLM\Software\AspNetProcess,Pwd"

Веб-сайт, в котором должен использоваться уже настроенный пул приложений, также требует изменений в настройке по умолчанию. Чтобы образовать ассоциацию созданного пула сайту, необходимо войти в диалоговое окно «Расширенные настройки» (Advanced settings) и изменить в поле Application Pull значение – имя ассоциированного пула (см. рис. 2).

Второе обязательное условие – изменить тип аутентификации (см. рис. 2). По умолчанию Windows Authentication выключена, а Anonymous включена. Сделанные изменения также фиксируются в файле web.config (см. листинг 1).

Рисунок 2. Настройка олицетворения приложения. Веб-сайт

Рисунок 2. Настройка олицетворения приложения. Веб-сайт

Использование IIS в сценариях регистрации пользователей

Сценарий регистрации пользователей в сети, как правило, имеет блочную структуру [2]. Каждый из них решает какую-либо узкую задачу: инвентаризации, подключения сетевых дисков, сетевых принтеров, настройки рабочего окружения пользователей.

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

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

Чтобы внести нужные изменения в реестр, необходимо запустить страницу веб-сайта, в которой реализовано олицетворение. Сценарий регистрации пользователя в сети, созданный в PowerShell, обеспечивает последовательный запуск сайтов в фоновом режиме. Пример такого сценария приведен в листинге 2.

Листинг 2. Сценарий регистрации пользователей в сети (PowerShell)

$ServerLogon=(dir env:logonserver).value # Сервер загрузки
cd $ServerLogon\NETLOGON\PowerShell
 [xml] $obj=gc .\IIS.xml # Чтение XML-файла

# Чтение раздела ROOT – PART – IIS, параметра ENABLE
if ([int32]$obj.root.part.iis.enable -eq 1 )
{
# Чтение списка сайтов из ROOT – IIS – SITE, параметры VISIBLE и URL
$obj.root.iis.site | % {
# Вызов версии Internet Explorer
$ie = New-Object -com InternetExplorer.Application
while ($ie.busy -eq $true ) {}
$ie.visible =[int32] $_.visible
$ie.navigate($_.url)
# Назначение времени ожидания
$timeUntil =(Get-Date).AddMinutes($obj.root.part.iis.timeout)
# Контроль времени ожидания
while ($ie.busy -eq $true) {If($timeUntil -lt (Get-Date)){$ie.quit();Write-Host "windows was closed"} }
# Обеспечение последовательного выполнения сценариев
switch ($ie.visible){
$true {while ($ie.visible -eq $true) {}}
$false {$ie.quit()}
}
}
}

Для реализации отказоустойчивости каждый модуль имеет конфигурационный файл, в котором сосредоточены внешние настройки (см. листинг 3). Все файлы построены по шаблону [3]. В нем присутствует обязательная и индивидуальная части. В данном случае ею является блок, в котором перечислены сайты, которые будут последовательно выполняться. В случае необходимости можно отображать какой либо-сайт. Для этого используется свойство visible.

Листинг 3. Конфигурационный файл для сценария регистрации пользователей в сети (PowerShell)

<?xml version="1.0" encoding="utf-8" ?>
<iis enable="1" visual="1" timeout="2"/>
</Part>
  <IIS>
    <site visible="0" url="http://mycomputer" />
    <site visible="0" url="http://personaltlf"/>
    <site visible="0" url="http://addin"/>
  </IIS>
 </Root>

После того как сценарий вызвал сайт, например http://mycomputer, на IIS-сервере запускается страница от имени пользователя. Каждая из таких страниц должна обеспечивать удаленный доступ к реестру. Для этого необходимо определить имя компьютера в сети. В листинге 4 приведен шаблон получения удаленного доступа к ветви HKLM и создания в ней нового раздела и параметра.

Листинг 4. Подключение к кусту удаленного реестра (VB.NET)

Partial Class _Default
Public hklm As Microsoft.Win32.RegistryKey
Public hccr As Microsoft.Win32.RegistryKey
Public pcname As String
Public Key As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\..." 

Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
pcname = Request.UserHostName
    Try
    hklm = Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, pcname)
    hklm.OpenSubKey(Key1, True).CreateSubKey(SubKeyName)
    hklm.OpenSubKey(Key1, True).CreateSubKey(SubKeyName).SetValue(FlagKey, FlagValue, Microsoft.Win32.RegistryValueKind.String)
    Catch ex As Exception
        ErrorMessage("Remote Registry Access: " + ex.Message)
    End Try

End Sub

Внимание! Удаленная запись в реестр возможна при условии запуска службы«Remote Registry. Используйте групповые политики для ее включения на всех рабочих станциях домена.

Динамическое управление ярлыками приложений в папке «Мой Компьютер»

На основе описанной технологии реализуется динамическое управление ярлыками приложений в папке «Мой Компьютер» на основе членства в группе безопасности каталога Active Directory (см. рис. 3). Такое решение позволяет централизованно управлять предоставлением доступа к сетевым, portable-приложениям, расположенным в сети, и локальным приложениям.

Рисунок 3. Внешний вид папки «Мой Компьютер»

Рисунок 3. Внешний вид папки «Мой Компьютер»

Создав ярлыки пользователей в папке «Мой Компьютер», можно избавиться от нескольких лишних сетевых дисков – теперь они просто не нужны. Ускорить доступ к ресурсу, сократив количество кликов. С точки зрения безопасности это решение также предпочтительно: сотрудник не сможет увидеть путь к приложению, удалив ярлык.

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

Для описания местоположения объекта (папка «Мой компьютер»), достаточно в ветви HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace создать папку. Имя папки – уникальный CLSID, например {C7AF0CFE-D0C4-11DC-B55C-F6B756D89593}.

Для его создания можно воспользоваться любой утилитой, генерирующей GUID, например, стандартной утилитой uuidgen.exe, входящей в состав Microsoft SDK. После установки пакеты утилита находится в папке C:\Program Files\Microsoft SDK\Bin.

Описание свойств нового объекта находится в кусте CLSID раздела HCCR. В нем необходимо создать раздел, имя которого – сгенерированный CLSID. Внутренняя структура подпапок, которую необходимо воспроизвести, приведена на рис. 4.

Рисунок 4. Структура раздела в HCCR\CLSID\{GUID}

Рисунок 4. Структура раздела в HCCR\CLSID\{GUID}

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

Таблица 1. Описание свойств ярлыка в HCCR\CLSID

Раздел реестра Ключ Тип данных Значение Комментарий
HCCR\CLSID @ REG_SZ Карта г. Москвы Название ярлыка, отображаемое в папке «Мой Компьютер»
HCCR\CLSID infotip REG_SZ Карта г. Москвы за ноябрь 2007 года Подробное описание ярлыка. Отображается, если навести курсор на ярлык
и подождать 1-2 секунды (см. рис. 1, указано красной стрелкой)
HCCR\CLSID\defaulticon @ REG_SZ \\Server\Folder$\MoscowMap\Btk2007.exe,0 или
\\Server\Folder$\MoscowMap\Map.ico
Путь к иконке, которую увидит пользователь
HCCR\CLSID\defaulticon\shell\open\command @ REG_SZ \\Server\Folder$\MoscowMap\Btk2007.exe Путь к приложению, которое будет запускаться при нажатии на иконку
HCCR\CLSID\shellfolder Attributes REG_BINARY hex:00,01,00,a0 Благодаря этому ключу созданный ярлык нельзя переименовать, удалить и т.д.

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

В свойствах этой группы описаны характеристики ярлыка (их описание приведено на рис. 5).

Рисунок 5. Параметры ярлыка в группе безопасности Active Directory

Рисунок 5. Параметры ярлыка в группе безопасности Active Directory

Чтение данных из Active Directory осуществляется с помощью стандартной .NET FrameWork библиотеки System.DirectoryServices, пространство имен которой необходимо импортировать в проект. Алгоритм работы этой части сайта следующий:

  • определение имени текущего домена;
  • поиск групп безопасности с фильтра;
  • чтение характеристик группы.

Определение имени домена осуществляется с помощью виртуального объекта RootDSE. Этот объект присутствует во всех доменах. Считывая значение свойства DefaultNamingContext, получают имя текущего домена (см. листинг 5).

Листинг 5. Поиск групп в Active Directory (VB.NET)

Imports System.DirectoryServices

Public Domain As String = ""

Dim obj As New DirectoryEntry("LDAP://RootDSE")
Domain = "LDAP://" + obj.Properties("DefaultNamingContext").Value 

Dim obj As New DirectorySearcher()

     Next

Для поиска групп безопасности используют объект DirectoryEntry [4]. В качестве фильтра указывается имя группы, значением которого является атрибут cn (см. рис. 6) и тип объекта.

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

Рисунок 6. Чтение полей группы безопасности в Active Directory

Рисунок 6. Чтение полей группы безопасности в Active Directory

***

Другой яркий пример использования IIS – управление AD обычным пользователем. Звучит конечно странно, но это позволяет максимально повысить эффективность работы службы поддержки и др. Например, телефонный справочник организации, построенный на базе информации из каталога AD. Используя олицетворение, обеспечиваем возможность коррекции данных справочника при помощи пользователей, не наделяя специалиста службы поддержки административными полномочиями для коррекции изменений.

1. Элемент identity (схема параметров ASP.NET) – http://msdn.microsoft.com/ru-ru/library/72wdk8cc.aspx.
2. Коробко И. Практика внедрения сценария регистрации пользователей в сети на PowerShell. //«Системный администратор», №3, 2010 г. – С. 46-52.
3. Коробко И. На языке PowerShell. Сценарий регистрации пользователей в сети. Часть 1. //«Системный администратор», №9, 2010 г. – С. 43-45.
4. System.DirectoryServices – http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sds/sds/directoryservices_directorysearcher_filter.asp.


Комментарии
 
  09.09.2011 - 08:25 |  Rhypemymn

очень интересно, спасибо

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

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

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

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