Iis системный реестр


Содержание

Установка и конфигурирование 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 при рассмотрении каждого из подходов к развертыванию.

Как установить Web сервер IIS 10 в Windows Server 2020?

Сегодня мы с Вами научимся устанавливать веб сервер IIS в операционной системе Windows Server 2020 нескольким способами, а именно с помощью графического инструмента и, конечно же, с помощью Windows PowerShell.

Что такое IIS 10?

IIS (Internet Information Services) — это набор служб, предназначенный для реализации web сервера в операционной системе Windows с поддержкой сайтов HTML и приложений на ASP.NET или ASP. В Windows Server он распространяется в виде отдельной роли с достаточно большим количеством служб роли. Ранее в материале «Описание и назначение ролей сервера в Windows Server 2020» мы рассмотрели краткое описание всех ролей сервера и их служб, в том числе и роли «Веб-сервер (IIS)» поэтому повторяться сейчас, т.е. описывать каждую из служб роли, я не буду.

В актуальной на данный момент версии серверной операционной системе Windows Server 2020 присутствует также самая новая версия веб сервера, а именно – IIS 10.

Версии веб сервера IIS

Версия IIS Версия операционной системы
10 Windows 10; Windows Server 2020
8.5 Windows 8.1; Windows Server 2012 R2
8.0 Windows 8; Windows Server 2012
7.5 Windows 7; Windows Server 2008 R2
7.0 Windows Vista; Windows Server 2008
6.0 Windows Server 2003
5.1 Windows XP Professional
5.0 Windows 2000

Установка Web сервера IIS 10

Итак, давайте переходить к рассмотрению процесса установки, и для примера давайте просто установим основные компоненты, которые необходимы для функционирования веб сервера и его администрирования (средства управления), а также разместим на нем простую HTML страничку, т.е. по сути HTML сайт, для проверки работы web сервера. Если Вам необходимо размещать приложения, например на ASP.NET, то Вам необходимо также установить соответствующие службы роли из раздела «Разработка приложений».

Установка веб сервера IIS с помощью мастера

Сначала давайте разберем процесс установки web сервера IIS 10 с помощью «Диспетчера серверов», а конкретней «Мастера добавления ролей и компонентов».

Шаг 1

Открываем диспетчер серверов «Пуск ->Диспетчер серверов».

Затем запускаем «Мастер добавления ролей и компонентов», меню «Управление ->Добавить роли и компоненты».

Шаг 2

Шаг 3

Потом выбираем тип установки «Установка ролей или компонентов», жмем «Далее».

Шаг 4

Затем выбираем целевой сервер и жмем «Далее».

Шаг 5

На шаге выбора ролей отмечаем роль «Веб-сервер (IIS)». Автоматически Вам сразу предложат установить компонент «Консоль управления службами IIS», мы соглашаемся и жмем «Добавить компоненты».

И сразу жмем «Далее».

Шаг 6

Все необходимые компоненты мы уже отметили, поэтому на этом шаге также сразу жмем «Далее».

Шаг 7

Теперь нам необходимо настроить установку роли «Веб-сервер IIS», сначала жмем «Далее».

А потом выбираем необходимые службы роли, по умолчанию минимальное количество служб уже будет выбрано, но если Вам нужно что-то еще, то отмечаете их галочкой. Для нашей тестовой задачи, т.е. разместить простой статический HTML сайт, отмеченных по умолчанию служб будет достаточно, жмем «Далее».

Шаг 8

Проверяем выбранные роли, службы и компоненты и жмем «Установить».

Установка будет завершена, как появится соответствующее сообщение.

Установка web сервера IIS с помощью Windows PowerShell

Для того чтобы установить web сервер IIS с помощью PowerShell запускайте оболочку Windows PowerShell и вводите следующие команды (перечисленные ниже команды установят все те же службы, которые мы установили с помощью мастера чуть выше).

Документ по умолчанию

Ведение журнала http

Сжатие статического содержимого

Консоль управления службами IIS

Размещаем HTML сайт на веб сервере IIS

Первое что нужно сделать — это создать корневую директорию нашего тестового сайта, для этого в каталоге С:\inetpub\ создаем папку TestSite и в нее для проверки добавляем файл index.html со следующим содержимым, например

Затем открываем «Диспетчер служб IIS», это можно сделать, например, из диспетчера серверов «Средства ->Диспетчер служб IIS».

Потом щелкаем правой кнопкой мыши по пункту «Сайты ->Добавить веб-сайт».

Откроется окно добавления веб сайта, заполняем необходимые поля и жмем «ОК» (TestSite в моем случае это название сайта).

Теперь можем проверить работу веб сервера и только что созданного сайта, для этого открываем любой веб браузер и переходим на сайт TestSite (только помните, для того чтобы у Вас также как у меня открылся сайт по имени, он должен быть добавлен на DNS сервере (создана A запись) или хотя бы для тестов добавлена запись в файл HOSTS локального сервера).

Удаление веб сервера IIS с помощью мастера

Для удаления web сервера IIS открываем диспетчер серверов, затем в меню нажимаем «Управление ->Удалить роли и компоненты».

В итоге запустится «Мастер удаления ролей и компонентов», где мы делаем практически то же самое, что и при установке, только галочки мы не ставим, а снимаем.

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

Удаление web сервера IIS с помощью PowerShell

Для удаления web сервера IIS на PowerShell запускаем оболочку Windows PowerShell и используем командлет Uninstall-WindowsFeature. Для удаления следующих служб ролей веб сервера IIS, можно использовать вот такие команды:

Документ по умолчанию

Ведение журнала http

Сжатие статического содержимого

Консоль управления службами IIS

Вот мы с Вами и научились устанавливать и удалять web сервер IIS в операционной системе Windows Server 2020 и на этом у меня все, пока!

Установка и настройка IIS 5.1 на Windows XP

С каждым днем все большую популярность занимает разработка сайтов на ASP.NET с помощью Visual Studio. Приложения и сайты, разработанные на ASP.NET, должны размещаться на веб-сервере Internet Information Services (далее IIS). Это оснастка Windows, отвечающая за размещение сайтов, настройку доступа к ним, хранение сессий пользователей и многое другое. В Windows XP IIS по умолчанию отсутствует, и прежде чем настроить сайт, необходимо установить IIS. Поэтому статья разбита на две части:

В каждой операционной системе есть свои нюансы в установке и настройке IIS. Если у вас другая ОС, посмотрите схожие статьи Установка и настройка IIS 6 на Windows 2003 и Установка и настройка IIS 7 на Windows 2008.

Как установить IIS 5.1 на windows XP

Сервер приложений IIS 5.1 устанавливается с дистрибутива операционной системы. Желательно устанавливать IIS с того же дистрибутива ОС, который установлен на данном компьютере. По опыту скажу, бывают прецеденты некорректной работы, в случае установки IIS с «неродного» дистрибутива. Вставьте диск с Windows XP в дисковод и начинайте установку IIS:

1. Нажмите «Пуск» и зайдите в «Панель управления»:

2. В появившемся списке выберите «Установка и удаление программ»:

3. На левой панели нажмите «Установка компонентов Windows»:

4. В мастере компонентов Windows поставьте галочку «Interner Information Services (IIS)» и нажмите «Далее»:

После этого начнется установка IIS 5.1 с диска операционной системы Windows 2003. Дождитесь завершения и перезагрузите компьютер. Все! Установка IIS завершена!

Как настроить IIS 5.1 на windows XP

Итак, у нас есть сайт, условно назовем его Security. Он представляет собой каталог Security и набор файлов в этом каталоге. Сайт имеет главную страницу, которая должна загружаться по умолчанию. Назовем ее index.aspx. Первым делом необходимо установить и зарегистрировать .Net Framework. Нужно ставить тот же .Net Framework, под который написан ваш сайт. Версию можно посмотреть в файле web.config вашего сайта. Мы будем считать, что наш сайт написан на Net.Framework v.4.0.

Установке и настройке Net.Framework посвящена отдельная статья Как установить Asp.Net и зарегистрировать его в IIS. Здесь опишу кратко: чтобы зарегистрировать .Net Framework в IIS, нужно в командной строке из каталога C:\WINDOWS\Microsoft.NET\Framework\версия_вашего_Framework\ выполнить команду aspnet_regiis.exe –i;

Каталог Security разместите в C:\Inetpub\wwwroot\. Это рабочий каталог диспетчера служб IIS.

Теперь займемся непосредственно настройкой IIS:

1. Запустим Диспетчер служб IIS. Нажмем «Пуск», «Выполнить». В появившемся окне введем inetmgr.exe и нажмем «ОК»:

Илон Маск рекомендует:  Почему си хорошо, а си плохо

2. После того, как мы скопировали наш сайт в C:\Inetpub\wwwroot, у нас в диспетчере IIS в Веб-узлах появился каталог Security. Щелкните правой кнопкой мыши и выберите «Свойства»:

3. В появившемся окне нажмите кнопку «Создать»:

4. Далее нужно проставить галочки. В поле «Разрешен запуск» выбрать «Сценарии и исполняемые файлы». В поле «Группа приложений» выбираем созданную в пункте 2 группу приложений Net 4.0:

5. На вкладке «Документы» нужно добавить нашу главную страницу. Тогда при доступе к сайту не нужно будет обращаться по адресу http://имя_сервера/Security/ndex.aspx, достаточно будет написать http://имя_сервера/Security и мы попадем на главную страницу сайта. На вкладке «Документы» удалите все страницы, которые там заведены по умолчанию и добавьте свою стартовую страницу index.aspx:


7. На вкладке «Безопасность каталога» проверьте, что у вас стоит анонимный доступ и выбран пользователь IUSR_имя_вашей_машины:

8. На вкладке «ASP.NET» выберите версию .Net Framework, под которым написан ваш сайт. Повторюсь, версию можно посмотреть в файле web.config каталога Security. Жмем «ОК»:

9. На этом настройка IIS завершена, осталось настроить права доступа на каталог Security. Откройте общий доступ на вкладке «Доступ» и дайте полный доступ следующим пользователям и группам: IIS_WPG (локальная группа), NETWORK SERVICE (локальный пользователь), IUSR_имя_сервера (локальный пользователь), IWAM_имя_сервера (локальный пользователь), ASP.NET (локальный пользователь). И на вкладке «Безопасность» также дать полный доступ указанным пользователям.

Примечание: для каких-либо узких задач необязательно указывать всех пользователей, однако, если ваш сайт решает специфические задачи, лучше указать всех этих пользователей:

Безопасность IIS 6.0

Популярность веб серверов, как главных целей для взломщиков и вирусописателей во всем мире создала естественные условия для Microsoft, чтобы сосредоточиться на ее «Trustworthy Computing Initiative». В результате IIS был полностью перепроектирован, с целью быть защищенным по умолчанию и защищенным по своей внутренней архитектуре. В этой статье мы обсудим конфигурацию, заданную по умолчанию, и изменения, включенные в IIS 6.0, чтобы сделать его более безопасной платформой для хостинга критических веб приложений.

Защищенный по умолчанию

В прошлом разработчики, включая Microsoft, снабжали установки по умолчанию своих серверов множеством типовых скриптов, обработчиков файлов и минимальными ограничениями файловой системы, чтобы обеспечить администраторам необходимую гибкость и простоту использования. Однако такой подход имел тенденцию увеличения доступной плоскости нападения и был основой нескольких атак против IIS. В результате IIS 6.0 разработан, чтобы быть более безопасным «из коробки», чем его предшественники. Самое примечательное изменение это то, что IIS 6.0 не устанавливается по умолчанию с Windows Server 2003. Другие изменения включают в себя:

— Заданная по умолчанию инсталляция — только статический HTTP сервер
По умолчанию IIS 6.0 настроен для обслуживания только статических HTML страниц, динамический контент не разрешается. Следующая таблица сравнивает возможности установки по умолчанию IIS 5.0 и IIS 6.0 .

Компонент IIS IIS 5.0 установка по умолчанию IIS 6.0 установка по умолчанию
Static file support включено включено
ASP включено отключено
Server-side includes включено отключено
Internet Data Connector включено отключено
WebDAV включено отключено
Index Server ISAPI включено отключено
Internet Printing ISAPI включено отключено
CGI включено отключено
Microsoft FrontPage® server extensions включено отключено
Password change interface включено отключено
SMTP включено отключено
FTP включено отключено
ASP.NET нет отключено
Background Intelligence Transfer Service нет отключено

— Не устанавливается никаких типовых приложений
IIS 6.0 не содержит никаких типовых скриптов, подобных showcode.asp и codebrws.asp . Первоначально эти программы были разработаны, чтобы позволить программистам быстро просматривать их код подключения к базе данных и осуществлять его отладку. Однако, showcode.asp и codebrws.asp корректно не проверяют ввод, чтобы гарантировать, что запрошенный файл находится в пределах корневой веб директории. Это позволяет взломщику просматривать любые файлы (включая те, которые содержат важные настройки конфигурации) в системе. Обратитесь по следующей ссылке для получения дополнительной информации об этой уязвимости: http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS99-013.asp

— Улучшенный контроль прав доступа файловой системы
Анонимные пользователи больше не имеют прав на запись в домашнею директорию веб сервера. Кроме того, FTP пользователи изолированы в их собственных домашних каталогах. Эти ограничения препятствуют пользователю загружать злонамеренные файлы в другие части файловой системы сервера. Такие атаки могут включать «дефейс» веб сайтов, используя загрузку файлов в корневую директорию и удаленное выполнения команд через запуск злонамеренного исполняемого файла, который может быть загружен в каталог /scripts.

— Нет исполняемых виртуальных директорий
Виртуальные директории не имеют прав на исполнение файлов, находящихся в них. Это предотвращает использование многочисленных «directory traversal» уязвимостей и MDAC эксплойтов, которые существовали в прошлом.

— Удален Sub-authentication модуль
IISSUBA.dll был удален из IIS 6.0 . Любые учетные записи, который требовали эти функциональные возможности в предыдущих версиях IIS, требовали «доступ к этому компьютеру из сети» привилегий. Удаления этой DLL удаляет эту зависимость и таким образом уменьшает плоскость нападения, проводя все идентификации непосредственно через SAM или Active Directory.

— Абсолютные пути отключены
Доступ к абсолютным путям в файловой системе заблокирован по умолчанию. Это должно предотвратить «directory traversal» атаки, которые могут позволить атакующему выходить за пределы корневой веб директории и получить доступ к важным файлам файловой системы, например SAM файлам. Обратите внимание, что это может причинить проблемы при переносе приложений, которые использовали абсолютные пути на предыдущих версиях IIS.

Защищенный по внутренней архитектуре

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

Улучшенная проверка правильности данных

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

Драйвер режима ядра имеет несколько механизмов защиты для увеличения защищенности внутренней архитектуры IIS 6.0. Эти особенности включают в себя защиту от потенциального переполнения буфера, улучшенные механизмы ведения логов в помощь средству реагирования на инциденты и расширенный синтаксический анализ URL для проверки правильности пользовательских запросов.

Чтобы препятствовать использованию переполнения буфера или кучи, которые могут быть обнаружены в будущем, Microsoft использовала принцип «глубокой защиты» во внутренней архитектуре IIS 6.0. Это было достигнуто добавлением определенных возможностей синтаксического анализа URL к набору возможностей включенных в HTTP.sys. Эти особенности в будущем могут настраиваться изменением определенных значений системного реестра. Следующая таблица проводит обзор наиболее важных ключей реестра (могут быть найдены здесь: HKLM\System\CurrentControlSet\Services\HTTP\Parameters).

AllowRestrictedChars Этот ключ принимает значение типа boolean, которое не равное нулю позволяет HTTP.sys принимать hex-коды символов в запросе URL. Значение по умолчанию — 0. Это рекомендованное значение, облегчающее задачу проверки правильности входящих данных на уровне сервера. Если ключ равен 1, злонамеренные символы могут быть закодированы в шестнадцатеричной системе счисления, в попытке обойти проверку правильности ввода.
MaxFieldLength Этот ключ позволяет администратору установить максимальный размер (в байтах) для каждого заголовка. Значение по умолчанию — 16 Кб.
MaxRequestBytes Этот ключ устанавливает максимальное значение строки запроса и заголовков. Значение по умолчанию также 16 Кб.
UrlSegmentMaxCount Этот ключ определяет максимальное количество сегментов пути URL, принимаемых сервером. Фактически это ограничивает число слешей, которые могут быть включены пользователем в запросе URL. Рекомендуется устанавливать это значение на основе глубины корневой директории веб. Значение по умолчанию — 255.
UrlSegmentMaxLength Этот ключ устанавливает максимальное количество символов в любом сегменте пути URL. Значение по умолчанию — 260.
EnableNonUTF8 Значение этого ключа определяет допустимый набор символов. Заданное по умолчание значение 1 позволяет HTTP.sys принимать ANSI- и DBCS-закодированные URL в дополнение к URL закодированным в формате UTF8.

Расширенные механизмы протоколирования

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

В дополнения к настройкам в системном реестре, администраторы IIS 6.0 могут настроить сервер на автоматическое завершение или перезапуск рабочих процессов, приложения которых неоднократно завершались с ошибкой (в течение определенного времени). Это дополнительная гарантия защиты приложения от повторяющихся ошибок, которые быть индикаторами атак. Эта возможность названа «Защита от быстрого сбоя» (Rapid-Fail Protection).

Защита от быстрого сбоя может быть настроена через IIS Manager следующим образом:

1. В IIS Manager разверните локальный компьютер.
2. Выберите Application Pools.
3. Щелкните правой кнопкой мыши на приложении.
4. Нажмите на Properties.
5. В Health поставьте галочку на Enable rapid-fail protection.
6. В поле Failures напишите допустимое количество ошибок (перед завершением процесса).
7. В поле Time Period определите количество минут, в течение которых ошибки будут накапливаться.

В предыдущих версиях IIS (5.0 и более ранние) невозможно было изолировать друг от друга веб приложения. Таким образом часто ошибка одного приложения имела каскадный эффект для других веб приложений на сервере. Однако расширение возможностей и внутренней архитектуры IIS 6.0 позволило изолировать веб приложения в отдельные модули, названные пулами приложений. Каждый пул приложения обслуживает один или более независимых рабочих процессов. Это позволяет локализовать ошибку, предотвращая сбой одного процесса от воздействия на другие. Таким образом, это повышает надежность сервера а, следовательно, и приложений, которые на нем находятся.

Принцип минимальных привилегий

IIS 6.0 придерживается фундаментального принципа защиты — принципа минимальных привилегий. Это было достигнуто путем включения всего кода, который должен выполняться с правами Local System (наивысший уровень), в HTTP.sys . Все рабочие процессы выполняются как Network Service (Сетевая служба), новый тип учетной записи в Windows 2003 с чрезвычайно ограниченными правами. Далее, IIS 6.0 позволяет использовать средства командной строки только администраторам, таким образом предотвращая использование этих средств злонамеренными эксплойтами. Такие изменение внутренней архитектуры уменьшают вероятность компрометирования сервера через потенциальную уязвимость. Кроме этих фундаментальных изменений в архитектуре, некоторые простые изменения конфигурации включают запрещение прав на запись в домашние директории веб сервера для анонимных пользователей, изоляцию FTP пользователей в их собственный домашние директории, что также увеличивает защищенность IIS 6.0 .

IIS 6.0 — шаг Microsoft в правильном направлении, помогающий организациям повысить свою безопасность. Он обеспечивает надежную и защищенную инфраструктуру для хостинга веб приложений. Улучшенная зашита в конфигурации по умолчанию — очевидный акцент к защите в процессе разработки и расширение возможностей мониторинга и протоколирования сервера IIS 6.0 . Однако, администраторы не должны получить ложное ощущение защищенности, просто перейдя на эту платформу, а объединить переход на новую платформу с созданием многократных уровней защиты. Это соответствовало бы принципу «глубокой защиты» и создало бы надежный щит от угроз подобных Code Red или Nimda.

Подписывайтесь на каналы «SecurityLab» в Telegram и Яндекс.Дзен, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.

Удалённое подключение к серверу IIS с помощью консоли управления IIS Manager

Управление серверами IIS через RDP может быть крайне утомительным, особенно, если приходится администрировать десятки таких серверов, поэтому возникает желание управлять ими через стандартную консоль управления сервером IIS. В случае использования Server Core другого выбора просто нет. В данной статье я опишу процесс настройки клиентской (Windows 10) и серверной (Windows Server 2020 Server Core) части для удалённого управления.
Настройка управления серверами IIS 8.0 (Windows Server 2012, Windows 8), 8.5 (Windows Server 2012 R2, Windows 8.1) делается так же.

Устанавливаем IIS Management Service на сервере IIS

Management Service необходим для удалённого управления сервером IIS — устанавливаем на стороне сервера IIS:

В Server Manager этот компонент называется так:

Включение удалённого управления

Если сервер IIS установлен на Windows Server c графическим интерфейсом, то включение удалённого управления можно настроить в консоли IIS Manager:

Меняем тип запуска службы WMSVC (Web Management Service) на автоматический:

Если сервер IIS установлен на Server Core, то включаем удалённое управление сначала в реестре, а потом запускаем службу WMSVC и переводим её в режим запуска авто:

Запускаем редактор реестра и переходим в раздел HKLM\SOFTWARE\Microsoft\WebManagement\Server
Меняем параметр EnableRemoteManagement c 0 на 1

Настраиваем службу Web Management Service:

Удалённое подключение

При подключении к серверу IIS с другого сервера проблем возникнуть не должно. А если необходимо подключаться с клиентской ОС, например Windows 10, то требуется дополнительная настройка.
Сначала необходимо установить саму консоль управления IIS:

Разница консолей управления в серверной ОС и клиентской ОС выглядит так:

В клиентской ОС отсутствует диалог удалённого подключения к серверу.
Для того, чтобы соответствующие диалоги появились, необходимо на Windows 10 установить IIS Manager for Remote Administration:

После установки перезапускаем консоль IIS и проверяем, появился ли диалог подключения:

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

На этом всё. После установки сервер готов к администрированию.

Установленная IIS, но получить чистую страницу и не отображается в списке Службы Windows

Я пытаюсь установить IIS на моем Windows, 8.1 ноутбук и следовал указаниям на Microsoft для установки IIS. Но когда я печатаю локальный, вместо того, чтобы получать IIS стартовой страницы, я получаю пустую страницу.

Когда я делаю Windows + R и введите services.msc, полученный список услуг, длинный, но не включает в себя Internet Information Services.

Когда я смотрю на файловой системе Windows я нахожу папку InetPub с четырьмя подпапок, в том числе Wwwroot. В папке Wwwroot это файл iisstart.htm, который должен отображаться, когда я типа в мой локальный браузер.

Я прочитал, что одна из возможных проблем является то, что, как Skype и IIS хотят использовать порт 80, и есть конфликт. Поэтому я решил попробовать изменить порт по умолчанию для IIS, но я обнаружил, что я, кажется, не имеют диспетчер IIS на моей системе. Когда я иду в Администрирование Internet Information Services Manager не входит в перечень административных инструментов.

Я добавил как модуль перенаправления HTTP, а также службы управления IIS поверх первоначальной базовой установки, описанной Microsoft. Еще не повезло получать IIS, работающий или диспетчер IIS, чтобы появиться.

Я попытался исследовать эту проблему получения IIS для работы в ОС Windows 8.1 без успеха, и я в недоумении. Предложения приветствуются!

В Панель управления -> Программы -> Программы и компоненты -> Turn Windows, или отключение компонентов -> Internet Information Services -> World Wide Web Services -> Общие функции HTTP -> Static Content.

Также убедитесь, что Расширяемость .NET 3.5 и .NET расширяемость 4,5 проверяются.

Major неудачу Майкрософт. Почему, черт возьми, они выключают самые основные функции по умолчанию. Перейти к Turn Windows , Включение или выключение (только поиск «функции»). Посмотрите в IIS, WWW, Основные функции HTTP. См прикрепленного изображения. Скриншот

Я решил пару моих проблем.

Я установил еще несколько модулей IIS: Статическое содержимое, консоль управления IIS и ошибки HTTP.

Я сейчас нахожусь в состоянии найти диспетчер IIS в списке Администрирование и может использовать диспетчер IIS.

Кроме того, когда я нажал клавишу Windows + R и напечатал в services.msc, я до сих пор не вижу Internet Information Services в списке. Тем не менее, я вижу «World Wide Web Publishing Service» в списке и показано, как работает. Страница на сайте Technet Microsoft указывает, что это связано с IIS.

Модуль Ошибки HTTP дал мне страницу ошибки, а не пустая страницы, когда я напечатал в локальном, а также, когда я напечатал LOCALHOST / имя файла. Это доказало огромную помощь, потому что страница ошибки определила проблему как проблема разрешений. Я думал, что я имел дело с вопросами разрешений, но эта страница ошибки сделала это очевидным, что у меня не было.

Когда я напечатал в локальном хосте, я получил ошибку разрешений. Когда я напечатал в LOCALHOST / iisstart.htm, я получил правильное отображение файла. Когда я создал простой .htm файл, statictest.htm, и поместил его в папку Wwwroot вместе с iisstart.htm, и напечатал LOCALHOST / statictest.htm, я получил ошибку разрешений.

Так, так как один из файлов работали и не было, я решил сравнить их разрешение. (Вы можете сделать это, используя Проводник. Щелкните правой кнопкой мыши на файле, выберите Свойства, щелкните вкладку Безопасность. Для того, чтобы внести изменения, нажмите на кнопку Изменить.) Я видел, что успешным был пользователь в списке, что неудачная один не сделал. Поэтому я добавил пользователь для файла statictest.htm в список разрешений с полным контролем. Это решило проблему для этого файла и отображается нормально.

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

Я рад сообщить, что моя установка PHP также работает, по крайней мере, если судить по тому, что функция phpinfo () показывает правильно.

Поэтому, чтобы подвести итог: если у вас возникли проблемы с получением IIS для работы в ОС Windows 8.1, попробуйте добавить несколько модулей IIS и убедитесь, что ваши права в порядке. Я думаю, что наиболее важные из них, чтобы добавить это статический контент и Ошибки HTTP. Кроме того, конечно, CGI, если вы собираетесь использовать PHP.

Илон Маск рекомендует:  Asp справочник по jscript

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

IIS (Internet Information Services)

Internet Information Services
Разработчики: Microsoft
Постоянный выпуск: 10 / 29 July 2015 года ; 4 years ago ( 2015-07-29 )
Состояние разработки: Active
Написана на: C++ (язык программирования) [1]
Операционная система: Windows NT
Локализация: Same languages as Windows
Тип ПО: Web server
Лицензия: Part of Windows NT (same license)
Веб-сайт iis .net

IIS (англ. Internet Information Services ) является Visual Basic приложением, которое располагается на веб-сервере и отвечает на запросы браузера. Приложение IIS использует HTML для представления своего пользовательского интерфейса и использует скомпилированый код Visual Basic для обработки запросов и реагирования на события в браузере. Для пользователя приложение IIS представляется рядом страниц HTML. Для разработчика приложение IIS состоит из особого типа объекта, называемого WebClass, который в свою очередь, содержит ряд ресурсов, называемых webitems. WebClass выступает в качестве центрального функционального блока приложения, обрабатывающего данные из браузера и отправляющего информацию пользователям. Разработчик описывает ряд процедур, которые определяют, каким образом WebClass отвечает на эти запросы. webitems являются HTML-страницами и другими данными, которые WebClass может отправить в браузер в ответ на запрос.

Содержание

Архитектура

Internet Information Services (IIS) 7 и выше обеспечивает архитектуру обработки запросов, которая включает в себя:

  • Служба активации процесса Windows (WAS), который позволяет сайтам использовать отличающиеся от HTTP и HTTPS протоколы.
  • Веб-движок сервера, который может быть изменен путем добавления или удаления модулей.
  • Интегрированные конвейеры обработки запросов от IIS и ASP.NET.

Компоненты

IIS содержит несколько компонентов, которые выполняют важные функции для приложений и ролей веб-сервера в Windows Server® 2008 (IIS 7.0) и Windows Server 2008 R2 (IIS 7.5). Каждый компонент имеет функции, такие как прослушивание запросов к серверу, управление процессами и чтение файлов конфигурации. Эти компоненты включают в себя обработчики протокола, такие как HTTP.sys и службы, такие как World Wide Web Publishing (служба WWW) и службы активации процесса Windows (WAS).

Internet Information Server (IIS) имеет свой собственный ASP.NET Process Engine для обработки запроса ASP.NET. Способ настройки приложения ASP.NET зависит от того, какая версия IIS приложения используется.

Internet Information Server (IIS) включает в себя набор программ для создания и администрирования веб-приложений, поисковых систем, а также поддержку для написания веб-приложений, обеспечивающих доступ к базам данных, таким как SQL Server. IIS позволяет настроить компьютер в качестве веб-сервера и предоставляет функциональные возможности для разработки и развертывания веб-приложений ASP.NET на сервере. Кроме того, возможно установить параметры безопасности для конкретного веб-сайта для конкретных пользователей и компьютера для того, чтобы защитить его от несанкционированного доступа.

По заявлениям разработчиков, IIS повышает доступность веб-сайтов и приложений при одновременном снижении системного администрирования и стоимости развертывания. IIS 7.5 поддерживает HTTP, HTTPS, FTP, FTPS, SMTP и NNTP.

Ключевые особенности

  • Встроенные расширения
    • WebDAV и FTP
    • Фильтрация запросов
    • Модули администрирования
  • Усовершенствования управления
    • Анализатор соответствия рекомендациям
    • Windows PowerShell провайдер и cmdlets
    • Ведение журнала конфигурации и трассировки
  • Улучшения хостинга приложений
    • Управляемые учетные записи служб
    • Hostable веб-ядро
    • Трассировка неудачных запросов для FastCGI
  • Улучшения .NET поддержки для Server Core

Установка

  • Нажмите кнопку Пуск и выберите Панель управления.
  • На панели управления выберите Программы, а затем Включение и отключение компонентов Windows.
  • В диалоговом окне «Компоненты Windows» нажмите Службы IIS, а затем кнопку ОК.

Конфигурирование

Настройка веб-узла по умолчанию: При установке IIS настроен для использования в качестве веб-узла по умолчанию; тем не менее может потребоваться изменить некоторые настройки. Чтобы изменить основные параметры для веб-узла и имитировать действия, которые требуются для настройки Apache в первый раз с помощью файла конфигурации:

  1. Войдите в систему на компьютере веб-сервера с правами администратора.
  2. Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
  3. Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
  4. Щелкните правой кнопкой мыши веб-узел, который необходимо настроить, на левой панели и выберите команду Свойства.
  5. Перейдите на вкладку веб-узел .
  6. В поле Описание введите описание веб-узла.
  7. Введите адрес Internet Protocol (IP) для веб-узла или оставьте значение по умолчанию все (не назначено) .
  8. Измените порт протокола управления передачей (TCP), соответствующим образом.
  9. Перейдите на вкладку Домашний каталог.
  10. Чтобы использовать папку на локальном компьютере, выберите каталог на данном компьютере и нажмите кнопку Обзор, чтобы найти папку, которую требуется использовать.
  11. Чтобы использовать папку, общий ресурс с другого компьютера в сети, выберите параметр Общая папка другого компьютера и затем введите путь или нажмите кнопку Обзор, чтобы выбрать общую папку.
  12. Нажмите кнопку Чтение предоставить доступ на чтение к папке (обязательно).
  13. Нажмите кнопку ОК, чтобы принять свойства веб-сайта.

Создание нового веб-узла:

Чтобы создать новый веб-узел на сервере Apache, необходимо настроить виртуальный узел и настроить отдельные параметры для узла. Если используются службы IIS, можно создать новый веб-узел путем перевода следующих терминов в эквивалентные термины IIS:

Apache термин Термин IIS
Корень документа Каталог домашней страницы веб-узла IIS
Имя_сервера Заголовок узла IIS
Прослушивание IIS IP-адрес и TCP-порт

Чтобы создать новый веб-узел в IIS, выполните следующие действия:

  1. Войдите в систему на компьютере веб-сервера с правами администратора.
  2. Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
  3. Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
  4. Щелкните Действие, выберите пункт Создать и выберите веб-узел.
  5. После запуска мастера создания веб-узла, нажмите кнопку Далее.
  6. Введите описание веб-узла. Это описание используется для идентификации веб-узла в диспетчере служб Интернета только для внутренних целей.
  7. Выберите IP-адрес для веб-узла. Если выбрать все (без значения), веб-узел будет доступен для всех интерфейсов и всех настроенных IP-адресов.
  8. Введите номер порта TCP, чтобы опубликовать на нем сайт.
  9. Введите имя заголовка узла (реальные имя, которое используется для доступа к этому узлу).
  10. Нажмите кнопку Далее.
  11. Введите путь к папке, которая содержит документы веб-узла, или нажмите кнопку Обзор, выберите папку и нажмите кнопку Далее.
  12. Укажите права доступа для веб-узла и нажмите кнопку Далее.
  13. Нажмите кнопку Готово.

Удаленное управление IIS в Windows Server 2020/2012 R2


Веб-сервер Internet Information Service в Windows 2020/ 2012 / R2, как и предыдущие версии IIS имеет возможность удаленного управления. Ведь управлять множеством IIS серверов из одной консоли довольно удобно, а для веб-серверов, работающих в режиме Core/Nano, это практически единственный удобный способ управления веб сервером. Однако по умолчанию функционал удаленного управления в IIS отключен и в том случае, если на другом сервере попытаться добавить удаленный сервер с запущенным IIS в консоль управления IIS (меню Connect to a Server), появится ошибка:

Установка службы управления IIS Management Service

Дело в том, что при стандартной установке IIS, служба IIS Management Service, отвечающая за его удаленное управление не устанавливается. Убедится, что данная служба отсутсвует в системе можно с помощью Powershell команды:

Как вы видите, служба Web-Mgmt-Service не установлена. Установите компонент Windows Server с помощью командлета Add-WindowsFeature , выполним с правами администратора следующую команду Powershell:

Также вы можете установить компонент Management Service из консоли Server Manager.

Затем перезапустите веб сервис IIS:
iisreset –noforce
Следующий шаг – нужно разрешить удаленные подключения в настройках веб сервера IIS. Для этого в диспетчере служб IIS в секции Management откройте появившийся пункт Management Service.

В разделе Management Service включите опцию «Enable remote connections».

Здесь же можно ограничить возможность подключения к консоли управлений веб сервера по IP адресу. Для этого запретите подключение с неизвестных клиентов (Access for unspecified clients:Deny) и укажите IP адрес / или IP подсети, с которых будет разрешено подключение. Служба удаленного подключения использует SSL сертификат, но вы можете использовать другой, если вы импортировали его в хранилище сертификатов (вы можете создать и использовать самоподписанный сертификат). Сохраните изменения.

Reg Add HKLM\Software\Microsoft\WebManagement\Server /V EnableRemoteManagement /T REG_DWORD /D 1

В этом случае придется создать правило для файервола вручную:

netsh advfirewall firewall add rule name=”Allow IIS Web Management” dir=in action=allow service=”WMSVC”

Осталось запустить службу Web Management Service:

net start wmsvc

set-service wmsvc -StartupType Automatic

sc config WMSVC start= auto

После этого удаленный веб сервер IIS возможно добавить в консоль управлений IIS Manager и управлять сервером IIS, всеми сайтами на нем так же, как и локальным веб-сервером.

Предоставление прав пользователям на удаленное управление сайтом IIS

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

В панели Actions нажмите на Allow User. Выберите учетную запись, которой нужно предоставить доступ к IIS и нажмите Ок.

Права пользователям по управлению сайтами на IIS настраиваются в секции Feature Delegation на уровне всего сервера IIS.

Вы можете задать один из трех уровней доступа пользователям для каждого функционала управления сервером IIS: Read Only, Read/Write или Not Delegated.

Удаленное управление IIS из Windows 10

Если вам нужно удалено управлять серверов IIS с клиентской рабочей станции с Windows 10 (Windows 7 или 8.1), необходимо установить консоль управления IIS: Turn Windows features on or off -> Internet Information Services -> Web Management Tools -> IIS Management Console.

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

Enable-WindowsOptionalFeature -Online -FeatureName «IIS-ManagementService»

Однако при запуске консоли IIS Manager в Windows 10 оказывается, что пункт Подключение к серверу (Connect to a server) в меню отсутствует.

Для возможности удаленного подключения к IIS в Windows 10 нужно скачать и установить компонент IIS Manager for Remote Administration (https://www.microsoft.com/en-us/download/details.aspx? >

После установки нужно перезапустить консоль диспетчера IIS и подключится к сайту. Если при подключении к IIS окажется, что версия консоли на клиенте и сервере отличается, появится уведомлении о необходимости обновить версию консоли (все необходимые файлы будут автоматически скачаны с сервера).

Теперь вы должны успешно подключиться к своему серверу IIS и удаленно управлять им со своего рабочего места.

Удаленное управление IIS и поддержка TLS 1.1/ TLS 1.2

Если на IIS вы отключили устаревших протоколов SSLv3 и TLS 1.0, оставив только TLS 1.1/ TLS 1.2 то при удаленном подключении к IIS появится ошибка:

Для исправления проблемы, необходимо на стороне клиента внести изменения в реестре, для обязательного использования протокола TLS1.2 при подключении. Настройки зависят от версии Windows.

Windows 10 и Windows Server 2020:

Windows 2012/ R2 и Windows 8/8.1:

Windows Server 2008 R2 / Windows 7:

Предварительно нужно установить обновление KB3154518 для поддержки TLS 1.2 в .NET Framework 3.5.1.

IIS 5.0 и IIS 4.0: скрытые различия

Секреты безопасного перехода на новую версию сервера Internet

В операционной системе Windows 2000 реализовано множество новых возможностей, в том числе очередная версия информационного сервера Internet — Microsoft IIS 5.0. Теперь уже не нужно разыскивать Windows NT 4.0 Option Pack, поскольку IIS 5.0 входит в состав ядра и поставляется на компакт-диске с Windows 2000.

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

Новая версия сервера существенно отличается от предыдущей. Многие отличия уже достаточно хорошо известны: новые методы аутентификации, более высокая производительность, возможность запускать приложения в режиме объединенных изолированных процессов (pooled-out-of-process). Другие особенности известны не так широко, но тем не менее и они важны.

[Прим. редакции: Out-of-process сервер — это компонент, который реализован в виде отдельной программы, содержащей объекты. Этот тип сервера всегда работает в собственном пространстве процессов и поэтому практически не зависит от каких-либо программ клиента.]

Установка

При установке IIS 4.0 пользователь должен указать, где разместить корневые каталоги Web- и FTP-сервера. Из соображений безопасности и оптимизации администраторы систем предпочитают не располагать корень Web-сервера на томе С.

Однако в процессе обычной установки Windows 2000 корневой Web-каталог IIS 5.0 размещается на С: без каких-либо указаний со стороны администратора. Единственный способ установить информационный сервер IIS 5.0 в другое место — это выполнить автоматическую (unattended) установку. Чтобы запустить такую установку, можно воспользоваться утилитой Sysocmgr, поставляемой вместе с Windows 2000, и указать место для корневого каталога Web, FTP и inetsrv (последний по умолчанию находится в каталоге c:winnt). Если после установки IIS 5.0 обнаружится, что все относящиеся к информационному серверу продукты располагаются на диске С, следует немедленно переустановить IIS 5.0 в автоматическом режиме с указанием правильного размещения корневых каталогов. Информацию об особенностях автоматической установки можно найти в одном из следующих источников:

  • в статье Microsoft «How to Change the Default Installation Paths for FTP and the Web» (http://support.microsoft.com/ support/kb/articles/q259/6/71.asp);
  • в материалах Windows 2000 Resource Kit Deployment Planning Guide;
  • в документе «Microsoft Windows 2000 Guide to Unattended Setup» (unattend.doc), в файле support oolsdeploy.cab на компакт-диске Windows 2000.

Изменения в структуре файлов и каталогов

Каталог IISHelp. Справочный каталог IIS 5.0 — IISHelp — находится в каталоге \%systemroot%winnthelpiishelp. Help-файлы предыдущей версии, IIS 4.0, расположились там же, только каталог назывался раньше iis, а не iishelp. Справочные файлы зачастую «завязаны» со всевозможными административными инструментами, мастерами (wizard) и программами, доступ к которым должен быть ограничен. По этой причине в IIS 4.0 изначально заложена некоторая угроза безопасности, поскольку общедоступным объявляется весь справочный каталог целиком, включая файлы NT Help, что отображается в виде некоторого виртуального каталога на сайте Default Web. В IIS 5.0 виртуальный каталог Help отображается на сайте Default Web в каталог iishelp, а не в родительский каталог help.

Каталог Adminscripts. Примеры административных сценариев IIS 5.0 содержатся в файлах .vbs. Они демонстрируют возможности Microsoft Active Directory Service Interfaces (ADSI), связанные с обслуживанием Web-сервера. Найти каталог сценариев Adminscripts можно в inetpub. Для IIS 4.0 аналогичные данные были размещены в каталоге Adminsam-ples по адресу: \%systemroot%system32inetsrv.

Default-документы. В процессе установки IIS 4.0 создавались сайты Default Web и Administrative Web. На сайте Default располагался документ, который отображался всякий раз при обращении к «новоиспеченному» серверу. IIS 5.0 не создает подобный документ, вместо этого формируется активная серверная страница IIS-Start.asp. Когда происходит обращение к IISStart.asp, система проверяет, локальное это обращение или удаленное. Если локальное, то IISStart.asp запускает localstart.asp. Если запрос удаленный, то выдается сообщение Under Construction. Приложение IIS-Start.asp выполняется только в том случае, когда нет ни файла de-fault.asp, ни файла default.htm. Если создать такой default-документ, то он будет использоваться вместо IIS-Start.asp в процессе запуска IIS 5.0.

Каталог IISADMPWD. Сайт Default Web IIS 4.0 содержал виртуальный каталог IISADMPWD, где хранились файлы, с помощью которых пользователи могли менять пароли своих учетных записей через Web-браузер. Если выполняется «чистая» установка IIS 5.0 (т. е. не обновление IIS 4.0, а установка «с нуля»), то выясняется, что сайт Default Web больше не содержит виртуальный каталог IISADMPWD. Однако, несмотря на это, все необходимые файлы для изменения паролей через Web-браузер на сервере присутствуют. Чтобы предоставить пользователям доступ к этим файлам, нужно следовать рекомендациям, изложенным в статье Microsoft «IISADMPWD Virtual Directory Is Not Created During Clean Install of IIS 5.0» (http://support.microsoft.com/ support/kb/articles/q269/0/82.asp). Предоставление пользователям права менять пароль через обычный Web-браузер сопряжено с определенным риском. Об этом подробнее рассказано в других статьях Microsoft — «Malformed HTR Request Returns Source Code for ASP Scripting Files» (http://support.microsoft.com/ support/kb/articles/q260/0/69.asp) и «GET on HTR File Can Cause a `Denial of Service` or Enable Directory Browsing» (http://support.microsoft.com/ support/kb/articles/q267/5/59.asp). Кроме того, в первом номере нашего журнала за 2001 г. этому посвящена статья Кена Спенсера «Изменение паролей через Internet».

Отличия в работе

Неудаляемый анонимный пользователь. Во время установки IIS 5.0 и IIS 4.0 создается учетная запись IUSR_servername. С ее помощью регистрируются анонимные соединения с Web-сервером. Из соображений безопасности администраторы IIS 4.0 зачастую удаляют или переименовывают учетную запись IUSR_servername. При попытке удалить или переименовать аналогичную запись IUSR в IIS 5.0 программа воссоздаст ее при перезагрузке сервера. Единственный «обходной маневр» — создать и использовать аналог учетной записи IUSR без префикса IUSR в ее названии. Более подробно об этом рассказано в статье Microsoft «Correction and Addendum to Internet Information Services 5.0 Release Notes» (http://support.microsoft.com/ support/kb/articles/q254/2/60.asp).

Меньшая зависимость от реестра. Одно из наиболее серьезных скрытых отличий IIS 5.0 состоит в практически полной зависимости настроек сервера от метабазы данных, а не от реестра системы. Метабаза IIS 5.0 содержит множество параметров, которые в версии IIS 4.0 хранились в разделах реестра. Этот факт не так очевиден, поскольку раздел HKEY_LOCAL_MAC-HINESystem CurrentControlSetServicesInetinfo по-прежнему присутствует в реестре и отражает определенную информацию для новой версии IIS точно так же, как это было в предыдущей версии. На самом деле такой раздел нужен только для обеспечения обратной совместимости с IIS Microsoft Management Console (MMC).

WWW Distributed Authoring and Versioning (WebDAV). WebDAV — это разработанный с целью расширения возможностей протокола HTTP функциями файлового ввода/вывода. RFC 2518 описывает стандарт WebDAV, который позволяет открывать, сохранять, переименовывать, осуществлять поиск, создавать, изменять и удалять файлы на сервере IIS 5.0 непосредственно из приложений Microsoft Office, рабочего стола Windows 2000 и браузера Microsoft Internet Explorer (IE) 5.0.

WebDAV автоматически активизируется в версии IIS 5.0, и отключить его невозможно. Сервер IIS 5.0 выполняет постоянный мониторинг всего HTTP-трафика на предмет присутствия Web-DAV-команд, в том числе связанных с собственным изобретением Microsoft — Translate header. Когда сервер распознает команду WebDAV, Web-сервер обращается к расширению Internet Server API (ISAPI) — библиотеке httpext.dll — для обработки WebDAV-запроса. Web-DAV не зависит от расширений файлового API, поэтому нельзя найти httpext.dll в ссылках приложений, запущенных на IIS 5.0. Хотя httpext.dll — это расширение ISAPI, избавиться от него не удастся.

Контроль операций файлового ввода/вывода на Web-сервер — основа системы безопасности Web, а стандарт WebDAV разрешает пользователям выполнять файловые операции; таким образом, применение Web-DAV создает потенциальную угрозу безопасности. Для предотвращения доступа к файлу с использованием стандарта WebDAV обычная фильтрация на уровне порта не помогает, поскольку обращение к файлу осуществляется через HTTP-порт (порт 80).

Илон Маск рекомендует:  Что такое код asp approot

Для того чтобы записать файлы на сервер через WebDAV, необходимо разрешение на запись для IIS 5.0 (IIS 5.0 Write). Это разрешение не привязано к определенному пользователю, и его активизация предоставляет всем пользователям право записывать файлы на Web-сервер. Так что, разрешая использовать WebDAV, администратор вынужден полностью полагаться на систему прав NTFS, чтобы проконтролировать доступ к файлам. Но право записи IIS 5.0 тем не менее не дает пользователям возможности модифицировать Active Server Pages (ASP) или другие файлы сценариев.

Экран 1. Предоставление доступа к тексту сценария.

Чтобы редактировать файлы сценариев, следует установить флажок Script source access, единственное свойство WebDAV, которое можно настраивать в IIS 5.0. На Экране 1 показана вкладка Home Directory в окне Default Web Site Properties. Когда устанавливаются флажки Script source access и Write и используется WebDAV-приложение, открывающее ASP или иной связанный с ним файл сценария, IIS 5.0 передает исходный текст ASP, вместо того чтобы выполнять код ASP, и посылает результат HTML. Флажок Script source access можно установить как на уровне всего Web-сайта, так и для отдельных страниц.

С применением WebDAV также связаны такие проблемы, как отказ в обслуживании (Denial of Service (DoS), блокировка файлов и нелегальный доступ к исходным текстам. В ответ на проявившиеся проблемы после внедрения WebDAV-программирования (в частности, команды Translate:f) Microsoft выпустила бюллетень безопасности Security Bulletin MS00-058, «Patch Available for `Specialized Header` Vul-nerability» (http://www.microsoft.com/technet/ security/bulletin/ms00-058.asp). Некоторые вопросы на ту же тему рассматриваются в статьях Microsoft «Internet Information Service May Re-turn Source of Active Server Pages File» (http://support.microsoft.com/ support/kb/articles/q256/8/88.asp) и «The Translate:f Security Hole» (http://www.4guysfromrolla.com/ webtech/0815001.shtml). Дополнительную информацию об остальных настройках системы безопасности можно найти в документации WebDAV, включенной в состав IIS 5.0.

Application mappings. Сервер IIS использует отображение приложений (application mappings) для привязки файлов с различными расширениями к тем или иным исполняемым программам. К примеру, в соответствии с алгоритмом application mappings файлы с расширением ASP перенаправляются для обработки asp.dll. При желании можно добавить новое отображение, чтобы позволить IIS воспользоваться файлами сценариев практически любого типа (Perl, Rexx или PHP).

Чтобы добраться до вкладки App Mappings в IIS 5.0 или IIS 4.0, нужно выбрать вкладку Home Directory в окне Default Web Site Properties, щелкнуть Configuration и затем App Mappings. Того же результата можно добиться путем установки произвольного виртуального каталога в качестве приложения.

Экран 2. Закладка IIS 5.0 App Mappings с разрешенными командами.

Экран 2 иллюстрирует вкладку App Mappings для IIS 5.0, а Экран 3 — для версии IIS 4.0. Стрелки, указывающие на правые колонки на том и другом экране, подчеркивают существенное различие между IIS 5.0 и IIS 4.0. Колонки озаглавлены по-разному: для IIS 5.0 — это Verbs, а для IIS 4.0 — Exclusions. По умолчанию, IIS 5.0 не разрешает использовать новые команды (verbs) в спецификации HTTP. Устанавливая связь приложение-исполняемый модуль, нужно указать команды, разрешенные системой для работы с HTTP. Сервер IIS 4.0, наоборот, по умолчанию разрешает использовать новые команды. Поэтому для IIS 4.0 нужно указать команды, запрещенные системой (исключения).

Экран 3. Закладка IIS 4.0 App Mappings с запрещенными командами.

Если проигнорировать сказанное или не заметить разницу в заголовках колонок App Mappings и указать исключенные команды (к примеру, DE-LETE и PUT), вместо разрешенных (к примеру, GET и POST) сервер возвратит сообщение об ошибке 403.1 Execute Access Forbidden («Исполнение запрещено»), сопроводив его маловразумительным дополнением: «You have attempted to execute a CGI, ISAPI or other executable program from a directory that does not allow programs to be executed.» («Попытка выполнить CGI, ISAPI или другую программу из каталога, который не предназначен для выполнения программ».) Поддавшись на это провокационное сообщение, можно никогда не отыскать причину ошибки. Система аудита здесь не поможет, так же как ничего не удастся добиться ни с помощью программы Filemon (выполняет мониторинг используемых в системе файлов, доступна по адресу: http://www.sysinternals.com), ни с помощью иной техники мониторинга, основанной на анализе разрешений NTFS (разрешения исполнять программы в данном случае). Предоставление группе Everyone права Full Control на исполняемые файлы тоже проблемы не решит.

Организация пула сокетов (Socket pooling). Когда для создания Web-сайта используется IIS 4.0, Web-сервер выделяет TCP-сокеты специально для Web-сайта. Например, если создано 20 Web-сайтов, каждый со своим IP-адресом, IIS 4.0 назначает сокет-соединение для каждого из этих 20 сайтов, и каждый из них «прослушивает» 80-й порт. В этом случае ограничиваются масштабируемость и производительность, поскольку ресурсы, занимаемые незадействованными сокетами, не могут использоваться другими сайтами.

В противоположность этому, IIS 5.0 использует пул сокетов, которые Web-сервер по умолчанию подключает ко всем сайтам, имеющим различные IP-адреса, при условии, что пул работает на один и тот же порт. При таком подходе ресурсы сервера распределяются оптимально.

Если Web-сервер имеет только один IP-адрес, то, вероятнее всего, для создания нескольких Web-сайтов на одном адресе IP используются заголовки хоста (host headers). Пул сокетов не поддерживает сайты такого типа, организация связного пула доступна только для Web-сайтов с различными IP-адресами. В оперативной документации по сайтам второго типа (основанные на анализе заголовка хоста) этот нюанс в работе IIS 5.0 описан недостаточно внятно.

В файле Readme из состава IIS 5.0 (см. статью Microsoft «Contents of Internet Information Server 5.0 Release Notes» по адресу: http://support.microsoft.com/ support/kb/articles/q250/9/79.asp) показаны скрытые различия в организации пула сокетов. Если для повышения производительности системы выполняется тонкая настройка одного из Web-сайтов, работающих на пул, это неизбежно оказывает воздействие и на все остальные Web-сайты в пуле сокетов. Отрегулировать параметры производительности Web-сайта можно на вкладке Performance в окне Default Web Site Properties, как показано на Экране 4.

Экран 4. Настройка производительности Web-узла.

Можно отключить функцию организации связного пула для IIS 5.0 для отдельно взятого сайта или сервера. Для отключения связного пула на сервере нужно набрать команду

Затем следует перезапустить IIS 5.0. Для отключения пула на индивидуальном сайте нужно набрать

где х — это номер Web-сайта. IIS 5.0 использует нумерацию, а не имена Web-сайтов, для того чтобы идентифицировать различные Web-сайты. IIS 5.0 назначает номера в той последовательности, в которой сайты создавались. С помощью программы MetaEdit 2.1 (ее можно загрузить по адресу: http://support.microsoft.com/ support/kb/articles/q232/0/68.asp) можно выяснить номера Web-сайтов, о которых идет речь. Номер Web-сайта также определяется с помощью следующей команды:

где websitename — это имя данного сайта, которое показывает Internet Service Manager (ISM). Важное замечание: команда чувствительна к регистру.

Протоколирование работы. Если в журналах IIS 5.0 или IIS 4.0 отображается неверное время, проблема может заключаться в том, что вместо локального времени сервера используется время по Гринвичу (Greenwich Mean Time, GMT). В соответствии со стандартом консорциума World Wide Web Consortium (W3C) в работе сервера IIS применяется GMT, поэтому программа, отвечающая за журнал событий, должна выполнять конвертацию GMT в локальное время. Для этого можно воспользоваться утилитой Convlog из состава Microsoft Windows Internet Information Server Resource Kit или же пакетом Windows 2000 Resource Kit.

В обеих версиях IIS время GMT используется для установки времени перехода даты и, в некоторых случаях, для именования журнальных файлов, что может оказать влияние на результаты анализа оценки трафика Web-сайта. К примеру, если сервер IIS расположен в Калифорнии в Тихоокеанской временной зоне, с восьмичасовой разницей по отношению к Гринвичу. Если сервер регистрирует записи с ежедневной дискретностью, можно сделать неверный вывод, что он закроет журнальный файл текущего дня и приступит к сбору данных следующего дня в полночь по Тихоокеанскому времени. Но поскольку IIS использует настройки GMT, журнальный файл сервера будет закрыт в четыре часа дня по Тихоокеанскому времени, и IIS присвоит ему имя, как если бы оно соответствовало трафику, накопленному за весь день. Так и есть на самом деле — дневной трафик содержится в диапазоне с четырех часов дня до следующих четырех часов дня, а не с полуночи до полуночи.

IIS 5.0 обладает новым свойством, разрешающим проблему перехода даты. В окне Properties Web-сайта нужно последовательно выбрать вкладку Web Site, Enable Logging, W3C Extended Logging Format как Active Log Format и щелкнуть Properties. На вкладке General Properties в окне Extended Logging Properties (см. Экран 5) можно установить флажок Use local time for file naming and rollover, чтобы журнальные файлы формировались с учетом перехода даты в локальной временной зоне. Но вот датировка самих записей внутри файлов по-прежнему соответствует Гринвичу. Напоминаю, что сказанное относится к IIS 5.0.

Экран 5. Настройка IIS 5.0 для использования локального времени при создании журналов.

Для версии IIS 4.0 также можно настроить использование локального времени при определении перехода даты и именовании журнальных файлов, хотя технически это несколько сложнее, чем для IIS 5.0. В соответствии с рекомендациями, изложенными в статье Microsoft «Log Files Rolled Over According to GMT, Not Local Time Zone» (http://support.microsoft.com/ support/kb/articles/q193/6/12.asp), нужно набрать следующую команду для установки ключа метабазы в соответствии с локальным временем сервера:

В этой команде w3svc — это название раздела метабазы Web-сервера, а х — номер Web-сайта, для которого устанавливается локальное время регистрации журналов. Это решение можно использовать для любого сервера NT 4.0 с установленным Service Pack 5 (SP5) или SP4. В пакете исправлений SP6 описанная проблема с переходом даты решена.

Сквозная аутентификация (pass-through authentication). При создании виртуального каталога, который отображается на сетевой диск (remote share), требуется указать имя и пароль, чтобы система предоставила доступ к сетевому диску. Каждое очередное обращение к виртуальному диску будет происходить в контексте безопасности указанного имени и пароля, если только специально не указать в настройках сервера (справедливо и для IIS 4.0, и для IIS 5.0), что можно учитывать данные зарегистрированного пользователя. Такое использование учетных данных для аутентификации при обращении к сетевому диску называется pass-through authentication («сквозная аутентификация»).

Если требуется подключить сквозную аутентификацию для сервера IIS 5.0, нужно воспользоваться методом, который, с одной стороны, поддерживает сквозную аутентификацию, а с другой — создает в метабазе соответствующую запись. Сквозными называются следующие методы аутентификации: Anonymous (пароль не указывается), Basic и Integrated Windows. При использовании метода Integrated Windows в системе, настроенной на работу по протоколу Kerberos, сквозная аутентификация также поддерживается. Но для работы по протоколу Kerberos должны выполняться определенные требования:

  • клиент: Windows 2000 + IE 5.0 или старше;
  • сервер: Windows 2000 + IIS 5.0;
  • клиент и сервер принадлежат одному домену или находятся в доменах, связанных доверительными отношениями;
  • сервер IIS 5.0 сконфигурирован для использования метода Integrated Windows;
  • и, наконец, сервер Windows 2000 и ресурс Web, к которому происходит обращение, должны иметь одинаковые имена или же нужно использовать программу Setspn (входит в состав Windows 2000 Resource Kit) для регистрации имени Web в качестве нового имени Service Principal Name.

Для редактирования метабазы можно воспользоваться файлом сценария или программой MetaEdit 2.1. Приведенный ниже ASP-код активизирует сквозную аутентификацию на IIS 5.0 для виртуального каталога Protected на сайте Default. При этом нужно указать номер Web-сайта вместо единицы (1), а также имя виртуального каталога, названного в нашем случае Protected.

Команда IISReset. Остановка и запуск IIS 4.0 — процесс весьма сложный, но перезапускать Web-сервер из-за всевозможных «подвисаний» приходится часто. Многие администраторы IIS 4.0 в штатном режиме перезапускают серверы в ночное время либо используют командные файлы для перезапуска остановленных служб.

Для решения этой проблемы разработчики Microsoft добавили в Windows 2000 команду IISReset.exe. Это утилита командной строки, которая позволяет останавливать и запускать IIS 5.0 и зависимые службы. Чтобы остановить службы Internet, следует вместо значка Services в панели управления воспользоваться командой IISReset. В документации отмечается: «You should use the (IISReset) method, and not the Windows 2000 Services snap-in, for restarting Internet services. Because several Internet services run in one process, Internet services shut down and restart differently from other Windows services.» («Для перезапуска служб Internet следует использовать метод IISReset, а не оснастку Windows 2000 Services. Поскольку некоторые службы Internet функционируют как единый процесс, остановка и перезапуск служб сервера Internet протекают иначе, чем те же операции с другими службами Windows 2000».)

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

где seconds — время в секундах.

Экран 6. Настройка Windows 2000 для запуска IISReset.

Если IIS 5.0 не отвечает, можно запустить IISReset через Windows 2000 Service Control Manager (SCM). Для активизации этой возможности следует открыть контекстное меню IIS Admin Service приложения IIS 5.0 Services, выбрать Properties и щелкнуть на вкладке Recovery (см. Экран 6). На экране приведены установки по умолчанию, но при необходимости можно описать процедуру восстановления и задать необходимые временные параметры. На Экране 6 указано, что при любом сбое (первом, втором и всех последующих) будет вызываться программа IISReset. В поле Run file описывается файл, запускаемый после каждого сбоя (в данном случае указан C:WINNTSystem32iisreset.exe). Администратор может задать различные действия после первого, второго и всех последующих сбоев, а также вызвать специально разработанную программу, которая перезапустит остальные процессы, запишет нужные сообщения в журналы событий или оповестит обслуживающий персонал. Для вывода всех параметров, перечисленных в документации на IIS 5.0 для команды IISReset, достаточно просто набрать в командной строке:

SSL-соединения и Client Access Licenses

В дискуссионной статье, затрагивающей вопросы реализации сервера IIS 5.0 («Deploying Windows 2000 with IIS 5.0 for Dot Coms: Best Practices», http://www.microsoft.com/ technet/iis/iisdtcom.asp), отмечается, что .COM-бизнес должен иметь достаточное количество клиентских лицензий (Client Access Licenses, CAL) для использования всех доступных соединений Secure Sockets Layer (SSL).

При работе с Windows 2000 необходимо, чтобы каждый зарегистрированный пользователь обладал своей лицензией (CAL), а система, в свою очередь, ограничивает число одновременно подключенных пользователей количеством лицензий, приобретенных при покупке системы. Служба Windows 2000 License Logging Service отслеживает соблюдение этих правил. Если попытаться отключить эту службу, то Windows 2000 установит максимальное число одновременных соединений равным 10.

Неизвестный для большинства администраторов систем второй счетчик — счетчик SSL-соединений — существует отдельно от счетчика пользователей, прошедших аутентификацию. Windows 2000 + SP1 ограничивает число SSL-соединений, включая анонимные, количеством клиентских лицензий — CAL. Другими словами, имея 10 CAL, можно установить 10 зарегистрированных и 10 анонимных соединений одновременно. Т. е. лимит SSL-соединений существует, и если он превышен, то выводится сообщение:

Поскольку не имеет смысла ограничивать число анонимных SSL-соединений количеством закупленных клиентских лицензий, Microsoft Product Support Services (PSS) выпустила специальную заплатку. Дополнительную информацию о поведении IIS 5.0 при превышении лимита CAL можно найти в статье Microsoft «Error Message: HTTP 403.15 — Forbidden: Client Access Licenses Exceeded» (http://support.microsoft.com/ support/kb/articles/q264/9/08.asp). Можно модифицировать реестр, чтобы помешать IIS 5.0 и службе License Logging Service препятствовать созданию SSL-сессий. В раздел реестра HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesW3SVCParameters нужно добавить параметр EnableCAL (тип REG_DWORD) и установить его значение равным 0. В статье Microsoft «What`s New in the Windows 2000 Server Licensing Model» (http://www.microsoft.com/windows2000/ guide/server/pricing/changes.asp) объясняется, что нарушения лицензионного соглашения с Microsoft не происходит, если число имеющихся лицензий CAL меньше числа анонимных SSL-соединений.

SSL и групповые символы (wildcards)

В IIS 4.0 если несколько сайтов размещаются на одном хосте или используется множество серверов одного домена (например, mysite.com), то в сертификате можно использовать групповой символ (например, *.mysite.com) для описания Common Name (CN) и присвоить этот сертификат всем сайтам или серверам. Работать с групповыми символами можно в том случае, если лицензия допускает многократное использование. К сожалению, IIS 5.0 уже не поддерживает групповые символы для описания CN. Если же Common Name сервера IIS 5.0 не соответствует DNS-имени, браузер пользователя выведет сообщение о том, что сертификат не соответствует запрашиваемому сайту. Пользователь должен будет подтвердить, что с сайтом установлены доверительные отношения.

Через некоторое время планируется выпустить заплатку для исправления этой ошибки (Windows 2000 SP1 проблему не решил). Подробнее о групповых символах CN рассказано в статье Microsoft «Accepted Wildcards Used by Server Certificates for Server Authentication» (http://support.microsoft.com/ support/kb/articles/q258/8/58.asp).

Переход к IIS 5.0

Существует еще ряд отличий между версиями IIS 4.0 и IIS 5.0, включая изменения в ASP, использование ODBC, COM+, MetaEdit, появление новых мастеров и шаблонов безопасности, изменения в настройках реестра. Большая часть изменений в IIS 5.0 существенно облегчает работу и демонстрирует способность Micro-soft извлекать уроки из неудач в реализации IIS 4.0. Я полагаю, что на версию IIS 5.0 следует перейти, как только представится такая возможность.

Но когда это произойдет, важно помнить, что существенные и не всегда явные отличия IIS 5.0 от предыдущей версии Web-сервера могут сказаться на системе безопасности, тонкой настройке и программировании сервера.

Брет Хилл — автор, инструктор и консультант по Microsoft IIS. Ведет сайт www.IISAnswers.com. Имеет сертификаты MCSE, MCT, MCP+Internet и A+/Network+. С ним можно связаться по адресу: brett@iisanswers.com.

Поделитесь материалом с коллегами и друзьями

Доступ к значениям реестра, относящимся к IIS, с помощью С# на Windows Server 2008

Я хочу прочитать по некоторым причинам конкретные значения IIS из реестра (с С#) Windows Server 2008. Мне нужен номер версии установленного IIS, и если в IIS включен режим IIS6-совместимости.

Я знаю, что HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp\ «MajorVersion» и «MinorVersion» дает мне версию IIS и HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp\Components\ «WMICompatibility» предоставляет мне информацию, если включен режим совместимости IIS6 или нет.

Проблема в том, что я не могу получить/прочитать значения в HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp\Components. Registry.GetValue возвращает значение null. Проблема в том, что на одном сервере он работает, на другом сервере он не работает.

Так что может быть проблемой? Каковы предварительные условия и что мне нужно настроить для обеспечения того, чтобы я мог читать все эти значения?

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL