Asp изменения adsi в iis 5 0


Содержание

Установка и конфигурирование IIS

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

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

В этой статье основное внимание уделяется IIS 8. Хотя машина, на которой запущен IIS 8, здесь называется сервером, IIS можно запускать под управлением версий Windows как для рабочей станции, так и для сервера. На рабочих станциях доступны не все, но большинство функциональных возможностей, что позволяет размещать сложные веб-сайты. По возможности мы рекомендуем использовать Windows Server, однако недорогой альтернативой могут послужить Windows 7 или Windows 8.

В Microsoft привязывают выпуски IIS с выпусками Windows. В состав Windows Server 2008 и Windows Vista входит версия IIS 7.0, в состав Windows Server 2008 R2 и Windows 7 — версия IIS 7.5, а в состав Windows Server 2012 и Windows 8 — IIS 8. Версии — 7.0 и 7.5 — в Microsoft обобщенно называют IIS 7, что может вносить путаницу. Версию IIS, поддерживаемую операционной системой, изменить нельзя — Windows Server 2008 будет использовать только IIS 7.0. Например, модернизировать ее до версии IIS 7.5, используемой в Windows Server 2008 R2, не получится.

Установка IIS

Компонент IIS включен как часть установки Windows (как для сервера, так и для рабочих станций) и требует активизации и конфигурирования. Далее представлены три способа активации IIS для различных операционных систем.

Установка IIS на настольных версиях Windows (Windows Vista, Windows 7 и Windows 8)

Каждая версия операционной системы Windows предлагает свою версию IIS — IIS 8 (в Windows 8), IIS 7.5 (в Windows 7) или IIS 7 (в Windows Vista). Во всех этих версиях Windows, IIS включен, но изначально не установлен. Чтобы установить его, необходимо выполнить следующие действия:

Откройте панель управления.

Нажмите кнопку «Включение или отключение компонентов Windows». Теперь вам нужно подождать, пока Windows исследует вашу систему.

Найдите элемент Internet Information Services (Службы IIS) в верхней части списка и нажмите на галочку чтобы включить его:

Обратите внимание, что Windows позволяет включить множество компонентов IIS: поддержка FTP-сервера, дополнительные инструменты управления, службы обратной совместимости с IIS 6 и т.д.

Убедитесь, что вы выбрали поддержку ASP.NET. Для этого раскройте узел Службы Интернета Компоненты разработки приложений ASP.NET (Internet Information Services World Wide Web Services Application Development Features ASP.NET):

Если вы хотите использовать поддержку IIS в Visual Studio, которая позволяет вам создавать виртуальные каталоги IIS непосредственно в диалоговом окне New Web Site, вам нужно выбрать пункт «Совместимость управления IIS 6» в разделе «Средства управления веб-сайтом» (Web Management Tools IIS 6 Management Compatibility).

Как только вы выбрали нужные параметры IIS, нажмите кнопку OK для завершения установки.

Установка IIS в Windows Server 2008

Установка и настройка IIS одинакова для Windows Server 2008 и Windows Server 2008 R2. Необходимые шаги описаны ниже:

Запустите диспетчер сервера. Чтобы сделать это, нажмите кнопку Start и выберите All Programs Administrative Tools Server Manager.

Выберите узел Roles в дереве слева.

В правой части окна нажмите на ссылке Add Roles. Это открывает мастер, позволяющий добавить новую роль сервера.

Выполните необходимые действия в мастере. Вас вероятно попросят установить дополнительные необходимые роли — если это так, нужно просто принять операции и продолжить.

После установки вам будет предложено настроить веб-сервер. Как в настольных версиях Windows, вы можете выбрать специфические особенности IIS 7, которые должны быть включены.

Если вы работаете в ASP.NET с версией .NET Framework 4.5, то эту версию .NET Framework необходимо будет установить (центр разработчиков .NET Framework)

Установка IIS в Windows Server 2012

Процесс установки IIS в Windows Server 2012, по существу, такой же, как и в Windows Server 2008. Основное различие заключается в том, что пользовательский интерфейс несколько отличается. Подробное описание вы можете найти перейдя по ссылке Installing IIS 8 on Windows Server 2012.

Управление IIS

При установке IIS, он автоматически создает каталог с именем C:\inetpub\wwwroot, который представляет ваш веб-сайт. Все файлы в этом каталоге будет отображаться, как будто они находятся в корневом каталоге вашего веб-сервера.

Чтобы добавить дополнительные страницы на ваш веб-сервер, можно скопировать файлы HTML, ASP или ASP.NET напрямую в каталог C:\Inetpub\wwwroot. Например если добавить файл TestFile.html в этот каталог, вы можете запросить его в браузере через URL-адрес http://localhost/TestFile.html. Вы даже можете создавать вложенные папки для группирования связанных ресурсов. Например, вы можете получить доступ к C:\inetpub\wwwroot\MySite\MyFile.html через браузер, используя URL-адрес http://localhost/MySite/MyFile.html.

Каталог wwwroot удобен для запуска простых примеров и статичных страниц. Для правильного использования ASP.NET вы должны сделать свой собственный виртуальный каталог для каждого веб-приложения, которое вы создаете. Например, вы можете создать папку с любым именем на любом диске вашего компьютера и поместить ее в виртуальный каталог IIS как будто она расположена в каталоге C:\inetpub\wwwroot.

Прежде чем начать работу, вам нужно запустить диспетчер служб IIS. Его можно найти в меню Start (Пуск). Конкретное расположение может зависеть от используемой версии Windows (IIS Диспетчер служб IIS). Ярлык программы будет располагаться в разделе Programs (Программы) или Administrative Tools (Администрирование). Начальная страница IIS Manager показана на рисунке ниже:

Теперь нужно ознакомиться с рядом терминов, используемых в IIS. В левой части окна IIS Manager отображается запись с именем используемого сервера. Наш сервер имеет имя PROFESSORWEB, сгенерированное по умолчанию Windows 8, которое будет использоваться в большинстве примеров. В центральной области отображается представление сервера. Это представление отображает набор значков, которые позволяют конфигурировать параметры сервера. В правой части экрана расположен список доступных действий. Например, в этом представлении можно запускать, останавливать и перезапускать сервер.

Если развернуть элемент сервера в древовидном представлении в левой части экрана, отобразится элемент Sites (Сайты), содержащий единственную запись Default Web Site (Веб-сайт по умолчанию). Сайт — это коллекция файлов и каталогов, образующих веб-сайт. На одном сервере IIS может поддерживать несколько сайтов, как правило, на различных портах TCP/IP (по умолчанию используется порт 80). Сочетание имени сервера и порта сайта образует первую часть URL-адреса. Например, при использовании сервера mywebserver с сайтом, подключенным к порту 80, URL-адрес выглядит следующим образом:

Каждый сайт может содержать множество файлов и каталогов. Каждый из них образует часть URL-адреса. Так, URL-адрес статической страницы mypage.html, расположенной в каталоге myfiles, будет следующим:

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

Чтобы проверить работоспособность IIS выберите Default Web Site и в правой области диспетчера служб IIS выберите пункт «Запустить». После этого нажмите кнопку «Обзор *.80 (http)» чтобы открыть страницу сайта в браузере:

Как видите, в моем случае я поменял порт используемый по умолчанию (с 80 на 8080). Я сделал это, т.к. на 80-м у меня запущен локальный Apache-сервер. Если у вас возникает такая же проблема, то изменить порт можно щелкнув правой кнопкой мыши по сайту (Default Web Site) и выбрав в контекстном меню «Изменить привязки» (Bindings). После этого в диалоговом окне можно изменить порт, используемый по умолчанию.

Итак, каждый сервер может поддерживать множество сайтов, каждый из которых работает на другом порту или с другим IP-адресом. Каждый сайт может иметь множество файлов и каталогов, и сочетание этих элементов предоставляет информацию о URL-адресе. Мы вернемся к URL-адресам и использованию IIS Manager при рассмотрении каждого из подходов к развертыванию.

Администрирование IIS 5.0

16.08.2010, 14:25

администрирование сайта
Ребята, подскажите, пожалуйста. Мне дали сайт slanlife.ru, чтобы я туда вливала информацию, а я.

Администрирование сайта
Здравствуйте. Помогите разобраться с Администрированием сайта. В данный момент учу HTML CSS, потом.

Удаленное администрирование IIS из ASP
Хочу удаленно остановить сайт на IIS, выполняю следующие команды (через ADSI): 0 16.08.2010, 14:25

Как передать переменную сессии из IIS одной платформы в IIS на другой платформе
Дано: пользователь проходит аутентификацию на первом сервере (Win2kServ, IIS+ASP), создается.

Ошибка IIS: для этой операции необходим интегрированный режим конвейера служб iis
Добрый день, Разрабатываю приложение на MVC, через VS при запуске через IIS Express все.

Asp изменения adsi в iis 5 0

Ключевое свойство Microsoft IIS 5.0 — высокая производительность. Для повышения уровня производительности IIS разработчики Microsoft усовершенствовали многие компоненты IIS, например Active Server Pages (ASP). Для максимально быстрого подключения IIS необходимо внести некоторые изменения в конфигурацию IIS и настройки системы Windows 2000.

Механизм ASP в IIS 5.0 работает значительно быстрее, чем в IIS 4.0. Тестирование в компании Microsoft показало — приложения, построенные с использованием только ASP, в IIS 5.0 выполнялись чуть ли не вдвое быстрее, чем они это могли в IIS 4.0. Такое повышение скорости системы способствует тому, что ASP- приложение, запущенное на IIS 5.0, может поддерживать в два раза больше пользователей и в тоже время иметь такую же производительность, как если бы оно запускалось на IIS 4.0. При работе с IIS 5.0 производительность системы будет изменяться в зависимости от ее конфигурации (количества процессоров, размера памяти, конфигурации сети).

Значительное повышение производительности IIS 5.0 обусловлено свойствами системы Windows 2000, использующей многопроцессорную конфигурацию. Приложения, работающие на многопроцессорных системах Windows 2000, функционируют намного быстрее, чем приложения, запущенные на многопроцессорных системах Windows NT. Эффективная работа нескольких процессоров повышает производительность ASP. Тестирование производительности приложений (с помощью таких программ, как Vertigo Software`s Fitch & Mather Stocks 2000 – FMStocks 2000) показывает, что по производительности система Windows 2000 превосходит Windows NT 4.0. Так как IIS 5.0 запускается поверх Windows 2000, повышение эффективности работы системы Windows 2000 как сервера приложений оказывает влияние на быстродействие IIS 5.0.

Дополнительные характеристики, такие как Application Protection в IIS 5.0, управление компонентами и работа с общими файлами в Windows 2000, также влияют на производительность IIS 5.0. Давайте рассмотрим эти возможности и некоторые специальные настройки IIS 5.0 с точки зрения предстоящего увеличения производительности.


Application Protection

Функция Application Protection в IIS 5.0 дает возможность запускать приложения в изолированных областях памяти. Это позволяет увеличить стабильность системы, при выполнении обработки приложений вне IIS.

Существует три режима защиты приложений Application Protection в IIS 5.0 — Low (IIS Process), Medium (Pooled) и High (Isolated). Можно изменить настройку Application Protection на закладке Home Directory страницы Properties для сайта, как показано на Рис.1, или на странице Virtual Directory Properties (чтобы добраться до обеих страниц Properties, откройте Internet Services Manager (ISM), нажмите правую кнопку мыши на Web-сайте или Virtual Directory, который хотите изменить, а затем выберите Properties). Приложение ASP в режме защиты Low (IIS Process) работает в том же пространстве процесса (т.е. inetinfo.exe), что и сам IIS. Если происходит отказ приложения и нарушение доступа к памяти у IIS или серьезный сбой другого важного серверного процесса, то IIS и все другие Web-приложения тоже могут завершиться аварийно.

Рис.1. Выбор Application Protection в IIS 5.0

При использовании режима Medium (Pooled) Application Protection приложение запускается со всеми другими связанными с ним приложениями в процессе dllhost.exe. Как и при режиме защиты Low (IIS Process), если одно из приложений, использующее способ защиты Medium (Pooled) выходит из строя, это может послужить причиной сбоя всех приложений, запущенных в той же рабочей области.

Настройка защиты High (Isolated) в IIS 5.0 подобна настройке Run in separate memory space в IIS 4.0. При использовании этой настройки для ASP-приложения в IIS 4.0 оно помещается в отдельный пакет Microsoft Transaction Server (MTS). Передача приложения к MTS увеличивает стабильность, отделяя работу приложения от IIS, но в то же время значительно снижая производительность приложения. Это связано с тем, что внепроцессное исполнение пакета MTS приводит к непроизводительным издержкам.

Настройка Application Protection в IIS 5.0 выполняется не так, как настройка защиты в IIS 4.0. При выборе ASP-приложения для работы в режиме High (Isolated) в IIS 5.0 ISM создает новое COM+ приложение и помещает в него ASP (в Component Services Explorer название нового приложения будет выглядеть как IIS–, заключительная часть имени – DNATestProject1KLS является именем приложения). Каждое высокозащищенное приложение запускается в отдельной копии dllhost.exe, и если происходит сбой приложения, это не станет причиной остановки для других приложений.

Приложения, запускаемые в Medium (Pooled) или High (Isolated) режимах защиты в IIS 5.0, показывают значительное повышение производительности по сравнению с идентичным приложением, выполняемым в IIS 4.0, согласно статье «Leveraging ASP in IIS 5.0» в Microsoft Developer Network (MSDN). Автор статьи обращает внимание на то, что использование установки защиты Medium (Pooled) в IIS 5.0 обычно дает более высокую производительность, чем внутрипроцессные приложения в IIS 4.0. Этот способ, связанный с установкой защиты Medium (Pooled) в IIS 5.0, перемещает приложение в более изолированную среду и, кроме того, увеличивает производительность. Даже при установке защиты High (Isolated) приложение будет выполняться быстрее, чем если бы оно было запущено в IIS 4.0.

Компоненты

Управление компонентами в IIS 5.0 также повышает производительность по сравнению с IIS 4.0. Всем разработчикам для IIS 5.0 при работе с компонентами необходимо помнить о предоставлении механизму ASP права отпускать объект в тот момент, когда приложение в нем больше не нуждается. Освобождение ненужных объектов освобождает ценные ресурсы.

IIS 4.0 не освобождает объекты до тех пор, пока страницу со ссылкой на объект не перестанут использовать. Для страниц, обрабатываемых длительное время, задержка освобождения объекта может добавить значительные непроизводительные издержки в работе приложения. Низкая производительность является результатом того, что выполнение страницы не завершается до тех пор, пока все объекты не обработаны, а код ASP не выполнен до конца.

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

Для освобождения объекта можно использовать код VBScript. Например,

присвоит переменной oCust, которая содержит ссылку на объект, ключевое слово Nothing, удаляющее ссылку. Этот код заставляет механизм ASP немедленно освободить объект, на который указывает oCust.

Дополнительные настройки

Метабаза IIS 5.0 содержит параметр ASPProcessorThreadMax, который в IIS 4.0 назывался ProcessorThreadMax и находился в реестре. Разработчики Microsoft изменили значение по умолчанию для этого параметра с 10 в IIS 4.0 на 25 в IIS 5.0. Это изменение может повысить производительность, поскольку процесс ASP будет обрабатываться большим количеством потоков. Если система имеет достаточно процессоров и скорости их работы хватает для использования большего числа потоков, новая настройка позволит сделать процесс ASP более эффективным. При использовании IIS 5.0 эту настройку указывать не нужно, пока тестирование системы не покажет, что настройка по умолчанию является узким местом.

Если на сервере установлена служба Indexing Service, то можно повысить производительность, используя ISM для отключения параметра Index this resource . Если приложение создает HTML-файл из базы данных или другого источника, и не используются статические HTML-файлы, которые пользователям необходимо будет найти, то в этом случае параметр Index this resource можно отключить, так как службе Indexing Service индексирование таких файлов, скорее всего, не потребуется. Отключение этого параметра сокращает непроизводительные издержки сервера при выполнении ASP-приложения, что может несколько повысить производительность.

Можно использовать закладку Performance страницы Properties для настройки памяти, которая применяется в IIS 5.0 для обработки подключений и ресурсов Web-сайта. В документации по IIS говорится о необходимости установки ползунка Performance Tuning немного выше того количества ответов в день, которые ожидается получать на сайте. Можно изменить настройку «ответов в день», перемещая ползунок в соответствии с количеством ответов (т.е. менее чем 10 000, менее чем 100 000, более чем 100 000). При перемещении ползунка к большему числу задействуется больший объем доступной памяти для обработки ресурсов Web-сайта.

Параметр Enable process throttling – новый на закладке Performance в IIS 5.0, позволяет IIS ограничивать время процессора, которое механизм ASP расходует на выполнение приложений с установленным режимом защиты High (Isolated). Когда включается этот параметр, приложения с высоким уровнем защиты по умолчанию могут использовать не более 10 % времени работы процессора в течение 24 часов. Если приложение превышает этот предел, IIS записывает сообщение в журнал регистрации событий. Можно активизировать Enforce limits, чтобы заставить IIS выбрать более решительное действие, например, остановку всех внепроцессных приложений, если приложение превысит предел. Если планируется ускорить выполнение процесса, следует предварительно почитать документацию по IIS.

Защитные функции вступают в компромисс с производительностью IIS 5.0. Активизация настроек защиты в IIS или Windows 2000 включает функции, которые, должны контролировать или выполнять какие-либо процессы. Защита добавляет уровень непроизводительных издержек в каждую задачу, оказывая на нее воздействие. Если другой защиты доступа, кроме анонимного, не нужно, то другие типы защиты (например, Secure Sockets Layer (SSL)) включать не требуется.

Защита существует во многих местах. Windows 2000, IIS, COM+ и SSL имеют настройки, которые могут воздействовать на систему, делая ее более или менее защищенной. Необходимо понять, насколько мощная защита требуется системе, и как уровень защиты будет влиять на ее производительность. Например, совместное тестирование в лаборатории, где я работал, показало, что отдельное приложение, использующее Visual Basic (VB) и ASP, могло обслуживать 250 страниц в секунду. Изменение только одной настройки защиты в COM+ увеличивало производительность на 950-1000 страниц в секунду.

Доступ к общим файлам

Можно использовать режим File Sharing системы Windows 2000 для повышения производительности IIS 5.0, изменяя настройку File Sharing для сетевого адаптера, который обрабатывает входящие HTTP-запросы. Для этого нужно нажать Start, Settings, Network и Dialup Connections и перейти к окну, которое показано на Рис.2. Затем нажмите правую кнопку мыши на том подключении, которое хотите изменить, и выберите Properties. На закладке Server Optimization следует выбрать Maximize data throughput for network applications и нажать OK. Эта настройка оптимизирует использование памяти системой Windows 2000 применительно к сетевым приложениям, которые выполняют кэширование, таким как Microsoft SQL Server и IIS. Эта настройка также предохраняет Windows 2000 от выгрузки рабочих данных IIS, перенося их из памяти на диск при снижении объема доступной памяти системы. Предотвращение такой выгрузки может резко поднять производительность. На сервере, который имеет несколько адаптеров (т.е. многодомном сервере), можно установить настройки File Sharing для каждого используемого подключения.

Рис.2. Окно диалога File Sharing

Аппаратный фактор

Аппаратное обеспечение сильно влияет на производительность IIS 5.0. Группа разработчиков лаборатории компании Microsoft тестировала различные аппаратные платформы для Web-серверов IIS. Разработчики сравнили производительность IIS на мощных серверах с оперативной памятью 512 Мбайт, быстродействующими дисками и несколькими процессорами с производительностью IIS на серверах с меньшим объемом оперативной памяти (128 Мбайт), стандартными IDE-дисками и несколькими процессорами. Лучшими Web-серверами были признаны те, которые имели несколько быстрых CPU. Ни размер памяти, ни тип интерфейса диска (например, SCSI, IDE), ни скорость процессора не оказывала значительного влияния на производительность IIS. Результаты тестирования показали, что можно добиться заметного роста производительности, увеличивая количество процессоров. Если использовать Network Load Balancing (NLB) или аппаратное решение (например, маршрутизатор, который обеспечивает циклическое переключение к DNS), можно повысить производительность, добавляя большее количество компьютеров.

Лабораторные тесты и практический опыт внедрения IIS 5.0 на системе Windows 2000 показывает, что использование настроек по умолчанию и внесение выборочных изменений только в определенные параметры будет способствовать повышению производительности. Не изменяйте настройки по умолчанию для сетевого интерфейса системы до тех пор, пока не протестируете производительность системы и не сможете точно оценить, как отразится на ней каждое изменение.

Каковы все учетные записи пользователей для IIS / ASP.NET и чем они отличаются?

под Windows Server 2008 с ASP.NET 4.0 установлен целый ряд связанных учетных записей пользователей, и я не могу понять, какой из них, как они отличаются, и какой из них действительно тот, под которым работает мое приложение. Вот список:

  • группу iis_iusrs
  • запись iusr
  • DefaultAppPool
  • ASP.NET v4.0
  • NETWORK_SERVICE
  • МЕСТНАЯ СЛУЖБА.

1 ответов

это очень хороший вопрос, и, к сожалению, многие разработчики не задают достаточно вопросов о IIS / ASP.NET security в контексте веб-разработчика и настройки IIS. Вот так.

чтобы покрыть перечисленные идентификаторы:

IIS_IUSRS:

это аналогично старому IIS6 IIS_WPG группы. Это встроенная группа безопасности настроена таким образом, что любой член этой группы может выступать в качестве пула приложений тождественность.

IUSR:

этот счет аналогичен старому IUSR_ локальная учетная запись, которая была анонимным пользователем по умолчанию для веб-сайтов IIS5 и IIS6 (т. е. настроенная на вкладке Безопасность каталога свойств сайта).

подробнее о IIS_IUSRS и IUSR посмотреть:

DefaultAppPool:

если пул приложений настроен для запуска с помощью функции идентификации пула приложений, то «синтезированная» учетная запись называется IIS AppPool\

будет создан на лету, чтобы использовать в качестве удостоверения пула. В этом случае будет синтезированная учетная запись под названием IIS AppPool\DefaultAppPool создано на время жизни бассейна. Если вы удалите пул, эта учетная запись больше не будет существовать. При применении разрешений к файлам и папкам необходимо добавить с помощью IIS AppPool\

. Вы также не увидите эти учетные записи пула в Диспетчере пользователей компьютеров. Дополнительные сведения см. В следующем разделе:

ASP.NET v4.0:

это будет идентификатор пула приложений для ASP.NET v4.0 Пул Приложений. См. DefaultAppPool выше.

Илон Маск рекомендует:  Работа с хэшами в perl

NETWORK SERVICE:

на NETWORK SERVICE учетная запись-это встроенный идентификатор представлен в Windows 2003. NETWORK SERVICE — это низко привилегированная учетная запись, под которой вы можете запускать пулы приложений и веб-сайты. Веб-сайт, работающий в пуле Windows 2003, все еще может олицетворять анонимную учетную запись сайта (IUSR_ или что бы вы ни настроили как анонимное удостоверение).

In ASP.NET до Windows 2008 вы могли бы иметь ASP.NET выполнение запросов под учетной записью пула приложений (обычно NETWORK SERVICE ). В качестве альтернативы вы можете настроить ASP.NET к олицетворение анонимной учетной записи сайта через настройка в web.config файл локально (если этот параметр заблокирован, то это должно быть сделано администратором в ).

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

в IIS7.x / ASP.Управление net impersonation теперь настроено через аутентификацию функция конфигурации сайта. Таким образом, вы можете настроить запуск в качестве идентификатора пула, IUSR или специального анонимного аккаунта.


LOCAL SERVICE:

на LOCAL SERVICE учетная запись-это встроенная учетная запись, используемая диспетчером управления службами. Она имеет минимальный набор привилегий на локальном компьютере. Он имеет довольно ограниченный объем использования:

LOCAL SYSTEM:

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

На Практике:

на практике предпочтительным подход к обеспечению безопасности веб-сайта (если сайт получает собственный пул приложений — что является значением по умолчанию для нового сайта в MMC IIS7) должен выполняться под Application Pool Identity . Это означает установку идентификатора сайта в расширенных настройках пула приложений в Application Pool Identity :

на веб-сайте вы должны затем настроить функцию аутентификации:

щелкните правой кнопкой мыши и отредактируйте анонимную аутентификацию запись:

обеспечить «удостоверение пула приложений» выбран:

когда вы приходите, чтобы применить права доступа к файлам и папкам, вы предоставляете удостоверение пула приложений, какие права требуются. Например, если вы предоставляете удостоверение пула приложений для ASP.NET v4.0 разрешения пула, то вы можете сделать это через Explorer:

нажмите Кнопка «Проверить имена»:

или вы можете сделать это с помощью ICACLS.EXE утилиты:

. или. если пул приложений сайта называется BobsCatPicBlog затем:

я надеюсь, это поможет прояснить ситуацию.

обновление:

я просто наткнулся на этот отличный ответ от 2009 года, который содержит кучу полезной информации, стоит прочитать:

УСТАНОВКА И НАСТРОЙКА INTERNET INFORMATION SERVICES 5.0

Данный веб-сервер легко устанавливается под ОС Win2k и WinXP, так как входит в состав дистрибутива Windows как один из компонентов. Для установки достаточно (при наличии дистрибутива Windows) воспользоваться разделом «Пуск \ Настройка \ Панель Управления \ Установка и Удаление программ \ Добавление и удаление компонентов Windows \ Internet Information Services 5.0»:

После нажатия на кнопку «Далее» будет произведена установка IIS. Запуск IIS будет произведен автоматически после установки без перезагрузки компьютера. Корневым каталогом веб-сервера по-умолчанию является папка c:\inetpub\wwwroot , а для того, чтобы проверить его работоспособность достаточно набрать в адресной строке браузера http://localhost .

Теперь предстоит настроить веб-сервер, для чего следует зайти в раздел «Пуск \ Настройка \ Панель Управления \ Администрирование \ Диспетчер служб Интернета»:

В открывшемся окне «Internet Information Services» следует выбрать раздел «Веб-узел по умолчанию» и просмотреть его свойства. Здесь на вкладке «Документы» можно указать следующую последовательность загружаемых по умолчанию файлов: «index.cfm», «index.asp», «index.php», «index.cgi», «index.htm», «index.html»:

После установки IIS уже сразу можно использовать ASP-технологию и создавать динамические страницы в форме файлов *.asp. Если же Вы используете другую технологию (PHP, Perl, ColdFusion и т.д.), то Вам необходимо установить установить соответствующую программу и настроить IIS на работу с ней. Например, если Вы желаете использовать PHP, то в IIS нужно прописать, что файлы с расширением *.php должны обрабатываться программой C:\PHP4\php.exe. Для этого нужно перейти на вкладку «Домашний каталог»:

Далее следует нажать на кнопку «Настройка», в появившемся окне можно видеть связь расширений и исполняемых файлов:

Для добавления новой связи следует воспользоваться кнопкой «Добавить», где нужно указать исполняемый файл и расширение. Следует заметить, что в приведенном выше примере уже реализованы примеры связей для файлов с расширениями *.php, *.cgi, *.cfm . Установка Perl и PHP будет рассмотрена в последующих разделах.

Understanding IIS 5.0 and IIS 6.0

An Introduction to Internet Information Services (IIS)

Microsoft’s integrated Web server, Internet Information Services (IIS) enables you to create and manage Web sites within your organization. It allows you to share and distribute information over the Internet or intranet. With Windows 2000 came Internet Information Services (IIS) 5.0 which was basically the fastest Web server at the time when Windows 2000 Server was introduced. IIS 5.0 was fully integrated with the Active Directory directory service. Because of this integration, and the additional features and enhancements introduced with IIS 5.0 you could create and deploy scalable and reliable Web applications, websites and Web clusters. This led to an improvement in security, administration, reliability, and performance in the Web environment. Windows XP Professional supports IIS 5.1. This version if IIS is a slightly enhanced version of IIS 5.

With the introduction of Windows Server 2003, came the advent of Internet Information Services (IIS) 6. IIS 6 is included with the 32-bit version and the 64-bit versions of the Windows Server 2003 Editions. IIS 6 include support for a number of protocols and management tools which enable you to configure the server as a Web server, File Transfer Protocol (FTP) server or a Simple Mail Transport Protocol (SMTP) server. The management tools included with Windows Server 2003 allow you to manage Internet Information Services on the Windows Server 2003 product platforms.

Understanding the Origins of Internet Information Services (IIS)

The first version of IIS, Internet Information Services (IIS) 1, was released for the Windows NT 3.51 Server platform, and included support for Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Gopher, the Secure Sockets Layer (SSL) version 1 protocol, and Common Gateway Interface (GCI). When initially introduced, IIS signified Internet Information Server and not Internet Information Services. The name change to Internet Information Services only came about when IIS 5 was released with Windows 2000 Server. A few features included with IIS 1 are:

  • IIS 1 could integrate with the Windows NT platforms.
  • Virtual servers made it possible for multiple websites to be hosted one physical IIS computer, and virtual directories allowed you to store website content on a file server, and not on the actual Web server. This added security to a Web server implementation.
  • Basic Authentication and Windows NT LAN Manager (NTLM) Challenge/Response Authentication were supported to enhance intranet security.
  • SSL version 1 support made it possible to create secure e-commerce sites.
  • Open Database Connectivity (ODBC) logging enabled you to monitor Web traffic and troubleshoot issues.
  • Internet Server API (ISAPI) was supported for the writing of dynamic web applications, and enabled integration into static HTML pages.

The next IIS version, Internet Information Services (IIS) 2, was introduced with the Windows NT 4 Server platform. The features and enhancements included with this release of IIS 2 were:

  • IIS was integrated with Windows NT Setup, and you could therefore be installed when you installed Windows NT.
  • HTTP byte range was introduced, which enabled Internet Explorer to recover from interruptions and continue download.
  • Because host names were supported with IIS 2, you could host multiple websites on one server through an IP address and TCP port 80.
  • The logging of successful HTTP transactions and failed HTTP transactions enabled you to more efficiently troubleshoot Web server issues, and Internet communication issues.
  • Key Manager could be used to create key pairs for digital certificates, for Secure Sockets Layer (SSL).
  • The Index Server tool made it possible for users to execute full text queries of the web content hosted on IIS through content sarches.
  • HTML Administrator, an ISAPI application allowed you to remotely administer the IIS server over the Internet using a web browser like Internet Explorer.

About 10 months after IIS was originally launched, Internet Information Services (IIS) 3 was launched.

  • Key features introduced with IIS 3 were the introduction of Active Server Pages (ASP), and the IIS 3 speed enhancement over IIS 1.
  • Active Server Pages (ASP) made it possible for developers to create dynamic web applications that used a standard web browser for a client interface for IIS. The web applications could include all the functionality of standard client/server applications.
  • ASP included support for connectivity with databases using Microsoft’s ActiveX Data Objects (ADO) technology and ODBC.
  • Microsoft’s new Visual Basic Scripting Edition (VBScript) and Jscript scripting languages, together with ODBC could be used to create ASP based websites which was a much more feasible solution to creating ISAPI applications with C++.
  • Microsoft Visual InterDev was also included in IIS 3 for the development of Web applications with Visual Basic, Visual C++ and Visual J++.
  • Microsoft NetShow was included to offer support for streaming audio and video.
  • Microsoft Transaction Server (MTS) was introduced for distributed web applications.

With the release of Windows NT 4 Option Pack came Internet Information Services (IIS) 4. Windows NT 4 Option Pack included enhancements and features specific to the Windows NT 4 Server OS and IIS. These features and improvements are listed below:

  • Microsoft Internet Explorer 4.01
  • Microsoft Transaction Server (MTS) version 2. Version 1 was included in IIS 3.
  • Index Server version 2 as well.
  • Microsoft Certificate Server, for creating a public key infrastructure (PKI)
  • Microsoft Message Queue Server (MSMQ), for asynchronous communications in distributed applications.
  • Site Server Express 2, for managing web content on IIS computers
  • SSL version 3 included support for 128-bit encryption.
  • The HTTP 1.1 standard enhanced the reliability and effectiveness of HTTP transfers. HTTP 1.1 also improved the functionality of host headers.
  • The IIS metabase was included in IIS 4 to store IIS configuration information. The metabase contains all the settings and configuration data for IIS.
  • Microsoft Management Console (MMC) version 1.
  • A new version of Internet Service Manager was implemented as a number of snap-ins for the Microsoft Management Console (MMC).
  • HTML Administrator (HTMLA) enabled the browser based administration of IIS.
  • Support was included for Simple Mail Transport Protocol (SMTP) and Network News Transport Protocol (NNTP).
  • Personal Web Server (PWS) was included for Windows 95 platforms.

With the introduction of the Windows 2000 Server OS came the launch of Internet Information Services (IIS) 5. With IIS 5 came the name change from Internet Information Server to Internet Information Services. IIS included new features and enhancements which enabled administrators and Internet service providers (ISPs) to create scalable Web applications, Web sites, Web clusters, and a reliable Web environment. IIS 5 also included enhancements specific to security, administration and applications. The key features and enhancements included with IIS 5 are summarized below:

  • Pooled Process was the application model introduced with IIS 5 which enabled multiple web applications to run in a shared memory space detached from the Inetinfo.exe’s In Process space.
  • You could define the CPU share time for a Web site.
  • IIS was integrated with the Active Directory directory service introduced in Windows 2000.
  • Support for Web Distributed Authoring and Versioning (WebDAV) which allow users to edit, delete and move files and directories, and hare documents over the Internet.
  • HTTP compression made it possible to transmit pages between the Web server and clients that support compression much faster.
  • File Transfer Protocol (FTP) Restart improved on data transfer by resuming the downloading of a file from when interruption occurred in the data transfer process.
  • Administration specific enhancements and features included with IIS 5 are listed below:
    • With the introduction of IIS 5 came the capability of restarting IIS without necessitating a computer restart as well.
    • Web-based administration tools enabled administrators to remotely administer the Web server using virtually any browser.
    • Custom error messages enabled administrators to send a message to clients when HTTP errors or issues exist on the Web site.
    • Terminal Services, introduced in Windows 2000 Server, allows you to remotely administer IIS and other Windows services.
  • Security specific enhancements and features included with IIS 5 are listed below:
    • Server-Gated Cryptography (SGC), a SSL extension enables stronger 128-bit encryption to be utilized.
    • Digest Authentication improves security for user authentication over proxy servers and firewalls.
    • IIS 5.0 is integrated with Kerberos version 5 authentication, and is used for authentication between computers running Windows 2000.
    • IIS certificate storage in IIS 5 is integrated with Microsoft CryptoAPI (CAPI) storage.
    • A number of new security wizards are introduced in IIS 5 as well, including:
      • The Permissions Wizard, for configuring Web site access.
      • The Web Server Certificate Wizard, for creating certificate requests and for the administration tasks of the certificates.
      • The CTL (certificate trust lists) Wizard, for configuring CTLs. A CTL contains the trusted Certification Authorities (CAs) for a directory. Configuring CTLs is beneficial when ISPs that have multiple Web sites requiring a unique list of approved CAs for every site.
    • Programmability specific enhancements and features included with IIS 5 are listed below:
      • The features included for Active Server Pages (ASP) include:
        • Enhanced error handling
        • Windows Script Components
        • Scriptless ASP
        • Better flow control methods
        • Integration with Extensible Markup Language (XML)
        • Performance improved objects
      • Active Directory Service Interfaces (ADSI) 2.0 enables greater flexibility for site configuration by adding custom objects and properties to the ADSI.


    With the introduction of the Windows Server 2003 OS came the launch of Internet Information Services (IIS) 6. A few key features and enhancements included with IIS 6 are summarized below:

    • IIS 6 is fully integrated with Windows Server 2003.
    • IIS 6 is not by default installed, and ASP and FrontPage extensions are disabled. All permissions are set to high.
    • IIS 6 architecture has been designed to move HTTP listening into the kernel for increased performance and reliability. This means that the handling of HTTP requests has been moved directly into the kernel.
    • Incoming HTTP requests are handled by the http.sys kernel mode component, which means that a bigger number of HTTP requests can be handled by IIS 6 that what IIS 5 could handle.
    • The IIS 5 compatibility mode, included with IIS 6 allows you to switch to IIS 5 when you have applications that only operate under IIS 5.
    • Programmability specific enhancements include support for the latest web standards such as XML, IPv6 and SOAP.
    • The IIS metabase is formatted and saved as a plain text file using the Extensible Markup Language (XML). In IIS 4 and IIS 5, the metabase was saved in the binary format. With IIS 6, you can use a text editor tool such as Notepad to edit the metabase file. You can also use Windows Management instrumentation (WMI) tools or Active Directory Services Interface (ADSI) scripts to change the metabase file.
    • Whether changing the metabase file manually or programmatically, you no longer need to stop and restart IIS to perform any changes to the metabase file.
    • The metabase history feature included in IIS 6 monitors changes made to the IIS metabase, and automatically saves backups of the metabase when changes are made to it.
    • IIS 6 allows administrators to copy IIS configurations from one physical machine to a different machine through the use of ADSI scripts, WMI tools or the admin scripts provided by IIS 6.
    • You can use the IIS Manager, or administration scripts to administer IIS.
    • Digest Authentication can be used over proxy servers and firewalls.
    • IIS 6 can also use Passport authentication because of its integration with Microsoft .NET Passport.
    • You can use the Group Policy feature of Active Directory to further secure IIS.

    IIS Architecture Prior to IIS 6

    Before IIS 4, the architecture of IIS consisted of In Process processing. This meant that the Internet Services Application Programming Interface (ISAPI) DLLs executed within the inetinfo.exe service’s process.

    With the launch of IIS 4, came the IIS metabase which stored IIS configuration settings and data. This meant that the IIS configuration settings were no longer stored in the Registry. Only a few settings, such as the keys used to start IIS remained in the Registry.

    The IIS Admin Service, used for the management of the IIS metabase was included in IIS 4. IIS Admin Service is responsible for maintaining the IIS metabase, and for updating the Registry with the configuration settings for the other key IIS services, including the WWW service, FTP, NNTP and SMTP.

    Another key architectural change included in IIS 4, was that IIS 4 could run applications Out of Process, or in process isolation. This improved the reliability of the Web environment within your organization because a single application failure no longer caused other applications and processes to fail on the server. You could configure applications that run Out of Process to start automatically when they fail. You could also start and stop applications running on the server, and not impact your other applications. When processes are run In Process, the whole Web server remained unavailable until it was rebooted or inetinfo.exe was restarted.

    IIS 4 integration with Microsoft Transaction Server (MTS), and MTS’s Web Application Manager (WAM) component made it possible for applications to run Out of Process in isolated space. With IIS 4, applications were first setup to execute In Process. Only after the applications were installed could they be setup to execute Out of Process. This was done by navigating to the Properties dialog box of the virtual directory of the application, and then choosing the Run In Separate Memory Space (Isolated Process) checkbox.

    In summary, IIS 4 provided the means for applications to run in either In Process or Out of Process.
    A major disadvantage associated with applications executing Out of Process is that they run slower than applications which run In Process. For this reason, applications which were run Out of Process were mainly applications in the testing phase. It was also common to debug applications on IIS in Out of Process mode. Applications running Out of Process could also not communicate with other applications running on the identical machine, which obviously caused problems when certain applications needed to communicate with other applications.

    With the launch of IIS 5 came the capability of running Web applications in the following modes:

    • In Process: In this mode, applications run in the architecture of IIS 1 – IIS 3, which means that they run as a component of the main Web server process.
    • Out of Process (Isolated): In this mode, applications run in isolation, in its dllhost.exe host process.
    • Poole Process: Applications run as a pooled process, separate from inetinfo.exe, in the dllhost.exe COM+ host process. This is turn allows multiple ISAPI and ASP applications to interact or communicate. Web applications executing in Pooled Out of Process perform better than those applications running Out of Process (Isolated).

    The major disadvantages associated with the IIS 5 architecture are listed below:

    • Applications running in IIS Process executed In Process with the core Web server process which meant that while they performed optimally, an application failure could cause the entire Web server process to collapse.
    • Applications running in the isolated Out of Process (Isolated) or Pooled Out of Process had poor performance repercussions. This basically means that out of process applications have a performance issue when they run on IIS 5.

    The Key Differences between IIS 6 and IIS 5 Architecture

    The main differences between IIS 6 and IIS 5 architecture is summarized below:

    • IIS 6 architecture moves HTTP listening into the kernel for increased performance and reliability. This means that the handling of HTTP requests has been moved directly into the kernel.
    • The WWW Service includes the new Web Administration Service (WAS).
    • The applications models supported in IIS 6 are:
      • Worker process isolation mode isolates all developer application code from the main IIS services.
      • II5 isolation mode, for backward compatibility for IIS 5 applications.
    • IIS 6 includes support for multiple application pools, and each application pool can operate in isolation of the other application pools.

      Main Components of IIS 6

      With IIS 6, HTTP listening and routing is moved to the Kernel Mode HTTP Listener component which is put in operation through the http.sys kernel mode device driver. Http.sys operates within the Windows Server 2003 TCP/IP network subsystem, in the TCP/IP stack of Windows Server 2003. Http.sys listens for HTTP requests wanting to establish connections with addresses and port numbers of websites hosted on IIS. The responsibilities of http.sys are summarized below:

      • Listen for, and route HTTP requests to the appropriate worker process. Application code run in user mode processes which are referred to as worker processes. Multiple worker processes usually run simultaneously to handle pools of applications.
      • Receives HTTP responses from the IIS worker processes and sends them to the client. Http.sys does not actually process the HTTP requests but forwards it to the correct IIS worker process for processing.
      • With IIS 6, an application pool is associated with a kernel mode queue to which http.sys routes HTTP requests.
      • Cache HTTP responses for static content and dynamic content through a kernel mode cache.
      • Manage TCP connections for HTTP requests and responses.
      • Manage bandwidth throttling
      • Responsible for text based logging for the WWW Publishing service.
      • Manage connection limits and connection timeouts.

      The implementation of the Kernel Mode HTTP Listener component through the http.sys kernel has led to the following benefits.

      • Processes that execute in kernel mode have a higher priority than any user mode processes, which means that http.sys improves on the processing time of HTTP requests.
      • Http.sys can continue to listen for, and queue HTTP requests in cases where the actual Web application for the requests is down.

      With IIS 6, the IIS Admin Service manages the IIS metabase, and updates the Registry with the configuration settings for the other key IIS services, including the WWW service, FTP service, NNTP service and SMTP service.

      The Web Administration Service (WAS) component of IIS 6 handles the creation of websites on IIS 6; and consists of the two components listed below. It is implemented as a DLL within the svchost.exe host process.

      • Configration Manager, duties include:
        • Store and retrieve configuration data from the IIS metabase.
        • Initializes the namespace routing table at startup for http.sys. An entry is created in the routing table for each application pool.
        • Notifies http.sys when the http.sys routing table needs updates made to it. The routing table needs to be updated when new application pools are created for new Web applications.
      • Application Pool Manager, duties for managing the IIS worker processes include:
        • Start, stop, restart and recycle worker processes
        • Monitor worker processes

      A worker process in IIS 6 is a process wherein user developed Web application code runs. A worker process is actually a host process, called w3wp.exe. Worker processes process the user requests received from the http.sys queues. The worker processes also returns a static page or dynamic page to the requesting client through http.sys. A worker process can host the following:

      • ASP applications
      • ISAPI applications and filters
      • CGI applications
      • Static content

      An application pool consists of the following components:

      • A kernel mode http.sys request queue
      • A single instance of or multiple instances of w3wp.exe – worker processes.

      In IIS 6, applications can run in different configurations:

      • An application pool has one worker process that hosts the single Web application which in turn is isolated from other applications through process boundaries.
      • An application pool has one worker process hosting two or numerous Web applications.
      • An application pool has numerous worker processes hosting multiple Web applications. This configuration concept is called a Web garden and is a new IIS feature.

      Logging of HTTP requests with the earlier versions of IIS included the text file formats listed below. You could also log requests to an ODBC database. Logging was handled by the inetinfo.exe process.

      • NCSA standard format
      • W3C Extended format
      • Native IIS format

      With IIS 6, logging is handled by the Kernel Mode HTTP Listener, and ODBC logging is handled by worker processes. This in turn leads to better performance.

      The kernel mode cache is managed by http.sys for static and dynamic content. When http.sys detects a HTTP request, it checks the cache first, and retrieves the page from the cache. This takes place in kernel mode, which means that performance is greatly enhanced for cached content.


      When a client requests an ASP page, the ASP code is compiled into an ASP template, which gets cached in the in-memory cache. These templates are cached so that they can be used again. With IIS 6, the oldest templates in the in-memory cache are cached offline (on disk) when the memory cache is full. IIS 6 can store 250 templates in-memory. The in-memory cache of IIS 6 can be configured to use 64GB of physical memory.

      Worker Process Isolation Mode – IIS 6 Application Mode

      Worker process isolation mode is the primary application mode used in IIS, and includes the application pools, worker processes, health monitoring, and all other IIS 6 specific architectural elements. The characteristics of worker process isolation mode are:

      • An application pool can have one or multiple web applications.
      • The worker processes handles the HTTP requests from the queue.
      • An application pool can contain one worker process or multiple worker processes (Web garden).
      • Each application pool has an associated kernel mode queue in http.sys.
      • A single application failure does not result in multiple applications failing.
      • ASP applications, ASP.NET applications and ISAPI extensions are loaded into the worker processes.
      • Inetinfo.exe manages the metabase and the FTP Service, SMTP Service and the NNTP Service.
      • Web Administration Service (WAS) manages the application pools and worker processes.

      The process that occurs when a client sends a HTTP request is listed below:

      • Http.sys listens for and discovers the client’s HTTP request.
      • If the request is invalid, an HTTP error code is returned to the client by http.sys.
      • If the request is valid, http.sys first checks the kernel mode response cache to ascertain whether the page which the client requested is cached.
      • If the requested page is in the cache, it is immediately returned to the client.
      • The request is routed to the kernel mode queue of the application pool by http.sys.
      • A worker process of the application pool takes the request from the kernel mode cache.
      • The worker process sends the response to the client through http.sys.
      • Http.sys caches the response.

      IIS 5 Isolation Mode – IIS 6 Application Mode

      IIS 6 can run in IIS 5 isolation mode to enable backward compatibility for applications that do not function correctly on IIS 6. Applications that usually need IIS 6 running in IIS 5 isolation mode are:

      • Applications that call processes which do not reside in the application pool associated with the application.
      • Other than for ASP.NET applications, all other applications that requires to persevere session state information.
      • ISAPI applications which load multiple times and run in tandem; and ISAPI filters performing read raw data filtering.

      The IIS 6 architectural elements that are not available when IIS 6 runs in IIS 5 isolation mode are:

      • Web gardens
      • Health detection
      • Processor affinity
      • Process recycling
      • Rapid fail protection

      The Main IIS Supported Protocols and Services

      IIS supports a few key protocols and services, which are:

      • World Wide Web (WWW) service, used to connect HTTP requests from IIS clients to IIS websites. The service is also used to publish Web services.
      • Hypertext Transfer Protocol (HTTP) is a TCP/IP application layer protocol, and is used to connect to websites, and to create Web content. HTTP handles the publishing of static and dynamic Web content. A HTTP session consists of a connection, a HTTP request and a HTTP response
        • Port 80 is used for HTTP connections. The client establishes a TCP connection to the server by using a TCP three way handshake.
        • After the connection is established, the client sends a HTTP GET request message to the server.
        • The server sends the client the requested Web page.
        • HTTP Keep-Alives maintains the TCP connection between the client and server if it is enabled, so that the client can request additional pages.
        • If HTTP Keep-Alives is not enabled, the TCP connection is terminated after the requested page is downloaded.
      • File Transfer Protocol (FTP) is a TCP/IP application layer protocol, and is used for copying files to and from remote systems through the Transmission Control Protocol (TCP). FTP makes it possible for clients to upload and download files from a FTP server over an internetwork. Through IIS, you can create and administer FTP servers. You need an FTP server and FTP client to use the protocol. A FTP session has a connection, a request, and a response.
        • The client establishes a TCP connection to the FTP server through port 21.
        • A port number over 1023 is assigned to the client.
        • The client sends a FTP command to port 21.
        • If the client needs to receive data, another connection is created with the client, to convey the data. This connection utilizes port 20.
        • The second connection remains in a TIME_WAIT state after the data is transferred to the client. The TIME_WAIT state makes it possible for additional data to be transferred. The TIME_WAIT state ends when the connection timeout.
          IIS Admin Service, used for the management of the IIS metabase. It updates the Registry with the configuration settings for the other key IIS services, including the WWW service, FTP service, NNTP service and SMTP service.
      • Simple Mail Transfer Protocol (SMTP) is a TCP/IP application layer protocol used for routing and transferring e-mail between SMTP hosts on the Internet. It is a client/server and server/server protocol.
      • Network News Transfer Protocol (NNTP) is a TCP/IP application layer protocol used to send network news messages to NNTP servers and NNTP clients on the Internet. It is a client/server and server/server protocol. The NNTP protocol enables a NNTP host to replicate its list of newsgroups and messages with another host through newsfeeds, using a push method or a pull method. A NNTP client can establish a connection with a NNTP host to download a list of newsgroups, and read the messages contained in the newsgroups.
      • Secure Sockets Layer (SSL) version 3, used to encrypt HTTP and NNTP authentication data and transmission data through public key cryptography
      • Lightweight Directory Access Protocol (LDAP) is used by the Simple Mail Transfer Protocol (SMTP) service to access data in the directory service.
      • Transport Layer Security (TLS), used to encrypt SMTP data transmissions.
      • Multipurpose Internet Mail Extensions (MIME), used to transmit file formats to HTTP clients. The HTTP service uses MIME.

    Управление ADSI/IIS и олицетворение ASP.NET

    Сейчас я пишу небольшое веб-приложение, которое позволит мне управлять несколькими установками IIS на разных серверах в нашей сети. У нас нет контроллера домена.

    Я написал небольшой контроллер олицетворения, который использует win32 api и его метод LogonUser. Затем я использую System.DirectoryServices и поставщик IIS ADSI для создания нового сайта.

    У меня есть следующая процедура (обменялся некоторыми значениями с ясными текстовыми строками для лучшей читаемости):

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

    Если я использую SRV5, например, другой Сервер в нашей сети (без домена), ImpersonateValidUser работает, создается DirectoryEntry, но w3svc.Invoke не работает со следующей ошибкой:

    [COMException (0x80070005): доступ запрещен]

    Кто-нибудь знает, как я могу это решить?

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

    Если ваши веб-серверы не являются частью домена, я думаю, что идея веб-сервисов Tant102 — это ваш единственный способ.

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

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

    Для системного администратора

    Введение в IIS 7.0

    Internet Information Services 7.0 (IIS 7.0) – это последняя версия веб сервера компании Microsoft. IIS был включен в состав операционной семейства операционных систем Windows Server начиная с операционной системы Windows 2000 Server в качестве компонента Windows Component, а также для Windows NT в качестве дополнения. IIS 7.0 входит в состав операционных систем Windows Vista и Windows Server 2008, которые запланированы к выпуску в первой четверти 2008. IIS 7.0 претерпел множество изменений и новый дизайн был написан с нуля. Это было сделано для того, чтобы сделать его самой гибкой и безопасной платформой для размещения веб приложений.

    IIS 7.0 был спроектирован, чтобы быть самой безопасной и гибкой платформой для веб приложений от компании Microsoft. Microsoft полностью переделала дизайн IIS, и во время этого процесса команда разработчиков IIS сфокусировалась на 5 основных областях:

    • Безопасность
    • Расширяемость
    • Конфигурация и установка
    • Администрирование и диагностика
    • Производительность

    Что нового

    В IIS 7.0 практически все новое. Компания Microsoft сфокусировалась на модульности при создании IIS 7.0, что означает, что для установки необходимы лишь бинарные файлы, что минимизирует пространство для атак на веб сервер (web server).

    Простой пример: если вам необходимо воспользоваться FTP Server или возможностью кэширования Caching feature из IIS, то вы устанавливаете модуль для FTP Server для управления или включаете модуль Cache для кэширования активности FTP Server.


    Операционная система Windows Server 2008 включает в себя все возможности IIS, необходимые для поддержки и размещения веб содержимого в промышленных средах. В состав операционной системы Windows Vista входят лишь некоторые возможности IIS, и эти возможности зависят от вашей версии операционной системы Vista. IIS 7.0 в операционной системе Windows Vista идеален для создания и тестирования веб приложений. Дополнительные модули и возможности вы можете заказать у компании Microsoft или вы можете написать свои собственные или даже купить у сторонних производителей.

    Архитектура

    Кроме изменений в основных компонентах IIS 7.0, была также изменена архитектура – в основе использовался модульный дизайн. Модульный дизайн обеспечивает больше гибкости и безопасности для IIS 7.0, по сравнению с предыдущими версиями IIS.

    Рисунок A: Обзор основных модулей и компонентов IIS 7.0

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

    IIS 7.0 снабжен новым собственным корневым API, который заменил фильтр ISAPI filter, который использовался в предыдущих версиях IIS. Благодаря новому API появилась возможность для расширения IIS с помощью новых модулей, или даже замены любых встроенных модулей собственными модулями.

    Новые модули можно загрузить с веб сайта компании Microsoft IIS.net, где находится хранилище для IIS: http://www.iis.net/downloads

    Администрирование

    Существует несколько способов для администрирования IIS 7.0.

    • Графический интерфейс GUI с помощью менеджера IIS Manager
    • Инструмент командной строки APPCMD
    • Удаленное администрирование (Remote administration) с помощью IIS Manager
    • Написание сценариев с помощью Windows PowerShell
    • Интерфейс Microsoft.Web.Administration API interface

    Графический интерфейс для управления GUI Management был также изменен, новый менеджер IIS Manager теперь более ориентирован на выполнение задач, как мы знаем из ISA Server и Exchange Server 2007.

    Рисунок B: Окно менеджера IIS Manager

    Менеджер IIS Manager можно использовать для настройки параметров IIS и ASP.NET, конфигурационные параметры записываются в конфигурационные файлы в формате xml. Информация о состоянии и диагностика (Health and diagnostics information can) теперь доступна напрямую из менеджера IIS Manager, и теперь является частью IIS 7.0.

    APPCMD – это новый инструмент общего назначения для IIS 7.0, работающий из командной строки, который используется для администрирования и настройки IIS. APPCMD – это новая улучшенная версия старого модуля adsutil.vbs, это название будет знакомо тем из вас, кто работал с IIS 6.0.

    Удаленное администрирование (Remote Administration) было также улучшено, и теперь появилась возможность использование менеджера IIS Manager, при безопасном взаимодействии по https с веб сервером.

    Существует также возможность написания сценариев для управления IIS. Теперь это делается с помощью Windows PowerShell, который является новым языком для написания сценариев от компании Microsoft. Это простой и эффективный способ для администрирования IIS на вашем веб сервере, которое особенно полезно, если вы управляете несколькими веб серверами или большими веб фермами. Windows PowerShell может напрямую использоваться для интерфейса WMI IIS или использоваться для чтения или записи в конфигурационные файлы IIS 7.0 XML.

    IIS 7.0 обладает обратной совместимостью с метабазой IIS 6.0 metabase и ADSI, а также интерфейсом для написания сценариев WMI scripting interface, известный с версии IIS 6.0, что означает, что все ваши сценарии, написанные для версии IIS 6.0 будут работать и для версии IIS 7.0.

    Microsoft.Web.Administration API – это интерфейс для разработчиков, которые хотят писать свои собственные программы или сценарии для управления IIS 7.0.

    В IIS 7.0 теперь существует возможность передачи управления над IIS и веб сайтами. Вы можете передать полный административный доступ владельцам веб сайта. Владельцы веб сайта могут контролировать и управлять всеми настройками веб сайта с помощью менеджера IIS Manager, при этом безопасность сервера не будет страдать. Все настройки, которые меняют владельцы сайтов, записываются в файл в формате xml под названием web.config на их веб сайте.

    Конфигурация

    Конфигурация значительно упростилась, и теперь она основана на распределенных XML файлах, которые содержат конфигурационные параметры для всего IIS и ASP.NET.

    Конфигурационные параметры могут быть настроены глобально для всего веб сервера или для определенных веб сайтов, с помощью XML файлов, или с помощью графического интерфейса управления (GUI Management interface). Графический интерфейс лишь записывает конфигурационные параметры в то те же самые XML файлы. Основные конфигурационные файлы xml в IIS 7.0 это:

    • Applicationhost.config
    • Global web.config
    • Machine.config
    • Site web.config
    • App web.config

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

    Выполнение репликации конфигурации веб сервера также значительно упростилось для IIS 7.0 по сравнению с IIS 6.0, благодаря использованию конфигурационных файлов в формате xml. Благодаря этому очень просто скопировать и установить конфигурацию в крупных средах. Для IIS 6.0 это лучше всего делалось с помощью Microsoft Application Center 2000 или программных продуктов сторонних производителей.

    Общая конфигурация (Shared Configuration) – это новая возможность в IIS 7.0, которая была разработана для веб ферм (web farm). С помощью общей конфигурации (Shared Configuration) теперь появилась возможность для нескольких веб серверов использовать один конфигурационный файл (applicationhost.config). Главный файл размещается по общему пути UNC. Возможность использования общей конфигурации (Shared Configuration) – это великолепная альтернатива перспективе копирования настроек IIS.

    Файл в формате xml под названием Applicationhost.config является основным конфигурационным файлом IIS 7.0, этот конфигурационный файл содержит всю информацию о сайтах, виртуальных директориях, приложениях, пулах приложений и глобальных настройках для веб сервера.

    Репликация содержимого может быть легко выполнена с помощью команды x-copy или robocopy, точно также как и особые настройки веб сайта, которые хранятся в файле web.config в формате xml внутри сайта.

    Заключение

    Благодаря изменению дизайна IIS, компания Microsoft сделала IIS 7.0 лучшим веб сервером для всех, начиная со специалистов по информационным технологиям IT и разработчиков до Web Hosters. Я попытался выделить несколько причин, по которым я считают, что IIS 7.0 является очень мощным продуктом:

    • Продукт стал более безопасным – можно устанавливать только бинарные файлы
    • Он расширяем и гибок благодаря использованию новой модульной архитектуры
    • Он стал более масштабируемым благодаря упрощению настройки, для которой теперь используются файлы в формате xml
    • Улучшение производительности благодаря улучшениям в ядре IIS (http.sys)

    Есть множество причин, по которым вам стоит познакомиться с IIS 7.0 перед его официальным выходом.

    IIS 7.0 доступен для публичной загрузки совместно с последней версией операционной системы Windows Server 2008, в настоящее время Beta 3. Вы можете загрузить Windows Server 2008 beta по адресу: http://www.microsoft.com/windowsserver2008/default.mspx.

    Автор: Питер Шмидт (Peter Schmidt)

    УСТАНОВКА И НАСТРОЙКА INTERNET INFORMATION SERVICES 5.0

    Данный веб-сервер легко устанавливается под ОС Win2k и WinXP, так как входит в состав дистрибутива Windows как один из компонентов. Для установки достаточно (при наличии дистрибутива Windows) воспользоваться разделом «Пуск \ Настройка \ Панель Управления \ Установка и Удаление программ \ Добавление и удаление компонентов Windows \ Internet Information Services 5.0»:

    После нажатия на кнопку «Далее» будет произведена установка IIS. Запуск IIS будет произведен автоматически после установки без перезагрузки компьютера. Корневым каталогом веб-сервера по-умолчанию является папка c:\inetpub\wwwroot , а для того, чтобы проверить его работоспособность достаточно набрать в адресной строке браузера http://localhost .

    Теперь предстоит настроить веб-сервер, для чего следует зайти в раздел «Пуск \ Настройка \ Панель Управления \ Администрирование \ Диспетчер служб Интернета»:

    В открывшемся окне «Internet Information Services» следует выбрать раздел «Веб-узел по умолчанию» и просмотреть его свойства. Здесь на вкладке «Документы» можно указать следующую последовательность загружаемых по умолчанию файлов: «index.cfm», «index.asp», «index.php», «index.cgi», «index.htm», «index.html»:

    После установки IIS уже сразу можно использовать ASP-технологию и создавать динамические страницы в форме файлов *.asp. Если же Вы используете другую технологию (PHP, Perl, ColdFusion и т.д.), то Вам необходимо установить установить соответствующую программу и настроить IIS на работу с ней. Например, если Вы желаете использовать PHP, то в IIS нужно прописать, что файлы с расширением *.php должны обрабатываться программой C:\PHP4\php.exe. Для этого нужно перейти на вкладку «Домашний каталог»:

    Далее следует нажать на кнопку «Настройка», в появившемся окне можно видеть связь расширений и исполняемых файлов:

    Для добавления новой связи следует воспользоваться кнопкой «Добавить», где нужно указать исполняемый файл и расширение. Следует заметить, что в приведенном выше примере уже реализованы примеры связей для файлов с расширениями *.php, *.cgi, *.cfm . Установка Perl и PHP будет рассмотрена в последующих разделах.

    Understanding IIS 5.0 and IIS 6.0

    An Introduction to Internet Information Services (IIS)

    Microsoft’s integrated Web server, Internet Information Services (IIS) enables you to create and manage Web sites within your organization. It allows you to share and distribute information over the Internet or intranet. With Windows 2000 came Internet Information Services (IIS) 5.0 which was basically the fastest Web server at the time when Windows 2000 Server was introduced. IIS 5.0 was fully integrated with the Active Directory directory service. Because of this integration, and the additional features and enhancements introduced with IIS 5.0 you could create and deploy scalable and reliable Web applications, websites and Web clusters. This led to an improvement in security, administration, reliability, and performance in the Web environment. Windows XP Professional supports IIS 5.1. This version if IIS is a slightly enhanced version of IIS 5.

    With the introduction of Windows Server 2003, came the advent of Internet Information Services (IIS) 6. IIS 6 is included with the 32-bit version and the 64-bit versions of the Windows Server 2003 Editions. IIS 6 include support for a number of protocols and management tools which enable you to configure the server as a Web server, File Transfer Protocol (FTP) server or a Simple Mail Transport Protocol (SMTP) server. The management tools included with Windows Server 2003 allow you to manage Internet Information Services on the Windows Server 2003 product platforms.

    Understanding the Origins of Internet Information Services (IIS)


    The first version of IIS, Internet Information Services (IIS) 1, was released for the Windows NT 3.51 Server platform, and included support for Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Gopher, the Secure Sockets Layer (SSL) version 1 protocol, and Common Gateway Interface (GCI). When initially introduced, IIS signified Internet Information Server and not Internet Information Services. The name change to Internet Information Services only came about when IIS 5 was released with Windows 2000 Server. A few features included with IIS 1 are:

    • IIS 1 could integrate with the Windows NT platforms.
    • Virtual servers made it possible for multiple websites to be hosted one physical IIS computer, and virtual directories allowed you to store website content on a file server, and not on the actual Web server. This added security to a Web server implementation.
    • Basic Authentication and Windows NT LAN Manager (NTLM) Challenge/Response Authentication were supported to enhance intranet security.
    • SSL version 1 support made it possible to create secure e-commerce sites.
    • Open Database Connectivity (ODBC) logging enabled you to monitor Web traffic and troubleshoot issues.
    • Internet Server API (ISAPI) was supported for the writing of dynamic web applications, and enabled integration into static HTML pages.

    The next IIS version, Internet Information Services (IIS) 2, was introduced with the Windows NT 4 Server platform. The features and enhancements included with this release of IIS 2 were:

    • IIS was integrated with Windows NT Setup, and you could therefore be installed when you installed Windows NT.
    • HTTP byte range was introduced, which enabled Internet Explorer to recover from interruptions and continue download.
    • Because host names were supported with IIS 2, you could host multiple websites on one server through an IP address and TCP port 80.
    • The logging of successful HTTP transactions and failed HTTP transactions enabled you to more efficiently troubleshoot Web server issues, and Internet communication issues.
    • Key Manager could be used to create key pairs for digital certificates, for Secure Sockets Layer (SSL).
    • The Index Server tool made it possible for users to execute full text queries of the web content hosted on IIS through content sarches.
    • HTML Administrator, an ISAPI application allowed you to remotely administer the IIS server over the Internet using a web browser like Internet Explorer.

    About 10 months after IIS was originally launched, Internet Information Services (IIS) 3 was launched.

    • Key features introduced with IIS 3 were the introduction of Active Server Pages (ASP), and the IIS 3 speed enhancement over IIS 1.
    • Active Server Pages (ASP) made it possible for developers to create dynamic web applications that used a standard web browser for a client interface for IIS. The web applications could include all the functionality of standard client/server applications.
    • ASP included support for connectivity with databases using Microsoft’s ActiveX Data Objects (ADO) technology and ODBC.
    • Microsoft’s new Visual Basic Scripting Edition (VBScript) and Jscript scripting languages, together with ODBC could be used to create ASP based websites which was a much more feasible solution to creating ISAPI applications with C++.
    • Microsoft Visual InterDev was also included in IIS 3 for the development of Web applications with Visual Basic, Visual C++ and Visual J++.
    • Microsoft NetShow was included to offer support for streaming audio and video.
    • Microsoft Transaction Server (MTS) was introduced for distributed web applications.

    With the release of Windows NT 4 Option Pack came Internet Information Services (IIS) 4. Windows NT 4 Option Pack included enhancements and features specific to the Windows NT 4 Server OS and IIS. These features and improvements are listed below:

    • Microsoft Internet Explorer 4.01
    • Microsoft Transaction Server (MTS) version 2. Version 1 was included in IIS 3.
    • Index Server version 2 as well.
    • Microsoft Certificate Server, for creating a public key infrastructure (PKI)
    • Microsoft Message Queue Server (MSMQ), for asynchronous communications in distributed applications.
    • Site Server Express 2, for managing web content on IIS computers
    • SSL version 3 included support for 128-bit encryption.
    • The HTTP 1.1 standard enhanced the reliability and effectiveness of HTTP transfers. HTTP 1.1 also improved the functionality of host headers.
    • The IIS metabase was included in IIS 4 to store IIS configuration information. The metabase contains all the settings and configuration data for IIS.
    • Microsoft Management Console (MMC) version 1.
    • A new version of Internet Service Manager was implemented as a number of snap-ins for the Microsoft Management Console (MMC).
    • HTML Administrator (HTMLA) enabled the browser based administration of IIS.
    • Support was included for Simple Mail Transport Protocol (SMTP) and Network News Transport Protocol (NNTP).
    • Personal Web Server (PWS) was included for Windows 95 platforms.

    With the introduction of the Windows 2000 Server OS came the launch of Internet Information Services (IIS) 5. With IIS 5 came the name change from Internet Information Server to Internet Information Services. IIS included new features and enhancements which enabled administrators and Internet service providers (ISPs) to create scalable Web applications, Web sites, Web clusters, and a reliable Web environment. IIS 5 also included enhancements specific to security, administration and applications. The key features and enhancements included with IIS 5 are summarized below:

    • Pooled Process was the application model introduced with IIS 5 which enabled multiple web applications to run in a shared memory space detached from the Inetinfo.exe’s In Process space.
    • You could define the CPU share time for a Web site.
    • IIS was integrated with the Active Directory directory service introduced in Windows 2000.
    • Support for Web Distributed Authoring and Versioning (WebDAV) which allow users to edit, delete and move files and directories, and hare documents over the Internet.
    • HTTP compression made it possible to transmit pages between the Web server and clients that support compression much faster.
    • File Transfer Protocol (FTP) Restart improved on data transfer by resuming the downloading of a file from when interruption occurred in the data transfer process.
    • Administration specific enhancements and features included with IIS 5 are listed below:
      • With the introduction of IIS 5 came the capability of restarting IIS without necessitating a computer restart as well.
      • Web-based administration tools enabled administrators to remotely administer the Web server using virtually any browser.
      • Custom error messages enabled administrators to send a message to clients when HTTP errors or issues exist on the Web site.
      • Terminal Services, introduced in Windows 2000 Server, allows you to remotely administer IIS and other Windows services.
    • Security specific enhancements and features included with IIS 5 are listed below:
      • Server-Gated Cryptography (SGC), a SSL extension enables stronger 128-bit encryption to be utilized.
      • Digest Authentication improves security for user authentication over proxy servers and firewalls.
      • IIS 5.0 is integrated with Kerberos version 5 authentication, and is used for authentication between computers running Windows 2000.
      • IIS certificate storage in IIS 5 is integrated with Microsoft CryptoAPI (CAPI) storage.
      • A number of new security wizards are introduced in IIS 5 as well, including:
        • The Permissions Wizard, for configuring Web site access.
        • The Web Server Certificate Wizard, for creating certificate requests and for the administration tasks of the certificates.
        • The CTL (certificate trust lists) Wizard, for configuring CTLs. A CTL contains the trusted Certification Authorities (CAs) for a directory. Configuring CTLs is beneficial when ISPs that have multiple Web sites requiring a unique list of approved CAs for every site.
      • Programmability specific enhancements and features included with IIS 5 are listed below:
        • The features included for Active Server Pages (ASP) include:
          • Enhanced error handling
          • Windows Script Components
          • Scriptless ASP
          • Better flow control methods
          • Integration with Extensible Markup Language (XML)
          • Performance improved objects
        • Active Directory Service Interfaces (ADSI) 2.0 enables greater flexibility for site configuration by adding custom objects and properties to the ADSI.

      With the introduction of the Windows Server 2003 OS came the launch of Internet Information Services (IIS) 6. A few key features and enhancements included with IIS 6 are summarized below:

      • IIS 6 is fully integrated with Windows Server 2003.
      • IIS 6 is not by default installed, and ASP and FrontPage extensions are disabled. All permissions are set to high.
      • IIS 6 architecture has been designed to move HTTP listening into the kernel for increased performance and reliability. This means that the handling of HTTP requests has been moved directly into the kernel.
      • Incoming HTTP requests are handled by the http.sys kernel mode component, which means that a bigger number of HTTP requests can be handled by IIS 6 that what IIS 5 could handle.
      • The IIS 5 compatibility mode, included with IIS 6 allows you to switch to IIS 5 when you have applications that only operate under IIS 5.
      • Programmability specific enhancements include support for the latest web standards such as XML, IPv6 and SOAP.
      • The IIS metabase is formatted and saved as a plain text file using the Extensible Markup Language (XML). In IIS 4 and IIS 5, the metabase was saved in the binary format. With IIS 6, you can use a text editor tool such as Notepad to edit the metabase file. You can also use Windows Management instrumentation (WMI) tools or Active Directory Services Interface (ADSI) scripts to change the metabase file.
      • Whether changing the metabase file manually or programmatically, you no longer need to stop and restart IIS to perform any changes to the metabase file.
      • The metabase history feature included in IIS 6 monitors changes made to the IIS metabase, and automatically saves backups of the metabase when changes are made to it.
      • IIS 6 allows administrators to copy IIS configurations from one physical machine to a different machine through the use of ADSI scripts, WMI tools or the admin scripts provided by IIS 6.
      • You can use the IIS Manager, or administration scripts to administer IIS.
      • Digest Authentication can be used over proxy servers and firewalls.
      • IIS 6 can also use Passport authentication because of its integration with Microsoft .NET Passport.
      • You can use the Group Policy feature of Active Directory to further secure IIS.

      IIS Architecture Prior to IIS 6

      Before IIS 4, the architecture of IIS consisted of In Process processing. This meant that the Internet Services Application Programming Interface (ISAPI) DLLs executed within the inetinfo.exe service’s process.

      With the launch of IIS 4, came the IIS metabase which stored IIS configuration settings and data. This meant that the IIS configuration settings were no longer stored in the Registry. Only a few settings, such as the keys used to start IIS remained in the Registry.

      The IIS Admin Service, used for the management of the IIS metabase was included in IIS 4. IIS Admin Service is responsible for maintaining the IIS metabase, and for updating the Registry with the configuration settings for the other key IIS services, including the WWW service, FTP, NNTP and SMTP.

      Another key architectural change included in IIS 4, was that IIS 4 could run applications Out of Process, or in process isolation. This improved the reliability of the Web environment within your organization because a single application failure no longer caused other applications and processes to fail on the server. You could configure applications that run Out of Process to start automatically when they fail. You could also start and stop applications running on the server, and not impact your other applications. When processes are run In Process, the whole Web server remained unavailable until it was rebooted or inetinfo.exe was restarted.

      IIS 4 integration with Microsoft Transaction Server (MTS), and MTS’s Web Application Manager (WAM) component made it possible for applications to run Out of Process in isolated space. With IIS 4, applications were first setup to execute In Process. Only after the applications were installed could they be setup to execute Out of Process. This was done by navigating to the Properties dialog box of the virtual directory of the application, and then choosing the Run In Separate Memory Space (Isolated Process) checkbox.

      In summary, IIS 4 provided the means for applications to run in either In Process or Out of Process.
      A major disadvantage associated with applications executing Out of Process is that they run slower than applications which run In Process. For this reason, applications which were run Out of Process were mainly applications in the testing phase. It was also common to debug applications on IIS in Out of Process mode. Applications running Out of Process could also not communicate with other applications running on the identical machine, which obviously caused problems when certain applications needed to communicate with other applications.

      With the launch of IIS 5 came the capability of running Web applications in the following modes:

      • In Process: In this mode, applications run in the architecture of IIS 1 – IIS 3, which means that they run as a component of the main Web server process.
      • Out of Process (Isolated): In this mode, applications run in isolation, in its dllhost.exe host process.
      • Poole Process: Applications run as a pooled process, separate from inetinfo.exe, in the dllhost.exe COM+ host process. This is turn allows multiple ISAPI and ASP applications to interact or communicate. Web applications executing in Pooled Out of Process perform better than those applications running Out of Process (Isolated).

      The major disadvantages associated with the IIS 5 architecture are listed below:

      • Applications running in IIS Process executed In Process with the core Web server process which meant that while they performed optimally, an application failure could cause the entire Web server process to collapse.
      • Applications running in the isolated Out of Process (Isolated) or Pooled Out of Process had poor performance repercussions. This basically means that out of process applications have a performance issue when they run on IIS 5.

      The Key Differences between IIS 6 and IIS 5 Architecture

      The main differences between IIS 6 and IIS 5 architecture is summarized below:

      • IIS 6 architecture moves HTTP listening into the kernel for increased performance and reliability. This means that the handling of HTTP requests has been moved directly into the kernel.
      • The WWW Service includes the new Web Administration Service (WAS).
      • The applications models supported in IIS 6 are:
        • Worker process isolation mode isolates all developer application code from the main IIS services.
        • II5 isolation mode, for backward compatibility for IIS 5 applications.
      • IIS 6 includes support for multiple application pools, and each application pool can operate in isolation of the other application pools.

        Main Components of IIS 6

        With IIS 6, HTTP listening and routing is moved to the Kernel Mode HTTP Listener component which is put in operation through the http.sys kernel mode device driver. Http.sys operates within the Windows Server 2003 TCP/IP network subsystem, in the TCP/IP stack of Windows Server 2003. Http.sys listens for HTTP requests wanting to establish connections with addresses and port numbers of websites hosted on IIS. The responsibilities of http.sys are summarized below:

        • Listen for, and route HTTP requests to the appropriate worker process. Application code run in user mode processes which are referred to as worker processes. Multiple worker processes usually run simultaneously to handle pools of applications.
        • Receives HTTP responses from the IIS worker processes and sends them to the client. Http.sys does not actually process the HTTP requests but forwards it to the correct IIS worker process for processing.
        • With IIS 6, an application pool is associated with a kernel mode queue to which http.sys routes HTTP requests.
        • Cache HTTP responses for static content and dynamic content through a kernel mode cache.
        • Manage TCP connections for HTTP requests and responses.
        • Manage bandwidth throttling
        • Responsible for text based logging for the WWW Publishing service.
        • Manage connection limits and connection timeouts.

        The implementation of the Kernel Mode HTTP Listener component through the http.sys kernel has led to the following benefits.

        • Processes that execute in kernel mode have a higher priority than any user mode processes, which means that http.sys improves on the processing time of HTTP requests.
        • Http.sys can continue to listen for, and queue HTTP requests in cases where the actual Web application for the requests is down.


        With IIS 6, the IIS Admin Service manages the IIS metabase, and updates the Registry with the configuration settings for the other key IIS services, including the WWW service, FTP service, NNTP service and SMTP service.

        The Web Administration Service (WAS) component of IIS 6 handles the creation of websites on IIS 6; and consists of the two components listed below. It is implemented as a DLL within the svchost.exe host process.

        • Configration Manager, duties include:
          • Store and retrieve configuration data from the IIS metabase.
          • Initializes the namespace routing table at startup for http.sys. An entry is created in the routing table for each application pool.
          • Notifies http.sys when the http.sys routing table needs updates made to it. The routing table needs to be updated when new application pools are created for new Web applications.
        • Application Pool Manager, duties for managing the IIS worker processes include:
          • Start, stop, restart and recycle worker processes
          • Monitor worker processes

        A worker process in IIS 6 is a process wherein user developed Web application code runs. A worker process is actually a host process, called w3wp.exe. Worker processes process the user requests received from the http.sys queues. The worker processes also returns a static page or dynamic page to the requesting client through http.sys. A worker process can host the following:

        • ASP applications
        • ISAPI applications and filters
        • CGI applications
        • Static content

        An application pool consists of the following components:

        • A kernel mode http.sys request queue
        • A single instance of or multiple instances of w3wp.exe – worker processes.

        In IIS 6, applications can run in different configurations:

        • An application pool has one worker process that hosts the single Web application which in turn is isolated from other applications through process boundaries.
        • An application pool has one worker process hosting two or numerous Web applications.
        • An application pool has numerous worker processes hosting multiple Web applications. This configuration concept is called a Web garden and is a new IIS feature.

        Logging of HTTP requests with the earlier versions of IIS included the text file formats listed below. You could also log requests to an ODBC database. Logging was handled by the inetinfo.exe process.

        • NCSA standard format
        • W3C Extended format
        • Native IIS format

        With IIS 6, logging is handled by the Kernel Mode HTTP Listener, and ODBC logging is handled by worker processes. This in turn leads to better performance.

        The kernel mode cache is managed by http.sys for static and dynamic content. When http.sys detects a HTTP request, it checks the cache first, and retrieves the page from the cache. This takes place in kernel mode, which means that performance is greatly enhanced for cached content.

        When a client requests an ASP page, the ASP code is compiled into an ASP template, which gets cached in the in-memory cache. These templates are cached so that they can be used again. With IIS 6, the oldest templates in the in-memory cache are cached offline (on disk) when the memory cache is full. IIS 6 can store 250 templates in-memory. The in-memory cache of IIS 6 can be configured to use 64GB of physical memory.

        Worker Process Isolation Mode – IIS 6 Application Mode

        Worker process isolation mode is the primary application mode used in IIS, and includes the application pools, worker processes, health monitoring, and all other IIS 6 specific architectural elements. The characteristics of worker process isolation mode are:

        • An application pool can have one or multiple web applications.
        • The worker processes handles the HTTP requests from the queue.
        • An application pool can contain one worker process or multiple worker processes (Web garden).
        • Each application pool has an associated kernel mode queue in http.sys.
        • A single application failure does not result in multiple applications failing.
        • ASP applications, ASP.NET applications and ISAPI extensions are loaded into the worker processes.
        • Inetinfo.exe manages the metabase and the FTP Service, SMTP Service and the NNTP Service.
        • Web Administration Service (WAS) manages the application pools and worker processes.

        The process that occurs when a client sends a HTTP request is listed below:

        • Http.sys listens for and discovers the client’s HTTP request.
        • If the request is invalid, an HTTP error code is returned to the client by http.sys.
        • If the request is valid, http.sys first checks the kernel mode response cache to ascertain whether the page which the client requested is cached.
        • If the requested page is in the cache, it is immediately returned to the client.
        • The request is routed to the kernel mode queue of the application pool by http.sys.
        • A worker process of the application pool takes the request from the kernel mode cache.
        • The worker process sends the response to the client through http.sys.
        • Http.sys caches the response.

        IIS 5 Isolation Mode – IIS 6 Application Mode

        IIS 6 can run in IIS 5 isolation mode to enable backward compatibility for applications that do not function correctly on IIS 6. Applications that usually need IIS 6 running in IIS 5 isolation mode are:

        • Applications that call processes which do not reside in the application pool associated with the application.
        • Other than for ASP.NET applications, all other applications that requires to persevere session state information.
        • ISAPI applications which load multiple times and run in tandem; and ISAPI filters performing read raw data filtering.

        The IIS 6 architectural elements that are not available when IIS 6 runs in IIS 5 isolation mode are:

        • Web gardens
        • Health detection
        • Processor affinity
        • Process recycling
        • Rapid fail protection

        The Main IIS Supported Protocols and Services

        IIS supports a few key protocols and services, which are:

        • World Wide Web (WWW) service, used to connect HTTP requests from IIS clients to IIS websites. The service is also used to publish Web services.
        • Hypertext Transfer Protocol (HTTP) is a TCP/IP application layer protocol, and is used to connect to websites, and to create Web content. HTTP handles the publishing of static and dynamic Web content. A HTTP session consists of a connection, a HTTP request and a HTTP response
          • Port 80 is used for HTTP connections. The client establishes a TCP connection to the server by using a TCP three way handshake.
          • After the connection is established, the client sends a HTTP GET request message to the server.
          • The server sends the client the requested Web page.
          • HTTP Keep-Alives maintains the TCP connection between the client and server if it is enabled, so that the client can request additional pages.
          • If HTTP Keep-Alives is not enabled, the TCP connection is terminated after the requested page is downloaded.
        • File Transfer Protocol (FTP) is a TCP/IP application layer protocol, and is used for copying files to and from remote systems through the Transmission Control Protocol (TCP). FTP makes it possible for clients to upload and download files from a FTP server over an internetwork. Through IIS, you can create and administer FTP servers. You need an FTP server and FTP client to use the protocol. A FTP session has a connection, a request, and a response.
          • The client establishes a TCP connection to the FTP server through port 21.
          • A port number over 1023 is assigned to the client.
          • The client sends a FTP command to port 21.
          • If the client needs to receive data, another connection is created with the client, to convey the data. This connection utilizes port 20.
          • The second connection remains in a TIME_WAIT state after the data is transferred to the client. The TIME_WAIT state makes it possible for additional data to be transferred. The TIME_WAIT state ends when the connection timeout.
            IIS Admin Service, used for the management of the IIS metabase. It updates the Registry with the configuration settings for the other key IIS services, including the WWW service, FTP service, NNTP service and SMTP service.
        • Simple Mail Transfer Protocol (SMTP) is a TCP/IP application layer protocol used for routing and transferring e-mail between SMTP hosts on the Internet. It is a client/server and server/server protocol.
        • Network News Transfer Protocol (NNTP) is a TCP/IP application layer protocol used to send network news messages to NNTP servers and NNTP clients on the Internet. It is a client/server and server/server protocol. The NNTP protocol enables a NNTP host to replicate its list of newsgroups and messages with another host through newsfeeds, using a push method or a pull method. A NNTP client can establish a connection with a NNTP host to download a list of newsgroups, and read the messages contained in the newsgroups.
        • Secure Sockets Layer (SSL) version 3, used to encrypt HTTP and NNTP authentication data and transmission data through public key cryptography
        • Lightweight Directory Access Protocol (LDAP) is used by the Simple Mail Transfer Protocol (SMTP) service to access data in the directory service.
        • Transport Layer Security (TLS), used to encrypt SMTP data transmissions.
        • Multipurpose Internet Mail Extensions (MIME), used to transmit file formats to HTTP clients. The HTTP service uses MIME.
      Илон Маск рекомендует:  Является ли указанная страница - домашней (IE)
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL