Iis использование asp для управления содержимым веб узла

Содержание

Iis использование asp для управления содержимым веб узла

Добрый день уважаемые читатели и гости блога. Для меня было большим удивлением, что в Америке и в Европе, очень много хостинов используемых людьми, построены на Windows Internet Information Services, и ее доля там больше чем Linux Apache или nginx. В сегодняшнем посте я бы хотел рассказать, начинающим системным администраторам, как создавать сайты iis в Windows Server 2012 R2, точнее административную часть, так как там уже вы сами будите выбирать, будет ли это ресурс на движке Werdpress или же статический сайт, вариантов очень много.

Подготовка IIS для развертывания сайта в IIS

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

Я хочу создать отдельный сайт, пускай это будет iis.pyatilistnik.org, для этого переходим в пункт сайты и через правый клик ,выбираем пункт «Добавить веб-сайт»

Само создание сайта iis состоит из вот таких не хитрых пунктов. Во первых, вы задаете:

  • Имя сайта — у меня это iis.pyatilistnik.org
  • Указываете физический путь — это та папка в которой будет лежать контент для сайта, например, картинки, документы, html странички, если сайт с базой данных, то многое будет лежать в ней.

Далее вы производите привязку сайта к нужному ip адресу, делается это после того, как вы на своем DNS сервере создали A или Cname запись для ресурса. Так же задаем тип привязки, имеет ввиду протокол, тут их всего два обычный незащищенный http и защищенный сертификатом шифрования https, о нем я подробно говорил.

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

Пробуем запустить ваш сайт. И так, сайт в диспетчере IIS на Windows Server 2012 r2 мы создали, пробуем его запустить, для этого у вас есть в пункте управление веб-сайтом, отдельный пункт «Обзор»

Если все хорошо, то вы получите доступ к ресурсу, если же нет, то увидите запрещающее сообщение:

Тут два варианта:

  • У вас пустая папка с сайтом, попробуйте поместить в нее, хотя бы картинку, для тестирования
  • У вас просто нет прав на чтение данного каталога на уровне Windows

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

Перейдите на вкладку «Безопасность > Изменить > Добавить > Проверить имя» и через поиск найти нужную группу.

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

Открываем в браузере ваш сайт и проверяем.

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

Следующим шагом, у вас встанет вопрос какого типа будет ваш сайт и нужно ли для его настройки добавлять новые компоненты или же устанавливать сторонние, по типу PHP или MySQP для WordPress. Далее я вам советую, разобраться в вопросе проверки подлинности IIS и как она настраивается.

IIS 7.0: краткая инструкция для системного администратора. Часть 1 – пpoверка результатов установки.

Продолжаем говорить об процедуре установки веб сервера под управлением IIS 7.0 на Windows Server 2008, которая была рассмотрена в предыдущем посте.

Теперь перейдем к проверке результатов установки IIS 7.0. Самый простой вариант проверить, работает ли веб сервер, особенно – находясь за локальной консолью, это обратиться из любого веб-браузера по адресу http://localhost/. Далее, проверить с локальной и удаленной машины по IP-адресу.

При установке IIS 7.0 создается веб сайт по умолчанию, сконфигурированный на ответ при любом URL-запросе, поступившем на порт 80 любого сетевого интерфейса сервера, на котором установлен IIS 7.0. Т.е. запрос браузера типа http://localhost/ должен быть обработан как запрос к веб сайту по умолчанию. Содержимое сайта по умолчанию представляет собой 2 файла – iisstart.htm и welcome.png (который отображается в iisstart.htm), которые и будут открыты клиентом. Поэтому результат обращения к localhost будет иметь следующий вид:

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

1. Основным инструментом управления IIS 7.0 является консоль Internet Information Services (IIS) Manager, которая устанавливается по умолчанию, вместе с ролью Web Server в Windows Server 2008 (IIS Management Console, раздел Management Tools при установки модулей). После соответствующей установки консоль управления IIS 7.0 можно найти, как дочернюю запись внутри раздела Web Server (IIS) в разделе ролей Server Manager, либо как пункт в разделе Administrative Tools меню Start, либо выполнив команду inetmgr (в командной строке или через пункт Run того же меню Start).

2. При старте консоль Internet Information Services (IIS) Manager открывается с «домашней страницей», на которой в виде панелей находится информация о том, к каким веб серверам и веб сайтам подключался пользователь консоли до этого (если консоль только установлена вместе с ролью Web Server (IIS), то в консоле присутствует запись только о локальном веб сервере), также присутствуют ссылки для выбора подключения к другим серверам, веб сайтам, веб приложениям и папкам, а также ссылки на внешние ресурсы, посвященные IIS.

3. Кроме того, на домашней странице присутствует панель новостей, которые подгружаются как новостная RSS-лента с сайта www.iis.net, если администратор нажимает на ссылку Enable IIS News. Новости, кстати, очень полезные, рекомендуется включать и использовать эту информацию в повседневной работе.

4. При подключении к какому либо веб серверу IIS 7.0 консоль Internet Information Services (IIS) Manager представляет его конфигурацию, как логическую структуру – уровень самого веб сервера, чьи настройки являются глобальными и распространяются по умолчанию на все веб сайты, пулы приложений и, сообственно, веб сайты со своими настройками. Эта конфигурационная иерархия, в виде разворачивающегося дерева, начинающегося с узла с именем (или IP) веб сервера, отображается в левой панели консоли Internet Information Services (IIS) Manager.

5. Если выбрать какой-то узел в дереве конфигурации, то в центральной панель консоли Internet Information Services (IIS) Manager будут отображены в виде отдельных иконок все параметры (а также – модули или списки), соответствующие конфигурации выбранного узла, а в правой панели – набор контекстных задач и операций, которые администратор (или пользователь) может выполнить над данным узлом.

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

7. В правой панели при выборе узла веб сайта отображаются все операции, возможные для выполнения непосредственно с веб сервером (службами IIS в целом) в данном конексте – перезапуск, останов, запуск, переход к пулам приложений и сайтам.

8. Убеждаемся, что пулы приложений (Application Pools) сконфигурированы. Пулы приложений будут рассмотрены позже. Пулы являются дочерним узлом в дереве конфигурации для узла веб сайта. При установке по умолчанию создается только один пул – DefaultAppPool, в котором регистрируется одно приложение – сконфигурированный по умолчанию веб сайт, работу которого мы уже проверили. См. снимок экрана.

9. Ниже узла пулов приложений в дереве конфигурации находится узел веб сайтов (Sites), при выборе которого отображается список работающих на данном веб сервере веб сайтов. По умолчанию создается один веб сайт под названием Default Web Site с внутренним номером (ID) равным 1, «привязанный» на 80 порт всех IP-адресах всех сетевых интерфейсов к любому URL в запросе, и использующий в качестве домашнего каталога своего контента каталог с путем %SystemDrive%\inetpub\wwwroot (что при установленном Windows Server 2008 на диск C: соответствует C: \inetpub\wwwroot).

10. При выборе в левой панели консоли узла веб сайта (Default Web Site), также, как и в случае с выбором узла веб сервера, в центральной панели отображаются иконки для доступа к параметрам конфигурации различных модулей, на этот раз – конкретного веб сайта. Убеждаемся, что также, как и в случае со всем веб сервером, все необходимые модули представлены в центральной панели.

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

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

12. Выберите узел веб сервера в дереве конфигурации в левой панели консоли Internet Information Services (IIS) Manager. В центральной панели кликните на иконку Modules. В центральной панели откроется следующий полный список установленных по умолчанию модулей, представляющий из себя перечень .dll файлов.

13. Чтобы убедиться, что веб сервер будет работать только со статическими файлами (по умолчанию) или только с нужными вам расширениями – выберите снова узел веб сервера и в центральной панели кликните на иконку Handler Mappings. Откроется список «привязки» расширений вызываемых на веб сайте пользователем файлов и привязанных к данным расширениям модулям, выполняющим обработку данного вызова. Обратите внимание, что по умолчанию все файлы привязаны к модулю обработки статических файлов (т.е. запрос какого либо скриптового или исполнимого файла из домашнего каталога веб сайта не будет приводить к его исполнению на сервере, а лишь к передаче данного файла пользователю), а также к модулям документа по умолчанию и просмотра каталога. С этими модулями мы познакомимся позже.

14. И, наконец, для того, чтобы убедиться в безопасности веб сайта – проверьте параметры его аутентификации. Для этого выбираем иконку Authentication в той же центральной панели. По умолчанию никаких модулей аутентификации веб сервер (и веб сайты) не поддерживает. Т.е. все подключения для него анонимны. В чем безопасность? Это значит, что пользователям будет доступен только то содержимое домашних каталогов сайтов – файлы и подкаталоги – которые имеют NTFS разрешения для чтения «всем» (Everyone). В случае, если таких разрешений файл не имеет, пользователю будет отказано в доступе с соответствующей ошибкой 401. Если же пользователь попробует каким-то образом аутентифицироваться в процессе HTTP запроса на сервере – то поскольку никаких модулей аутентификации, кроме анонимного, на веб сервере не установлено – он снова получит соответствующую ошибку 401.

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

Итак, сервер установлен и его работоспособность проверена. Теперь достаточно поместить какой либо статический контент (файлы HTML, изображения, документы и файлы для выгрузки пользователями) в домашний каталог его сайта по умолчанию (напоминаю, что это в большинстве случаев C:\inetpub\wwwroot) – и веб сайт под управлением IIS 7.0 начнет работать. Ну, и конечно, для внешних сайтов – не забыть прописать их A-record в вашей доменной зоне на публичном DNS сервере.

В следующей части – установка IIS 7.0 в режиме командной строки, особенности работы IIS 7.0 на Server Core.

Настройка веб-сервера IIS, часть 1

Internet Information Services (IIS) это набор интернет-серверов от компании Microsoft. Основным компонентом IIS является веб-сервер, хотя этим дело не ограничивается. Последняя восьмая версия IIS поставляется со всеми редакциями Windows Server 2012 R2.

Несмотря на проприетарность IIS, доля этого набора сервисов на рынке постепенно увеличивается. В интернете можно отыскать множество сакральных споров, что же всё таки лучше — IIS, Apache или, скажем, Nginx. Не будем им уподобляться, просто скажем в каких случаях в основном используется IIS.

Самый удобный вариант использования IIS — когда всё ваше рабочее окружение (и серверная его часть тоже) работает на Windows. В таком случае Вы можете получить от IIS ряд удобных «плюшек» для работы в домене. В конце концов, ведь IIS это еще и FTP-сервер, и почтовый сервер. Интерфейс IIS довольно нагляден, что вообще свойственно Windows-среде. Ну и, конечно, IIS пригодится вам, если вы используете MS SQL.

Для включения IIS в Windows Server 2012 R2 зайдите в Диспетчер серверов.

В Диспетчере серверов найдите пункт «Добавить роли и компоненты».

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

Убедитесь, что у Вас включен CGI.

После этого в разделе Администрирование у Вас появится Диспетчер служб IIS.

Вы можете так же включить IIS в Windows 7 Профессиональная и Максимальная, а также в Windows 8. Для этого перейдите в Панель управления → Программы → Включение или отключение компонентов Windows.

Диспетчер служб представляет собой графический интерфейс управления Вашими серверами.

Справа перечислены сервера и сайты. По умолчанию на системном разделе создается папка inetpub, в которой находятся папки ftproot и wwwroot для FTP-серверов и веб-сайтов соответственно.

Установка PHP на IIS

Для установки PHP перейдите по ссылке и скачайте ZIP-архив с версией Non Thread Safe. Обозначение VC11 возле версии обозначает, что для её компиляции необходим Visual C++ Redistributable for Visual Studio 2012. Для старых версий, маркированных как VC9, требуется Visual C++ Redistributable for Visual Studio 2008 SP1.

Директорию для распаковки ZIP-архива можно выбрать по своему усмотрению. После извлечения архива создайте копию файла php.ini-production под именем php.ini в той же папке.

Файл php.ini содержит правила исполнения PHP и работы с окружением, в котором он исполняется. Есть ряд обязательных параметров, которые должны быть прописаны. Ниже список этих параметров.

extension_dir = [путь к директории расширений] — этот параметр отвечает за расположение расширений PHP. Например, C:\php\ext.

extension = xxxxx.dll — для каждого подключаемого расширения необходимо прописать такую директиву. Такие расширения будут подгружаться при старте PHP.

log_errors = On — включение лога ошибок.

error_log = [путь к файлу лога ошибок] — собственно, тут всё понятно.

cgi.force_redirect = 0 — отключение механизма защиты директорий, под IIS данный параметр должен принимать именно такое значение во избежание ошибок ядра PHP в Windows.

cgi.fix_pathinfo = 1 — включение поддержки PATH_INFO согласно спецификации CGI. IIS FastCGI использует эту настройку.

fastcgi.impersonate = 1 — включение идентификации маркеров безопасности вызывающего клиента.

fastcgi.logging = 0 — логи FastCGI в IIS необходимо отключить.

Далее в свойствах системы необходимо откорректировать переменные среды. В Windows Server 2012 R2 необходимо зайти в Панель управления, выбрать пункт Система, там Дополнительные параметры системы. На вкладке Дополнительно внизу находится кнопка Переменные среды.

Среди системных переменных находим переменную Path и в поле Значение переменной дописываем путь к каталогу PHP. В моем примере это C:\php.

Теперь нам необходимо указать в IIS как же обрабатывать php-файлы. Для этого заходим в пункт сопоставление обработчиков.

На панели действия щелкните по пункту Добавить сопоставление модуля и заполните в соответствии с тем, что видите на рисунке.

В поле исполняемого файла прописываете тот путь, куда был разархивирован PHP.

Проверим работу PHP. Для этого создаем файл index.php со следующим содержимым:

Если всё сделано правильно, то, набрав в адресной строке браузера http://localhost/index.php, Вы увидите следующую милую картинку:

Во второй части статьи поговорим о MySQL и phpMyAdmin.

Iis использование asp для управления содержимым веб узла

Установка и администрирование Microsoft Internet Information Services, IIS 6.0. [Занятие 15]
Развертывание и администрирование сети с выделенным сервером на базе Windows Server 2003
vsit, Friday 29 December 2006 — 00:00:00

[newpage=Новые возможности IIS 6.0]

Установка и администрирование Microsoft Internet Information Services, IIS 6.0.

В составе Microsoft Windows Server 2003 имеются службы, обеспечивающие поддержку со стороны сервера наиболее употребительных протоколов Интернета прикладного уровня, благодаря чему сервер Windows Server 2003 может выполнять следующие роли:

Все эти функции реализуются компонентом Internet Information Services (IIS), являющимся преемником компонента Internet Information Server, входившего в состав NT Option Pack для Windows NT 4.0.

Новые возможности IIS 6.0.

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

В следующей таблице перечислены преимущества и возможности этой версии IIS:

Надежность

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

Масштабируемость

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

количество узлов, поддерживаемых одним сервером IIS 6.0;
количество одновременно выполняемых рабочих процессов.

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

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

IIS 6.0 включает разнообразные средства и технологии безопасности для обеспечения целостности содержимого веб-узла или узла FTP, а также данных, передаваемых через узлы. Чтобы уменьшить возможность атаки системы, IIS не устанавливается по умолчанию на серверы под управлением WindowsServer 2003.

Управляемость

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

Улучшенная разработка

Семейство Windows Server 2003 предоставляет улучшенные возможности разработки благодаря интеграции ASP.NET и IIS. ASP.NET понимает большую часть кода ASP, обеспечивая расширенную функциональность для создания веб-приложений корпоративного уровня, которые могут работать как часть .NET Framework. Работа с ASP.NET позволяет использовать все преимущества общей языковой среды выполнения, в том числе безопасность типов, наследование, языковое взаимодействие и согласование версий. IIS 6.0 поддерживает последние веб-стандарты, включая XML, протокол SOAP и Интернет-протокол IPv6.0.

Совместимость приложений

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

Планирование установки IIS 6.0.

Перед установкой службы Internet Information Services выполните следующие рекомендации:

  • Если протокол TCP/IP и служебные программы связи не установлены на компьютере, необходимо сделать это перед установкой IIS.
  • Если требуется обеспечить возможность публикации в Интернете, поставщик услуг Интернета (ISP) должен сообщить IP-адрес и маску подсети для сервера, а также IP-адрес основного шлюза. Основной шлюз — это компьютер поставщика услуг Интернета, через который компьютер пользователя маршрутизирует весь поток данных Интернета.
  • Желательно также установить следующие дополнительные компоненты:

— Служба DNS (Domain Name System). Рекомендуется установить службу DNS на компьютер в интрасети. В небольшой интрасети на всех сетевых компьютерах можно использовать файл Hosts или Lmhosts. Это необязательное условие, но оно дает пользователям возможность применять понятные имена вместо IP-адресов. В Интернете веб-узлы обычно используют имена DNS. Если доменное имя узла зарегистрировано, для доступа к узлу достаточно ввести это имя в обозревателе.
— Файловая система NTFS. В целях безопасности рекомендуется форматировать все диски IIS для файловой системы NTFS.
— Microsoft FrontPage. Microsoft FrontPage позволяет создавать HTML-страницы для веб-узлов и редактировать их. Приложение FrontPage является редактором HTML с удобным графическим интерфейсом для выполнения таких задач, как вставка таблиц, рисунков и сценариев.

Безопасность служб IIS 6.0.

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

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

При установке IIS службы устанавливаются в режиме наивысшей безопасности и в заблокированном режиме. По умолчанию они обслуживают только статическое содержимое. Это означает, что такие средства, как страницы ASP, ASP.NET, служба индексирования, включая сторону сервера (SSI), протокол WebDAV и расширения сервера FrontPage не работают, если не включить их. Если не включить эти средства после установки служб IIS, они возвращают ошибку 404. Чтобы работать с динамическим содержимым и разблокировать эти средства, их следует включить из диспетчера IIS. Администраторы могут включить или выключить функциональность IIS, в зависимости от потребностей организации. Также IIS возвращает ошибку 404, если для расширения приложения не существует сопоставления.

Службы IIS 6.0 предлагают множество средств для защиты сервера приложений, в том числе:

  • механизмы проверки подлинности, включающие новую расширенную краткую проверку подлинности;
  • авторизацию URL, которая предоставляет основанную на ролях авторизацию для конкретных URL;
  • протоколы Secure Sockets Layer 3.0, которые обеспечивают безопасный способ обмена информацией;
  • выбираемый поставщик службы криптографии, который позволяет выбрать поставщика службы криптографии (CSP), удовлетворяющего потребностям пользователей.

Internet Information Services обеспечивает поддержку следующих протоколов:

Протокол HTTP (HyperText Transfer Protocol) лежит в основе WWW, которому мы обязаны стремительным ростом популярности и развитию Интернета. Этот протокол используется для доступа клиентов к статическому и динамическому содержимому web-узлов. HTTP клиент-серверный протокол, описывающий взаимодействие между HTTP-серверами (также называемыми web-серверами) и HTTP-клиентами (также называемыми web-браузерами). Протокол HTTP использует для своей работы протокол транспортного уровня TCP. Для работы web-серверов зарезервирован 80 TCP-порт.

Обслуживание протокола HTTP осуществляет Служба веб-публикаций. Внутреннее имя службы W3SVC.

Протокол HTTPS (HyperText Transfer Protocol Security) является расширением протокола HTTP. В отличие от HTTP, передающего данные в незашифрованном виде, HTTPS осуществляет шифрование данных на основе несимметричных алгоритмов шифрования. Протокол позволяет осуществлять не только шифрование данных, но и проверку подлинности обоих сторон соединения. Именно по этому этот протокол обычно используется в работе сайтов, требующих повышенного уровня защищенности при взаимодействии с пользователем. К таким сайтам можно отнести различные сайты, манипулирующие финансовой информацией, например, сайты электронных магазинов.

Протокол HTTPS также использует протокол TCP, однако для его работы зарезервирован другой TCP-порт — 443. Обслуживание протокола также осуществляет Служба веб-публикаций.

Протокол FTP (File Transfer Protocol) предназначен для передачи отдельных файлов и появился гораздо раньше HTTP. FTP — клиент-серверный протокол, обеспечивающий взаимодействие между FTP-серверами и FTP-клиентами. В настоящее время большинство web-браузеров также поддерживают работу по протоколу FTP. Протокол FTP использует для своей работы протокол транспортного уровня TCP и для его работы зарезервированы порты 20 и 21.

Обслуживание протокола FTP осуществляет Служба FTP-публикаций. Внутреннее имя службы MSFTPSVC.

Протокол SMTP (Simple Mail Transfer Protocol) является основой системы электронной почты Интернета. Этот протокол используется для передачи сообщений электронной почты от клиентов к серверам, а также между серверами. Протокол SMTP не предназначен для загрузки электронной почты — его задача обеспечить доставку электронного сообщения до сервера получателя. Протокол SMTP использует для своей работы протокол транспортного уровня TCP и для его работы зарезервирован порт 25.

Обслуживание протокола SMTP осуществляет служба Протокол Simple Mail Transport Protocol. Внутреннее имя службы SMTPSVC.

Протокол SMTP первоначально был разработан для передачи сообщений электронной почты от одного SMTP-сервера к другому, и в нем не предусмотрены средства для хранения сообщений для получателей. Поэтому SMTP-клиенты, чтобы получать электронную почту, должны быть постоянно подключены к SMTP-серверу. В противном случае сервер возвращает сообщение обратно, информируя отправителя о недостижимости получателя. Для решения этой проблемы, были разработаны другие протоколы электронной почты, допускающие хранение сообщений электронной почты до того момента, пока пользователь не подключится и не загрузит сообщения на свой компьютер.
Из таких протоколов наиболее распространены протоколы POP3 (Post Office Protocol, версия 3) и IMAP4 (Internet Message Access Protocol, версия 4). Однако службы IIS 6.0 в Windows Server 2003 не поддерживают эти протоколы, поэтому служба SMTP-сервера предназначена в первую очередь для использования сценариями и активными компонентами web-сервера, и не предназначена для работы в качестве корпоративного сервера электронной почты. Если вы хотите иметь полноценный почтовый сервер, поддерживающий протоколы SMTP/POP3/IMAP4 — установите Microsoft Exchange Server.

Протокол NNTP (Network News Transfer Protocol) является основой для используемой в Интернете системы телеконференций, или, как ее еще называют, групп новостей. Этот протокол используется как для взаимодействия между серверами телеконференций, так и между серверами и клиентами. Протокол NNTP использует для своей работы протокол транспортного уровня TCP и для него зарезервирован порт 119.

Обслуживание протокола NNTP осуществляется службой Протокол Network News Transport Protocol. Внутреннее имя службы NNTPSVC.

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

  • SSL (Secure Sockets Layer). Этот протокол применяется для шифрования данных и проверки подлинности сторон, как вспомогательный протокол для HTTPS, SMTP и NNTP. Для его работы требуется как минимум один серверный сертификат.
  • TLS (Transport Layer Security). Используется только для шифрования данных как вспомогательный протокол для HTTPS, SMTP и NNTP.
  • MIME (Multipurpose Internet Mail Extensions). Используется протоколами HTTP, SMTP и NNTP для передачи файлов разных форматов.

[newpage=Установка Internet Information Services, IIS 6.0.]

Установка Internet Information Services, IIS 6.0.

Для обеспечения безопасной работы сервера, Windows Server 2003 поставляется в конфигурации «безопасности по умолчанию». При инсталляции сервера устанавливаются только самые необходимые службы, обеспечивающие нормальную работу сервера. Такая настройка значительно повышает надежность и безопасность Windows и сводит к минимуму риск получения злоумышленником доступа к ресурсам сервера.

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

Чтобы запустить Мастер настройки сервера выберите в меню Пуск -> Администрирование -> Управление данным сервером.

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

В списке Роль сервера выберите Сервер приложений (IIS, ASP.NET) и нажмите кнопку Далее.

На следующем шаге мастера вы можете включить в установку дополнительные серверные расширения FrontPage и ASP.NET.

Установите флажок для того расширения, которое следует включить в установку:

  • Серверные расширения FrontPage позволяют нескольким пользователям с клиентского компьютера удаленно администрировать и публиковать данные на веб-узле.
  • Включить ASP.NET. Если вы собираетесь разместить на веб-узле приложения, разработанные с помощью ASP.NET, выберите это свойство (ASP.NET можно включить позднее с помощью диспетчера IIS).

После выбора дополнительных расширений нажмите кнопку Далее.

На странице Сводка выбранных параметров посмотрите и подтвердите выбранные параметры.

Для применения параметров нажмите кнопку Далее. После нажатия кнопки Далее появится, а затем автоматически закроется страница Настройка компонентов мастера компонентов Windows. На этой странице невозможно нажать кнопки Назад или Далее.

После настройки компонентов мастер отобразит страницу Данный сервер теперь является сервером приложений.

Что бы завершить работу мастера нажмите кнопку Готово.

[newpage=Администрирование служб IIS. Инструменты управления.]

Администрирование служб IIS. Инструменты управления.

Операционная система Windows Server 2003 содержит множество инструментальных средств для администрирования рассмотренных выше четырех основных служб, входящих в состав IIS.

Консоль Internet Information Services Manager

Internet Information Services Manager— это отдельная консоль, являющаяся основным средством для администрирования IIS в сетях на основе Windows Server 2003.

Обратите внимание, что сама оснастка называется Internet Information Services Manager, а ярлык, созданный в папке Администрирование для принятой по умолчанию консоли, в которой устанавливается эта папка, называется Диспетчер служб IIS.

По умолчанию, при установке службы IIS, из соображений безопасности она поддерживает лишь службу веб-публикаций (Веб-узлы), поэтому вы можете использовать консоль Internet Information Services только для создания web-узлов. Впоследствии вы сможете установить протокол Simple Mail Transport Protocol, службу FTP-публикаций и протокол Network News Transport Protocol , открыв утилиту Установка и удаление программ из панели управления и выбрав в ней Установка компонентов Windows. Затем там нужно выбрать компонент Application Server -> Internet Information Services и щелкнуть кнопку Состав, чтобы найти нужную службу.

Все необходимые для функционирования служб Internet Information Services файлы по умолчанию располагаются в папке \Inetpub. Эта папка содержит несколько важных подкаталогов, описанных в таблице ниже.

Примеры скриптов IIS для администрирования (для Windows Scripting Host)

Корневой каталог для узла FTP-узел по умолчанию

Дистанционное администрирование для службы SMTP (с использованием web-браузера)

Различные папки, используемые службой SMTP

Дистанционное администрирование для службы NNTP (с использованием web-браузера)

Различные папки, используемые службой NNTP

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

Корневой каталог для узла Веб-узел по умолчанию

Скрипты для администрирования

Чтобы исполнять в Windows Server 2003 скрипты для администрирования, вы можете пользоваться Windows Management Instrumentation (WMI) или Active Directory Service Interfaces (ADSI). При помощи этих скриптов можно решать административные задачи общего характера (например, создавать новые web-узлы и т.д.). Вы можете писать эти скрипты на Visual Basic Scripting Edition (VBScript) или на JavaScript в Active Server Pages (ASP). Примеры скриптов для администрирования вы найдете в папке \Inetpub\AdminScripts.

Рассмотрим основные понятия и задачи, относящиеся к службе веб-публикаций, на примере изучения Веб-узла по умолчанию (Default Web Site), созданного на компьютере во время установки Windows Server 2003.

Веб-узел по умолчанию.

Веб-узел по умолчанию (а также любой web-узел или сайт под управлением IIS ) с точки зрения администратора — набор образцов файлов конфигурации, размещаемых по умолчанию в локальной файловой системе сервера в C:\Inetpub\wwwroot (корневой каталог для WWW-публикаций). Однако не обязательно хранить содержимое web-узла в этой папке — содержимое можно размещать в любом каталоге сервера или в сетевом разделяемом ресурсе на каком-либо другом сервере.

Соединение с web-узлом.

Доступ к домашней странице Веб-узла по умолчанию из браузера можно получить несколькими способами:

  • Щелкните кнопку Пуск, выберите команду Выполнить, в поле ввода наберите http://127.0.0.1 и щелкните кнопку ОК.
  • Запустите Internet Explorer, наберите в адресном поле localhost и нажмите клавишу Enter.
  • В консоли Internet Information Services выберите Веб-узел по умолчанию, щелкните на нем правую кнопку мыши и выберите Обзор в контекстном меню.

Когда вы попытаетесь получить доступ с удаленного компьютер через сеть, вы увидите страницу В процессе разработки (Under Construction), но на самом деле это означает, что сайт активен и доступен. Чтобы подключиться с удаленного компьютера к web-серверу, запустите на удаленном компьютере Internet Explorer, введите в адресную строку IP-адрес или DNS-имя Web-сервера и нажмите клавишу Enter.

[newpage=Использование Мастера создания веб-узлов.]

Использование Мастера создания веб-узлов.

Веб-узел по умолчанию — это просто один небольшой пример возможного использования Службы веб-публикаций из IIS, с помощью которой вы можете создать столько web-узлов, сколько хотите, а их содержимое (страницы, картинки и другие файлы) можно размешать в самых разных местах. Каждый web-узел действует как виртуальный сервер. Для иллюстрации мы создадим новый web-узел на сервере Win2003s (IP-адрес 192.168.100.20, доменное имя Win2003s.test.fio.ru) и простую домашнюю страницу, а затем проверим его, соединившись с ним с другого компьютера в сети.

Прежде чем вы воспользуетесь Мастером создания веб-узлов, решите, какое имя в сети будет иметь этот сайт. При использовании web-браузера (например, Internet Explorer) для соединения с web-узлом и просмотра его домашней страницы вы можете задать URL сайта различными способами, например, при помощи IP-адреса, или NetBIOS-имени, или полностью определенного DNS-имени.

В нашем примере вы привяжете второй IP-адрес (192.168.100.30) сетевой интерфейсной плате сервера Win2003s и установите соответствие между вновь создаваемым web-узлом и добавляемым вами новым IP-адресом. Чтобы добавить второй IP-адрес, выполните следующие действия:

  • Нажмите кнопку Пуск, выберите меню Подключение -> Отобразить все подключения.
  • В окне Сетевые подключения щелкните правой кнопкой мыши значок Подключение по локальной сети и выберите Свойства в контекстном меню (или дважды щелкните этот значок и далее щелкните кнопку Свойства).
  • В окне Подключение по локальной сети дважды щелкните Протокол Интернета (TCP/IP).
  • В окне Свойства: Протокол Интернета (TCP/IP) щелкните кнопку Дополнительно.
  • В разделе IP-адреса диалогового окна Дополнительные параметры TCP/IP щелкните кнопку Добавить, задайте дополнительный IP-адрес и маску подсети и щелкните кнопку Добавить.
  • Закройте все диалоговые окна, нажимая кнопку ОК.

Прежде чем создать web-узел, понадобится сделать два дела. Во-первых, нужно создать на локальном сервере новый каталог для сайта (например, C:\МойУзел), в котором будет храниться содержимое нового сайта. Во-вторых, необходимо создать простую домашнюю страницу с именем Default.htm. Достаточно набрать в Блокноте и сохранить в файле Default.htm в каталоге \МойУзел следующий текст (проследив, чтобы текстовый редактор не добавил к имени файла расширение .ТХТ):

Еще проще создать простую домашнюю страницу можно в текстовом редакторе Microsoft Word. Наберите любой текст и сохраните в формате html, в файле Default в каталоге \МойУзел.

Теперь создайте новый web-узел с именем МойУзел, выполнив следующие действия:

    Запустите консоль Internet Information Services на сервере Win2003s, а затем выберите имя сервера в дереве консоли.

Консоль Internet Information Services можно запустить на любом другом сервере или рабочей станции и соединиться с компьютером Win2003s. Для этого при щелкните кнопку Действие в панели инструментов консоли IIS 6.0, выберите пункт Подключение в раскрывшемся меню. В появившемся окне Подключение к компьютеру укажите имя сервера (Win2003s).

Щелкните кнопку Действие в панели инструментов, щелкните Создать и выберите Веб-узел в раскрывающемся меню. Откроется окно Мастера создания веб-узлов. Щелкните кнопку Далее.

Чтобы задать обозначение узла, наберите название МойУзел. Это имя будет отображаться в консоли Internet Information Services и будет служить обозначением нового web-узла для администратора. Затем щелкните кнопку Далее.

В поле Введите IP-адрес для веб-узла задайте ваш второй IP-адрес в качестве IP-адреса для данного сайта, не изменяя других настроек. Затем щелкните кнопку Далее.

На следующем шаге мастера задайте путь к домашнему каталогу данного web-узла как C:\МойУзел (удобнее всего воспользоваться кнопкой Обзор). Обратите внимание, что домашний каталог вашего сайта может быть как локальным каталогом, так и сетевым разделяемым ресурсом. Флажок Разрешить к веб-узлу анонимный доступ оставьте установленным. Щелкните кнопку Далее.

Не меняйте принятые по умолчанию настройки полномочий доступа, щелкните кнопку Далее.

  • Чтобы завершить работу мастера, щелкните кнопку Готово. Новый web-узел МойУзел появится в качестве узла в окне консоли Internet Information Services под обозначением сервера Win2003s и в нем будет только одна web-страница — Default.htm.
  • Проверка нового web-узла.

    Чтобы проверить работу нового web-узла, перейдите на другой компьютер в сети, запустите браузер и введите http://192.168.100.30 в адресную строку. В окне браузера должна загрузиться страница Default.htm. Если для используемого IP-адреса определено DNS-имя, то для обращения к этому web-узлу можно вместо IP-адреса использовать это имя.

    Затем попробуйте открыть следующие URL с того же самого компьютера:

    • http://192.168.100.20
    • http://Win2003s
    • http://Win2003s.test.fio.ru (только если действует служба имен DNS).

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

    В предыдущем примере вы создали новый web-узел с именем МойУзел, содержимое которого размещено в домашнем каталоге C:\МойУзел на сервере Win2003s. Для доступа к содержимому в этом каталоге применяйте какой-либо из следующих URL:

    • http:// , где — IP-адрес, связанный с сетевым адаптером сервера, сопоставленным конкретному web-узлу.
    • http:// , где является полностью определенным доменным именем, сопоставленным на сервере имен IP-адресу нужного web-узла.

    В первом случае заданный URL сопоставляется web-содержимому, хранящемуся в домашнем каталоге сайта, что можно обозначить так:

    Но как быть, если вы хотите найти содержимое данного web-узла, размещенное в разных местах, а не только в каталоге \МойУзел сервера? Для этого можно воспользоваться так называемыми виртуальными каталогами.
    Виртуальный каталог — это способ отобразить псевдоним (часть URL) на физический каталог, содержащий дополнительные фрагменты содержимого web-узла, размещенные не в домашнем каталоге сайта.

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

    Предположим, нам нужно хранить часть содержимого web-узла в каталоге С:\SalesStuff на локальном сервере и сопоставить его виртуальному каталогу /Sales. Обратите внимание, что для виртуальных каталогов используется символ «/»(прямой слэш), а не обратный слэш «\».
    Сопоставление URL каталога будет таким:

    Обратите внимание, что с точки зрения клиента, использующего web-браузер, содержимое из /Sales отображается как подкаталог домашнего каталога web-узла МойУзел. Другими словами, это содержимое отображается как подкаталог домашнего каталога http://192.168.100.30. На самом деле это содержимое физически размещено в полностью отдельной части дерева каталогов файловой системы сервера (а вовсе не в \МойУзел\Sales, как можно было бы предположить из URL). Виртуальные каталоги, таким образом, позволяют создавать своего рода виртуальные файловые системы, определяемые URL, не несущими в себе непосредственных ссылок на фактическое место размещения содержимого на web-сайте.

    Различия между локальными и сетевыми виртуальными каталогами.

    Содержимое, сопоставляемое псевдонимам, представляющим виртуальные каталоги, можно помещать в локальные либо в сетевые (remote) виртуальные каталоги:

    • Локальные виртуальные каталоги. Содержимое размещается на локальном сервере Windows Server 2003. Это решение — самое простое, потому что тогда все содержимое web-узла размещается на локальном сервере и резервное копирование для него выполняется за одну операцию. Содержимое, соответствующее разным подразделениям вашей фирмы, можно размещать в разных каталогах сервера (для обеспечения безопасности и целостности).
    • Сетевые виртуальные каталоги. Содержимое размещается на удаленном файловом сервере сети. Это решение обычно оптимально при публикации архивов старого содержимого, уже хранящегося на сетевых файловых серверах. При этом повышается защита данных, т.к. для доступа на удаленный разделяемый ресурс необходима учетная запись пользователя (можно задать полномочия доступа, соответствующие различным учетным записям). При размещении содержимого на удаленном сервере защита данных повышается также из-за того, что разработчики содержимого имеют доступ только к файловым серверам, но не к самим web-серверам, уменьшается и нагрузка на web-сервер. Единственным недостатком будет некоторое уменьшение скорости доступа к содержимому, размещенному на удаленных файловых серверах, но это замедление доступа можно минимизировать, разместив файловые серверы в сети физически поближе к web-серверу.

    Мастер создания виртуальных каталогов.

    Давайте воспользуемся Мастером создания виртуальных каталогов и создадим сетевой виртуальный каталог для нового web-узла МойУзел. Прежде чем запустить мастер, вы должны выполнить две задачи:

    • Создайте в домене новую пользовательскую учетную запись, чтобы иметь возможность управлять доступом к разделяемым ресурсам, сопоставленным сетевым виртуальным каталогом. Вы можете дать этой пользовательской учетной записи любое желаемое имя, но сейчас используйте имя RVD, что означает «remote virtual directory» («сетевой виртуальный каталог»). Создайте эту учетную запись при помощи консоли Active Directory — Пользователи и компьютеры контроллера домена и дайте ей надежный пароль без ограничения срока действия.
    • Создайте каталог для содержимого и поместите в него страницу Default.htm. Для этого сначала создайте на сервере Win2003s каталог для содержимого, например, C:\SalesStuff. Сделайте этот каталог разделяемым по сети, используя для разделяемого ресурса предлагаемое по умолчанию имя SalesStuff, и присвойте полномочие Read только что созданной вами учетной записи RVD. Создайте новую страницу Default.htm для этого каталога или скопируйте туда предыдущую страницу Default.htm.

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

    Теперь создайте новый сетевой виртуальный каталог с именем /Sales внутри web-узла МойУзел, выполнив следующие действия:

    • Запустите консоль Internet Information Services на сервере Win2003s.
    • В дереве консоли выберите web-узел МойУзел, щелкните кнопку Действие в панели инструментов, выберите Создать, а затем — Виртуальный каталог в раскрывающемся меню. Запустится Мастер создания виртуальных каталогов. Затем щелкните кнопку Далее.

    В качестве псевдонима виртуального каталога задайте Sales. Обратите внимание, что слэш перед именем помещать не нужно. Затем щелкните кнопку Далее.

    В качестве пути к разделяемому ресурсу, сопоставляемому новому сетевому виртуальному каталогу, задайте UNC-путь \\Win2003s\SalesStuff. Вы можете также воспользоваться кнопкой Обзор, чтобы найти разделяемый ресурс в присоединенной сети. Затем щелкните кнопку Далее.

    При помощи кнопки Обзор выберите пользовательскую учетную запись RVD (учетная запись должна задаваться в форме \ в текстовом поле Имя пользователя).

  • Задайте пароль, присваиваемой данной учетной записи, щелкните кнопку Далее и подтвердите пароль.
  • Не меняйте настройки полномочий доступа.
  • Чтобы завершить работу мастера, щелкните кнопку Далее, а затем кнопку Готово.
  • Если вы теперь проверите узел МойУзел в дереве консоли Internet Information Services, то обнаружите под ним новый узел, представляющий новый виртуальный каталог.

    Попробуйте посмотреть в этом каталоге страницу Default.htm при помощи URL http://192.168.100.30/sales из web-браузера на удаленном компьютере.

    Виртуальные каталоги, физические каталоги и значки.

    Есть пара причин, из-за которых можно запутаться с виртуальными каталогами. Во-первых, для представления виртуальных каталогов в консоли IIS применяются два разных значка. Во-вторых, физические каталоги могут вести себя подобно виртуальным каталогам, если они размещены физически как подпапки домашнего каталога или другого виртуального каталога. Посмотрите на различные подузлы под узлом МойУзел в дереве консоли и обратите внимание на следующие обозначения:

    /sales

    Виртуальный каталог сконфигурирован как корень приложения, то есть как стартовый каталог для web-приложения (разработанного обычно при помощи ASP)

    /support

    Виртуальный каталог, сконфигурированный не как корень приложения. (О том, как конфигурировать и удалять корни приложений, вы узнаете в следующей главе.)

    /management

    Виртуальный каталог в данный момент по какой-то причине недоступен (быть может, физический каталог со связанным с ним содержимым был перемещен или уничтожен)

    /marketing

    Обычный каталог, являющийся подкаталогом физического каталога C:\МойУзел на локальном сервере Win2003s

    Рассмотрим концепции и задачи, связанные со службой FTP-публикаций. Установите службу FTP-публикаций, открыв утилиту Установка и удаление программ из Панели управления и выбрав в ней Установка компонентов Windows.
    В окне выбора компонентов необходимо указать Internet Information Services и щелкнуть кнопку Состав. Далее необходимо установить флажок около элемента File Transfer Protocol (FTP) Service.

    FTP-узел по умолчанию.

    Как и для службы Веб-публикаций, при установке службы FTP на сервере Windows Server 2003 будет создан новый «стандартный» узел, имеющий имя FTP-узел по умолчанию (Default FTP Site). Однако в отличие от Веб-узла по умолчанию, имеющего образцы страниц и многочисленные каталоги, FTP-узел по умолчанию совершенно пуст.

    Как и в случае Службы Веб-публикаций, при помощи IIS 6.0 вы можете создать столько FTP-узлов, сколько хотите, и размещать содержимое (страницы, рисунки и другие файлы) для этих узлов как в локальных каталогах, так и в сетевых разделяемых ресурсах. Каждый FTP-узел действует как отдельная сущность (виртуальный сервер), то есть, как если бы он работал на отдельном сервере Windows Server 2003, и ему были бы доступны все ресурсы сервера. Чтобы проиллюстрировать это, давайте создадим новый FTP-узел на сервере Win2003s, поместим тестовый файл в его домашний каталог, а затем скачаем тестовый файл с другого компьютера в сети.

    Использование Мастера создания FTP-узла.

    Как и в случае веб-узла, вы можете задать FTP-узлы различными способами — при помощи IP-адреса, имени NetBIOS или полностью определенного DNS-имени. В нашем примере пользуйтесь дополнительным IP-адресом, связанным в предыдущем разделе с сетевой платой сервера Win2003s. Вы также должны создать домашний каталог для нового FTP-узла, поэтому создайте на локальном сервере каталог C:\ftphome. Затем скопируйте туда какой-нибудь файл, например Greenstone.bmp из папки c:\windows, чтобы было, что скачать при доступе с клиента. Для создания нового FTP-узла выполните следующие действия:

    Запустите консоль Internet Information Services на сервере Win2003s, а затем выберите имя сервера в дереве консоли и выделите ветвь Узлы FTP.
    *Щелкните кнопку Действие в панели инструментов, укажите Создать и выберите FTP-узел. Запустится Мастер создания FTP-узла.

    *Щелкните кнопку Далее. В качестве имени узла введите с клавиатуры: My FTP Site. Это имя будет отображаться в консоли Internet Information Services и будет служить обозначением нового узла для администратора.

    *Щелкните кнопку Далее. Задайте ваш второй IP-адрес в качестве IP-адреса, сопоставленного данному узлу, не меняя номер порта, используемый по умолчанию.

    *Новая функция добавленная в Windows Server 2003, способна ограничить доступ пользователей к вышестоящим каталогам в иерархии. Выберите вариант, который вы хотите применить к пользователям. Каталог c:\ftphome является корневым для всех FTP-пользователей создаваемого FTP-узла. Два первых варианта используют каталог c:\ftphome, третий вариант позволяет использовать каталоги пользователей, назначенные службой Active Directory.

    *Щелкните кнопку Далее. Задайте путь к домашнему каталогу нового FTP-узла как C:\ftphome (удобнее всего воспользоваться кнопкой Обзор). Обратите внимание, что домашний каталог вашего узла может быть как локальным каталогом, так и сетевым разделяемым ресурсом.

    *Щелкните кнопку Далее. Убедитесь, что выбраны оба полномочия доступа: Чтение и Запись. При этом вы сможете и скачивать файлы с нового FTP-узла, и закачивать их на него.

    *Чтобы завершить работу мастера, щелкните кнопку Далее, а затем Готово. Новый узел My FTP Site появится в качестве узла в окне консоли Internet Information Services под обозначением сервера Win2003s.

    Заметьте, что файл Greenstone.bmp, который вы скопировали в домашний каталог, не появится в правой панели окна консоли. Этим FTP-узлы отличаются от web-узлов, у которых файлы в домашнем каталоге и в виртуальных каталогах отображаются в окне консоли.

    Проверка нового FTP-узла.

    Чтобы проверить новый FТР-узел, перейдите на другой компьютер в сети, запустите Internet Explorer и откройте URL ftp://192.168.100.30, определяющий новый FTP-узел при помощи сопоставляемого ему IP-адреса. В окне браузера вы увидите файл Greenstone.bmp , IP-адрес, с которым вы соединились, и имя пользователя (Anonymous).
    После соединения с FTP-узлом вы сможете выполнять различные действия при помощи Internet Explorer:

    • Чтобы скачать файл на ваш компьютер, щелкните правой кнопкой мыши значок файла, выберите Скопировать в папку и укажите целевую папку на своем компьютере (или в любом месте, доступном через сеть).
    • Если вы хотите поместить файл на FTP-узел (закачать его на узел), то перетащите нужный файл из Мой Компьютер на вашем локальном компьютере в окно браузера.
    • Если нужно посмотреть тип, местоположение, размер и дату изменения оригинала копируемого файла на FTP-узле, то щелкните правой кнопкой мыши значок файла и выберите Свойства.
    • Если доступ контролируется по именам пользователей, то при помощи команды Войти как в меню Файл браузера можно войти на FTP-узел в качестве другого пользователя.

    Для FTP-узлов можно создавать виртуальные каталоги, точно так же, как и для web-узлов.

    Использование Мастера создания виртуальных каталогов.

    Не имеет значения, создаете ли вы виртуальный каталог в web-узле или FTP-узле — для этого применяется один и тот же мастер. Поскольку вы недавно уже создали сетевой виртуальный каталог для web-узла Мой Узел, то для FTP-узла My FTP Site для разнообразия давайте создадим локальный виртуальный каталог (поскольку вы уже знакомы с мастером, будет дано более краткое описание действий):

    • На сервере Win2003s создайте каталог C:\uploads. Этот каталог будет использоваться как «корзина» FTP. В этот каталог пользователи могут помешать свои файлы, но они не смогут увидеть его содержимого и не смогут скачивать файлы из него.
    • Щелкните правой кнопкой мыши узел My FTP Site в дереве консоли Internet Information Services, в контекстном меню укажите Создать и выберите Виртуальный каталог.

    Щелкните кнопку Далее. В качестве псевдонима виртуального каталога введите с клавиатуры drop.

    Щелкните кнопку Далее. В качестве местоположения каталога с содержимым, сопоставляемого создаваемому виртуальному каталогу, задайте C:\uploads.

    Щелкните кнопку Далее. Измените полномочия доступа для данного каталога: разрешите запись и запретите чтение.

  • Чтобы завершить работу мастера, щелкните кнопку Далее, а затем Готово.
  • Теперь новый виртуальный каталог /drop будет виден в дереве консоли как узел под узлом My FTP Site.

    Обратите внимание, что значок для виртуальных каталогов FTP отличается от значков, применяемых для виртуальных каталогов web-узлов.

    Проверка нового виртуального каталога.

    Попробуйте осуществить доступ к новому виртуальному каталогу с удаленного компьютера, открыв виртуальный каталог /drop на сайте My FTP Site при помощи Internet Explorer, открыв URL http://192.168.100.30/drop. В диалоговом окне должно появиться такое сообщение: При открытии данной папки на сервере FTP произошла ошибка. Проверьте, есть ли у вас полномочия доступа к ней. Чтобы закрыть это сообщение об ошибке, щелкните кнопку ОК.

    Теперь попробуйте перетянуть файл из Мой Компьютер в окно браузера. На сервере Win2003s убедитесь, что перетянутый файл действительно попал в каталог \uploads сервера. Затем попробуйте обновить окно браузера. Снова должно появиться такое же сообщение об ошибке. Щелкните кнопу ОК, чтобы закрыть его. Окно браузера, которое по-прежнему открыто на виртуальном каталоге /drop, должно оставаться пустым. Это — проверка того, что анонимные пользователи могут закачивать свои файлы в виртуальный каталог, но не могут скачивать их оттуда.

    [newpage=Понятие об организации безопасности в IIS.]

    Для общего понимания системы безопасности IIS нужно понимать, что такое полномочия, как их конфигурировать и применять. В данном разделе рассмотрены разные уровни безопасности для управления доступом к содержимому web-узлов и FTP-сайтов в Windows Server 2003, а также изучается порядок их применения. Вы также научитесь быстро и легко защищать свои Web- и FTP-узлы при помощи Мастера разрешений IIS 6.0.

    Понятие об организации безопасности в IIS.

    У администраторов есть четыре способа для контроля доступа к содержимому web-узлов и FTP-узлов, хостинг которых осуществляется при помощи IIS. Эти механизмы применяются по порядку всякий раз при попытках пользователей получить доступ к имеющемуся на сервере Web- и FTP-ресурсу (файлу HTTP или другому файлу). Эта четырехступенчатая модель контроля доступа описана ниже, причем пользователь получает доступ к запрошенным ресурсам только после выполнения всех правил:

    • Разрешается ли доступ к ресурсу для IP-адреса или доменного имени, используемого пользователем? Если нет, то попытки доступа встречают отказ, и остальные правила не применяются. Ограничения на IP-адрес и доменное имя можно настраивать при помощи вкладки Безопасность каталога окна свойств web-узла, FTP-узла или виртуального или физического каталога, или (для файлов) при помощи вкладки Безопасность окна свойств файла. Заметьте, что окно свойств, о котором идет речь здесь и в следующих двух пунктах, применяется при доступе к объектам из окна консоли Internet Information Services.
    • Аутентифицирован ли пользователь? Если нет, то в доступе будет отказано, и остальные правила применяться не будут. Настройки безопасности для аутентификации можно конфигурировать при помощи вкладки Безопасность каталога окна свойств web-узла, виртуального или физического каталога, при помощи вкладки Безопасность окна свойств файла, при помощи вкладки Безопасные учетные записи окна свойств FTP-узла. Обратите внимание, что вы не сможете настроить этот уровень безопасности для виртуальных каталогов внутри FTP-узлов (его можно настраивать только для виртуальных каталогов внутри web-узлов).
    • Настроены ли разрешения IIS для доступа и для приложений так, чтобы пользователи могли иметь доступ к ресурсам? Если нет, то в доступе будет отказано, и остальные правила применяться не будут. Разрешения IIS для доступа и для приложений можно настраивать: при помощи вкладки Домашний каталог окна свойств web-узла или FTP-узла;
      — при помощи вкладки Виртуальный каталог окна свойств виртуального каталога;
      — при помощи вкладки Каталог окна свойств физического каталога;
      — при помощи вкладки Файл окна свойств файла.
    • Позволяют ли разрешения NTFS, относящиеся к ресурсу, доступ пользователей к ресурсу? Если нет, то в доступе будет отказано. Разрешения NTFS настраиваются как обычно, при помощи вкладки Безопасность окна свойств ресурса в Мой Компьютер.

    В этой четырехступенчатой модели контроля доступа шаги 2 и 4 зависимы от пользователей, а шаги 1 и 3 независимы. Другими словами, ограничения по IP-адресу и доменному имени и разрешения IIS для доступа и для приложений являются глобальными настройками, применяемыми единообразно для всех пользователей.

    Остановка, запуск и приостановка службы IIS.

    Не забывайте, что отдельные Web- и FTP-узлы, созданные при помощи IIS, на самом деле являются виртуальными серверами. Это значит, что они действуют и ведут себя, как если бы они были отдельными серверами Windows Server 2003 и имели бы доступ ко всем ресурсам сервера. Благодаря этому web-узлы многих разных фирм могут размещаться на одном и том же компьютере, работающем под управлением Windows Server 2003. Но IIS на этих компьютерах приходится иногда останавливать, запускать и приостанавливать. Например, при изменении файлов на web-узле работа этого сайта обычно приостанавливается, чтобы избежать новых соединений пользователей с сайтом, а уже подключенных пользователей отсоединить по истечении некоторого позволенного им времени. Когда вы тестируете web-приложение, разработанное при помощи ASP, вам, вероятно, понадобится остановить, а затем снова запустить узел, если в процессе тестирования приложение «зависло» или перестало отвечать на запросы. Идея состоит в том, что когда на вашем сервере работает сразу много узлов, было бы хорошо не останавливать их все из-за проблем на каком-то одном из сайтов.
    В Windows Server 2003 предусмотрена возможность, позволяющая применять Диспетчер служб IIS для остановки отдельных Web- и FTP-узлов без необходимости остановки служб WWW и FTP публикаций для всех узлов на сервере. Для приостановки (паузы), остановки и запуска узла просто выберите в дереве консоли нужный узел и выполните одно из следующих действий:

    • щелкните соответствующую кнопку управления в панели инструментов;
    • щелкните правой кнопкой мыши узел и сделайте нужный выбор в контекстном меню;
    • щелкните кнопку Действие и сделайте нужный выбор в раскрывающемся меню.

    Кроме того, вы можете запускать, останавливать и запускать снова сразу все Web- и FTP-узлы на вашем сервере, выбрав в дереве консоли Диспетчер служб IIS узел, представляющий сервер: щелкните кнопку Действие в панели инструментов, выберите Все задачи -> Перезапуск IIS в раскрывающемся меню. Вы можете подумать, что сразу все web-узлы, работающие на вашем компьютере, можно останавливать, остановив Службу Веб-публикаций при помощи узла Администрирование -> Службы в оснастке Управление компьютером. Так делать не надо. Служба IIS реализована не так, как другие службы Windows Server 2003, и не должна останавливаться и запускаться этим способом. И, наконец, если вы хотите перезапустить IIS из командной строки, то можете набрать с клавиатуры iisreset . Эту команду можно использовать и в пакетных файлах.

    Использование серверных расширений FrontPage.

    IIS 6.0 использует набор серверных динамических библиотек DLL, называемых «расширения FrontPage» (FrontPage Extensions), действующих со стороны сервера и служащих для поддержки дополнительных средств FrontPage Extensions, таких как возможность создавать навигационные панели, средства для поиска, для web-обсужений и т. д. Давайте теперь рассмотрим, как устанавливать серверные расширения FrontPage. В сетях, где разработчики пользуются данным популярным инструментальным средством для создания web — содержимого, эта задача относится к основным задачам администрирования web — сервера IIS. Вопросы создания содержимого мы не будем рассматривать, а покажем, как можно организовать работу сервера в сочетании с FrontPage Extensions.

    Разрешение использования расширений FrontPage.

    Хотя программное обеспечение, необходимое для поддержки FrontPage Extensions, уже установлено, вам все же понадобится разрешить использование расширений FrontPage на web-узлах, которыми будут пользоваться ваши разработчики содержимого FrontPage. Чтобы проиллюстрировать это, давайте возьмем web-узел МойУзел и выполним следующие действия.

      Нажмите правой кнопкой мыши на узел МойУзел в дереве консоли Диспетчер служб IIS, укажите на Все задачи и выберите Configure Server Extensions 2002 (Конфигурировать серверные расширения). В результате запустится веб-страница Install.

    Щелкните кнопку Submit, чтобы активизировать FrontPage Server Extensions 2002. Появится окно администрирования сервера Server Administration.

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

    — Set List Of Available Rights — позволяет задавать список доступных прав
    — Set Install Defaults — позволяет задать настройки по умолчанию для установки
    — Reset User Password — позволяет обновить пароль пользователя

    Выберите функцию Set List Of Available Rights, чтобы перейти к странице Rights (Права). Вы можете задействовать или отменить необходимые права, установив или сняв соответствующие флажки.

    Чтобы изменения вступили в силу нажмите кнопку Submit. После внесения изменений вернитесь к предыдущей странице.

    Выберите функцию Set Install Defaults, чтобы перейти к странице настроек по умолчанию. В разделе Mail Settings (Настройка почты) вы можете указать почтовый сервер, адрес отправителя и адрес для ответа, чтобы использовать их в средствах для электронной почты FrontPage Server Extensions 2002. В разделе Security Settings (Настройка безопасности) вы можете задавать авторские настройки, установку защищенных соединений SSL и разрешать авторам загрузку на сервер исполняемых файлов.

    Чтобы изменения вступили в силу нажмите кнопку Submit. После внесения изменений вернитесь к предыдущей странице.

    Выберите функцию Reset User Password, чтобы перейти к странице обновления пароля. Указав имя пользователя вы можете изменить действующий пароль данного пользователя на новый.

    Чтобы изменения вступили в силу нажмите кнопку Submit. После внесения изменений вернитесь к предыдущей странице.

  • После установки и настройки сервера FrontPage Extensions закройте окно обозревателя.
  • С установкой сервера FrontPage Server Extensions 2002 на вашем web-узле появится множество виртуальных и физических подкаталогов вместе с сопоставленными файлами серверных расширений. Не удаляйте эти папки и файлы, иначе это приведет к неправильной работе серверных расширений.

    [newpage=Администрирование Internet Information Services]

    Администрирование Internet Information Services.

    Настройка службы IIS и администрирование ее серверов, каталогов и файлов производится на четырех различных уровнях. Эти четыре уровня администрирования применяются к службам WWW, FTP, SMTP и NNTP:

    • Администрирование на уровне сервера -это конфигурирование настроек, применяемых глобально ко всем виртуальным серверам на сервере Windows Server 2003 с установленными службами IIS. Настойки уровня сервера наследуются всеми виртуальными серверами и их виртуальными и физическими каталогами и файлами.
    • Администрирование на уровне сайта — это конфигурирование настроек, применяемых к конкретному виртуальному серверу на компьютере с IIS, то есть настройки применяются к конкретным web-, FTP-, SMTP- и NNTP-сайтам, имеющимся на компьютере. В то время как настройки уровня сервера применяются глобально к виртуальным серверам, поддерживающим web- и FTP-сайты на компьютере, каждый из этих виртуальных серверов может иметь и свои настройки, конфигурируемые отдельно на уровне сайта.
    • Администрирование на уровне каталогов — это конфигурирование настроек, применяемых к какому-либо виртуальному (или физическому) каталогу, расположенному внутри виртуального сервера. В то время как настройки уровня сайта применяются глобально ко всем виртуальным (физическим) каталогам, размещенным внутри некоторого web-, FTP-, SMTP- или NNTP-сайта, каждый каталог может иметь и свои настройки, конфигурируемые отдельно на уровне каталога.
    • Администрирование на уровне файла — это конфигурирование настроек, применяемых к какому-либо файлу, находящемуся в виртуальном или физическом каталоге. В то время как настройки уровня каталога применяются глобально ко всем файлам, расположенным в некотором каталоге, каждый файл может иметь и свои настройки, конфигурируемые отдельно на уровне файла. Эти настройки уровня файла переопределяют настройки, сконфигурированные на уровне каталога, и являются подмножеством настроек уровня каталога.

    Примитивные задачи настройки можно выполнять при помощи мастеров, рассмотренных в предыдущей главе, таких как Мастер создания веб-узла, Мастер создания виртуального каталога и других. Для тонкой настройки различных служб IIS, нужно использовать различные окна свойств объектов IIS. К числу этих объектов относятся физические и виртуальные серверы, физические и виртуальные каталоги, а также файлы. Каждый из этих типов объектов представлен узлом в дереве Консоли Управления MMC, являющейся (при помощи установленной в ней оснастки Internet Information Services) основным инструментом для управления этими объектами и их конфигурирования.

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

    [newpage=Администрирование на уровне сервера.]

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

    Администрирование на уровне сервера позволяет выполнять следующие задачи:

    • Подключаться к компьютерам, на которых работает IIS, для администрирования.
    • Выполнять резервное копирование и восстановление конфигурации компьютера.
    • Включать глобальное ограничение пропускной способности (bandwidth throttling) для всех web- и FTP-узлов компьютера.
    • Конфигурировать различные основные свойства (master properties), применяемые глобально ко всем web- и FTP-узлам, созданным на данном компьютере.
    • Производить сжатие файлов при помощи HTTP-сжатия.
    • Конфигурировать сопоставление MIME (Multipurpose Internet Mail Extensions map).
    • Настраивать серверные расширения (если у вас установлены серверные расширения Microsoft FrontPage).

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

    Подключение к серверу IIS.

    Вы можете администрировать много серверов Windows Server 2003, на которых работает IIS, из одного окна консоли IIS. Чтобы администрировать сервер, нужно сначала соединиться с ним. Для этого выполните следующие действия:

    В дереве консоли IIS выберите корневой узел (он называется Internet Information Services).

    Щелкните кнопку Действие в панели инструментов и выберите Подключение в раскрывающемся меню. (Запомните, что в окне консоли раскрывающееся меню кнопки Действие содержит те же команды, что и контекстное меню, появляющееся при щелчке правой кнопкой мыши на любом выделенном узле.)

    В диалоговом окне Подключение к компьютеру введите имя компьютера, с которым вы хотите соединиться, и щелкните кнопку ОК. Имя компьютера можно задать любым из следующих способов:

    • при помощи имени NetBIOS (например, Win2003s);
    • при помощи IP-адреса (например, 192.168.100.20);
    • при помощи полностью определенного DNS-имени (например, Win2003s.test.fio.ru).

    Чтобы отсоединиться от сервера, выберите в дереве консоли узел, представляющий этот сервер, щелкните кнопку Действие и выберите Отключить.

    Создание резервных копий конфигураций.

    Можно сохранять настройки конфигураций компьютеров с IIS и всех их web- и FTP-сайтов в файле резервной копии конфигурации. Каждый файл с резервной копией помечен (stamped) номером версии и датой/временем создания. Вы можете создавать сколько угодно таких резервных файлов и производить восстановление из них, если желаете вернуть старое состояние настроек. Эта возможность очень полезна, т.к. вы можете изготовить «снимок» вашей конфигурации IIS перед тем, как начнете изменять на своем компьютере полномочия и другие настройки виртуальных серверов, каталогов и файлов.
    Файлы резервного копирования конфигураций вашего компьютера хранят настройки только web- и FTP-сайтов, их виртуальных и физических каталогов и их файлов. Они не сохраняют сами файлы с содержимым, то есть не сохраняют страницы HTML, картинки и скрипты, содержащиеся в web-узлах.

    Резервное копирование конфигурации сервера.

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

    • В дереве консоли выберите узел, представляющий ваш сервер.
    • Щелкните кнопку Действие и выберите Архивирование и восстановление конфигурации в раскрывающемся меню.
    • Появится диалоговое окно Архивирование и восстановление конфигурации, в котором будут показаны созданные вами или автоматически различные файлы резервного копирования, их номера версий и дата/время создания. Номера версий последовательно растут.

    Чтобы создать файл с новой резервной копией, щелкните кнопку Создать архив и задайте имя файла (достаточно осмысленное).

    Файл с резервной копией будет создан в каталоге System32\inetsrv\MetaBack. Информация в нем хранится в двоичном формате и специфична для компьютера, на котором был создан файл. Если вы переустановите Windows Server 2003 на этом компьютере, то не сможете воспользоваться старыми файлами с резервными копиями, и они не помогут вам воссоздать конфигурацию IIS.

    Восстановление конфигурации сервера.

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

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

    Настройка свойств сервера.

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

    Имя сервера, отображаемое для этого сервера в дереве консоли, может быть либо именем NetBIOS, либо IP-адресом, либо DNS-именем сервера. В этом окне вы можете конфигурировать основные свойства, разрешить изменять файл конфигурации метабазы, сконфигурировать типы MIME и сконфигурировать формат журнала веб-узла.

    Метабаза содержит конфигурацию сервера IIS, записанную в текстовый файл формата XML. Она расположена в каталоге system32\inetsrv и состоит из двух файлов Metabase.xml и MBschema.xml.

    В окне свойств сервера вы можете также сконфигурировать сопоставление MIME для этого сервера. Это сопоставление применяется в заголовках HTTP, направляемых вашим сервером IIS браузерам клиентов и объясняет клиентам, какие зарегистрированные типы файлов имеются и каковы сопоставленные им типы содержимого MIME. Например, расширение файлов .НТМ будет сопоставляться типу содержимого text/html.

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

    Для того чтобы просмотреть/настроить типы MIME щелкните кнопку Типы MIME в одноименной области окна свойств сервера.

    [newpage=Администрирование на уровне узла, каталога, файла ]

    Администрирование на уровне узла.

    Администрирование IIS на уровне узла решает существенно различные задачи в зависимости от того, с какой из четырех служб IIS вы работаете: WWW, FTP, SMTP или NNTP. Поэтому мы пока отложим подробное обсуждение задач администрирования разных видов сайтов (виртуальных серверов), а пока отметим несколько моментов, общих для всех задач администрирования на уровне сайта:

    Администрирование на уровне каталога.

    Настройки уровня каталога наследуются всеми файлами внутри каталога. Они также переопределяют настройки, сконфигурированные на уровнях сайта и сервера. Настройки уровня каталога применяются и к виртуальным, и к физическим каталогам внутри какого-либо web- или FTP-сайта.

    Свойства уровня каталога — это просто подмножество свойств уровня сайта. На самом деле основные свойства службы WWW некоторого компьютера IIS конфигурируются при помощи 9 вкладок окна Основные свойства: Веб-узел, Быстродействие, Фильтры ISAPI, Домашний каталог, Документы, Безопасность каталога, Заголовки HTTP, Специальные ошибки и Server Extensions 2002.

    И аналогично окно свойств какой-либо виртуального/физического каталога внутри web-узла содержит подмножество вкладок из окна свойств web-узла: Каталог или Виртуальный каталог (вместо Домашнего каталога), Документы, Безопасность каталога, Заголовки HTTP и Специальные ошибки.

    Список настроек, которые вы можете конфигурировать на уровне каталога:

    • Местоположение содержимого каталога (локальный каталог, сетевой разделяемый ресурс или перенаправление к URL).
    • Полномочия доступа (доступ к исходным текстам скриптов, чтение, запись, просмотр каталогов, регистрация посещений и индексирование ресурса).
    • Настройки для приложений (имя приложения, начальная точка, полномочия для исполнения и др.).
    • Стандартные документы и нижние колонтитулы документов. — Возможность анонимного доступа и контроль аутентификации. — Ограничения по IP-адресу и имени домена.
    • Безопасное соединение при помощи SSL.
    • Настройки устаревания содержимого.
    • Нестандартные заголовки HTTP.
    • Рейтинг содержимого.
    • Сопоставления MIME.
    • Нестандартные ошибки HTTP.

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

    Администрирование на уровне файла.

    Администрирование на уровне файла — это последний из четырех уровней администрирования IIS. На этом уровне вы конфигурируете свойства отдельных файлов внутри домашнего каталога web- или FTP-узла или внутри какого-либо другого каталога. Например, в то время как окно свойств службы WWW уровня каталога имеет 5 вкладок, окно свойств отдельной web-страницы или другого файла имеет только 4 вкладки: Файл, Безопасность файла, Заголовки HTTP и Специальные ошибки.

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

    [newpage=Работа с web-узлами.]

    Работа с web-узлами.

    Рассмотрим более подробно различные административные задачи уровня узла, которые можно выполнять в IIS. Мы уже кратко рассматривали диалоговое окно основных свойств для службы WWW, и вы уже знаете, что в нем имеется десять вкладок, содержащих разнообразные настройки, которые можно конфигурировать. Девять из этих десяти вкладок применяются также и на уровне узла (для администрирования отдельных web-узлов); в данном разделе мы подробно изучим эти разнообразные вкладки и их настройки. В качестве примера в данной главе мы будем конфигурировать Веб-узел по умолчанию.

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

    Каждый web-узел, размещенный на компьютере IIS, должен иметь уникальную идентификацию, чтобы клиенты-браузеры могли соединяться с ним и скачивать с него содержимое. Web-узлы можно определять при помощи трех разных параметров: IP-адреса, номера порта TCP и имени заголовка хоста.
    Идентификация web-узла задается в странице окна свойств этого web-узла с вкладкой Веб-узел. Чтобы web-узлы на одном компьютере имели уникальные идентификации, они должны отличаться друг от друга хотя бы одним из трех параметров идентификации. Рассмотрим разные способы задания идентификации web-узла и обсудим, как можно иметь несколько разных web-узлов на одном сервере.

    Настройка нескольких IP-адресов для одной сетевой платы сервера

    Вы можете сконфигурировать несколько IP-адресов для одной сетевой платы сервера или установить несколько сетевых плат, чтобы у каждой платы был свой IP-адрес. Выберите разные IP-адреса для каждого из web-узлов. Не меняйте у этих сайтов настройку порта TCP (80 — это стандартная для протокола HTTP настройка порта TCP) и не конфигурируйте имена заголовка хоста. Достоинством этого способа является то, что клиентам удобно соединяться с каждым из сайтов при помощи IP-адреса сайта в запрашиваемом ими URL (или при помощи полностью квалифицированного DNS-имени, если на сервере DNS было сконфигурировано уникальное имя хоста для каждого из IP-адресов компьютера IIS).
    К недостаткам этого способа относится то, что если на компьютере содержать много web-узлов, то им придется назначать много IP-адресов. Это не проблема для приватных интрасетей, использующих один из блоков приватных IP-адресов, таких как 10.y.z.w, 172.16-31.z.z, 192.168.z.z. Но на серверах, непосредственно подключенных к Интернету, вам придется получать нужное количество IP-адресов у вашего провайдера. Тем не менее, данный способ задания идентификации web-узла является наиболее употребительным.

    Настройка только одного IP-адреса для сетевой платы

    Задайте разные порты TCP (с номерами, большими 1023) для каждого из web-узлов, с которыми надо соединяться. Главный недостаток этого способа — то, что клиенты должны знать номера портов web-узлов, с которыми им надо соединяться. Например, если DNS-имя сервера — Win2003s.test.fio.ru, а web-узлу на этом сервере присвоен номер порта 8023, то клиенту для доступа к этому сайту придется использовать URL http://Win2003s.test.fio.ru:8023.

    Настройка одного IP-адреса с сохранением стандартного порта TCP

    При этом способе конфигурируется только один IP-адрес для сетевой платы сервера, а порт TCP остается со стандартным значением (80) для всех сайтов. Сконфигурируйте уникальное имя заголовка хоста для каждого сайта при помощи кнопки Дополнительно. Имена заголовков хоста возможны в протоколе HTTP 1.1. Имя заголовка хоста, сопоставляемое каждому из узлов, является типичным полностью квалифицированным DNS-именем, присвоенным узлу в базе данных доступного сервера DNS (или в локальном файле Hosts на клиентах).

    Когда вы открываете окно свойств для Веб-узел по умолчанию и страницу с вкладкой Веб-сайт, то IP-адрес задан как Все неназначенные. Это означает, что web-узел будет отвечать на любой IP-адpec, не назначенный специально другим web-узлам изданном компьютере. Именно поэтому данный сайт является используемым по умолчанию и единственным web-узлом на компьютере IIS, для которого возможен такой способ задания IP-адреса.

    Когда клиент запрашивает URL вроде http://vio.fio.ru , клиент передает имя заголовка хоста vio.fio.ru в заголовки запроса HTTP, передаваемые серверу. Сервер производит синтаксический разбор имени заголовка хоста, идентифицирует web-узел, с которым должен соединиться клиент, и возвращает файлы, соответствующие запросу. Недостатком этого способа является то, что клиент тоже должен поддерживать имена заголовков хоста, то есть должен уметь передавать DNS сайта в своих заголовках запроса HTTP. Имена заголовков хостов поддерживаются браузерами Microsoft Internet Explorer версий, начиная от 3 и выше. Другим недостатком использования имен заголовков хостов является то, что данный способ не работает в сочетании с соединениями SSL, потому что в этом случае сеансы HTTP подвергаются шифрованию.

    Если вы работаете со старыми браузерами, не поддерживающими имена заголовков хоста, то можете реализовать механизм, основанный на cookie-файлах, позволяющий браузерам различать web-узлы, имеющие одинаковые IP-адреса и номера порта TCP. Дополнительную информацию об этом можно найти в онлайновой документации.

    При изменении номера порта для web-узла не требуется перезагрузка сервера, чтобы изменения вступили в силу.

    Страница с вкладкой Веб-узел позволяет конфигурировать для сеансов HTTP ограничение на максимальное количество действующих одновременно соединений TCP с сервером. Вы также можете включить или отключить настройку сохранения соединений (HTTP Keep-Alives) и задать значения предельного срока сохранения для соединений (connection timeout value). Настройка HTTP Keep-Alives является средством HTTP 1.1, при помощи которого клиент может сохранять открытым соединение TCP с сервером и после скачивания файла, если с этого сервера требуется скачать еще какие-либо другие файлы. Если же клиенты начнут страдать из-за замедления работы сервера или станут часто получать сообщение об ошибке «загруженности»

    HTTP 500: Busy errors

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

    Время ожидания, задаваемое на вкладке Веб-узел, применяется к активным сеансам TCP. В TCP имеются свои собственные настройки для завершения наполовину открытых соединений TCP, вроде тех, что создаются во время DoS-атак (Denial of Service, отказ в обслуживании), когда злоумышленники пытаются «завалить» web-сервер, переполнив его сетевое соединение пакетами TCP SYN.

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

    • Общий формат файла журнала NCSA. Создает файл в кодировке ASCII с разделителями-пробелами с предопределенным набором полей.
    • Ведение журнала ODBC. Фиксированный формат ведения журнала в базе данных.
    • Расширенный формат файла журнала W3C. Это настраиваемый формат журнала используется по умолчанию; создается ASCII-файл с разделителями-пробелами, причем набор полей определяется администратором.
    • Формат файла журнала Microsoft IIS. Создается файл фиксированного формата в кодировке ASCII.

    Новые регистрационные файлы IIS могут создаваться ежечасно, ежедневно, раз в неделю или раз в месяц, либо когда существующий регистрационный файл дорастает до некоторого заданного размера. По умолчанию файлы журнала хранятся в папке \%systemroot%\System32\LogFiles, но вы можете изменить эту настройку при помощи кнопки Обзор.

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

    Вкладка Дополнительно позволяет настроить расширенные параметры журнала.

    Настройка производительности отдельных web-узлов выполняется на странице с вкладкой Быстродействие окна свойств сайта.

    В этой странице вы можете конфигурировать следующие настройки:

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

    Вкладка Фильтры ISAPI.

    Фильтры ISAPI (Internet Server Application Programming Interface) являются дополнительными динамическими DLL-библиотеками, выполняющими специфические действия при обработке клиентских запросов HTTP службой IIS. При этой вкладки вы можете задать набор фильтров ISAPI и последовательность их обработки службой IIS. Фильтры, установленные на уровне web-узла, применяются только для выбранного web-узла. Фильтры, установленные на уровне сервера, применяются ко всем web-узлам сервера.

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

    Вкладка Домашний каталог.

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

    Домашний каталог сайта задает местоположение содержимого, доступ к которому происходит при помощи URL вида

    где Имя_сайта является именем NetBIOS, IP-адресом или DNS-именем сайта, а Имя_файла — именем какой-либо страницы HTML, или файла с рисунком, или скрипта, или какого-нибудь другого файла из домашнего каталога сайта.

    Домашний каталог сайта можно задать с помощью переключателя Источник содержимого при подключении к ресурсу одним из следующих способов:

    • Как имя каталога, находящегося на локальном диске компьютера (положение Каталог данного компьютера).
    • Как UNC-путь к сетевому разделяемому ресурсу на файловом сервере (положение Общая папка другого компьютера).
    • Как перенаправление к URL, предлагающее клиенту, желающему получить доступ к содержимому, сопоставленному домашнему каталогу, соединиться с другим web-сервером, не обязательно сервером IIS (положение Постоянный адрес URL). Перенаправление может быть как временным, так и постоянным.

    Возможность перенаправлять доступ для домашнего каталога (или для любого виртуального каталога) к URL полезна, когда web-узел находится в процессе создания или когда он выключен из-за технического обслуживания или из-за обновления. IIS позволяет перенаправлять запрос к любому из файлов в домашнем каталоге к одному и тому же URL (например, к странице с объявлением «Идет техническое обслуживание. Сайт будет доступен через 15 минут») или к такому же файлу в сетевом каталоге (так можно перенаправлять клиентов к временному сайту-зеркалу). Можно также перенаправлять доступ к подкаталогу текущего домашнего каталога, если страница с объявлением о техобслуживании или зеркальное содержимое находятся на том же самом сервере.

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

    HTTP 301 Permanent Redirect

    могут действительно поменять ссылки в «Избранном» или в «Закладках». В результате, когда вы выключите перенаправление, клиенты все равно будут обращаться не к первоначальному, а к альтернативному сайту.

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

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

    • Доступ к тексту сценария. При установленном флажке пользователи могут получить доступ к исходному тексту скриптов (например, к ASP-файлам). Обратите внимание, что если вы не включите настройку Чтение или Запись, то данная настройка не будет иметь никакого действия. (При включении настройки Чтение пользователи смогут читать исходные тексты скриптов, а при включении настройки Запись — изменять скрипты.) Настройка Доступ к тексту сценария включается обычно при проектировании серверов, в которых создается содержимое. По умолчанию она выключена.
    • Чтение. Если установить этот флажок, пользователи смогут видеть содержимое каталога или файла и его свойства, такие как время создания и размер файла. По умолчанию настройка включена.
    • Запись. Если установить этот флажок, пользователи смогут изменять содержимое каталога или файла. Запись на сервер могут производить лишь те браузеры, которые поддерживают команду PUT (Поместить) протокола HTTP 1.1 (к ним относится Internet Explorer начиная с версии 4). По умолчанию настройка выключена.
    • Обзор каталогов. Если установить этот флажок, пользователи смогут видеть содержимое домашнего каталога в случаях, когда в ней нет принятой по умолчанию домашней страницы. Обычно эту настройку следует выключать (по умолчанию она выключена), чтобы скрыть структуру каталогов с содержимым от случайного просмотра пользователями, желающими войти туда, куда вы их пускать не желаете.
    • Запись в журнал. Если установить этот флажок, то, при каждом доступе клиента к любому из файлов в домашнем каталоге, в регистрационный файл будет добавляться запись. Заметьте, что, прежде чем эта настройка начнет работать, нужно установить флажок Вести журнал на странице с вкладкой Веб-узел. По умолчанию регистрация посещений домашнего каталога включена.
    • Индексация каталога. При установленном флажке Служба индексирования добавляет содержимое домашнего каталога к главному индексу. По умолчанию Служба индексирования устанавливается во время установки Windows Server 2003.

    Хотя полномочие Чтение и устанавливается для Веб-узла по умолчанию, но возможность доступа к содержимому конкретного web-узла зависит от множества условий.

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

    В качестве примера web-приложения можно привести набор ASP, работающих совместно и предоставляющих алгоритмические возможности для посетителей сайта. Настройки, которые вы можете pзадавать в области Параметры приложения:

    • Поле ввода Имя приложения. В поле задается уникальное имя приложения.
    • Исходная папка. Приложение может состоять из дерева каталогов и их содержимого. Вершина этого дерева и есть начальная точка приложения.
    • Разрешен запуск. При помощи этой настройки вы можете задать типы приложений, которые можно запускать в домашнем каталоге. Можно выбрать Ничего, Только сценарии или Сценарии и исполняемые файлы.
    • Группа приложений. Эта настройка позволяет вам выбрать группу приложений, связанных с данной домашней папкой.
    • Кнопка Настройка. Если нажать на эту кнопку, то откроется диалоговое окно Настройка приложения, в котором можно сконфигурировать опции для сопоставления приложения интерпретирующим его машинам скриптов или программам, для копирования приложений ISAPI (с целью повышения производительности); для задания сроков сеансов; для задания используемого по умолчанию языка скриптов ASP, для настроек отладки.

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

    На вкладке Документы окна свойств web-узла можно задать возможные имена файлов для стандартных документов домашнего каталога и порядок доступа к ним для браузера.

    По умолчанию задаются четыре файла в следующем порядке: Default.htm, Default.asp, index.htm и iisstart.htm. Например, если браузер пытается соединиться с Веб-узлом по умолчанию на сервере Win2003s.test.fio.ru при помощи URL http://Win2003s.test.fio.ru, то сервер сначала проверит, имеется ли в домашнем каталоге файл Default.htm. Если там есть такой файл, то он будет возвращен клиенту. Если такого файла нет, то сервер будет искать файл Default.asp. Этот процесс будет продолжаться до тех пор, пока не найдется файл или пока не закончится список документов, используемых по умолчанию. Вы можете задать дополнительные стандартные документы (например, Index.html) или убрать документы, уже имеющиеся в списке. Можно и вовсе отменить обращения к стандартным документам, в этом случае клиенты должны знать и указывать фактическое имя файла, к которому они хотят получить доступ на сервере, задавая, например, такие URL: http://Win2003s.test.fio.ru/NoDefault.htm.

    При помощи этой вкладки можно также задать имя файла нижнего колонтитула (написанного в формате HTML); нижний колонтитул должен добавляться в нижнюю часть каждого из файлов, доставляемых с сайта к клиенту. Колонтитулы позволяют дополнить нижнюю часть каждой страницы заявлением об авторских правах либо заявлением об отказе от авторских прав. Если для создания содержимого применяется FrontPage, то вы можете создавать сложные нижние колонтитулы для отображения такой информации, как дата последнего изменения файла, счетчик популярности и т. д.

    [newpage=Вкладка Безопасность каталога]

    Вкладка Безопасность каталога.

    На вкладке Безопасность каталога вы можете задать способ доступа к содержимому вашего сайта для анонимных пользователей:

    • полный,
    • ограниченный
    • через безопасные соединения HTTP.

    Анонимный доступ и проверка подлинности.

    Чтобы указать, нужна ли анонимным пользователям проверка подлинности (аутентификация) при доступе к вашему сайту, откройте диалоговое окно Методы проверки подлинности, щелкнув кнопку Изменить в области Управление доступом и проверка подлинности на вкладке Безопасность каталога. Это диалоговое окно используется для конфигурирования следующих настроек:

    • Анонимный доступ. Эта настройка определяет, разрешается ли анонимный доступ и какая при этом требуется пользовательская учетная запись. Стандартная анонимная учетная запись, созданная при установке IIS на сервере, имеет имя IUSR_ИмяСервера, где ИмяСервера является NetBIOS-именем сервера. При анонимном доступе пользователи имеют доступ к содержимому сайта при помощи своих web-браузеров и им не нужно предоставлять никаких полномочий для аутентификации. Этот метод аутентификации типичен для публичных web-узлов в Интернете. Другие методы аутентификации тем или иным способом позволяют определять пользовательские полномочия и применяются в основном для интрасетей, экстрасетей и закрытых сайтов Интернета.
    • Встроенная проверка подлинности Windows (или интегрированная аутентификация). Это новое название для настройки, которая раньше называлась Аутентификация вызов/ответ Windows NT (Windows NT Challenge/ Response Authentication), а еще раньше называлась NTLM (NT LAN Manager — Authentication). Для защиты аутентификации используется криптографический обмен без фактической передачи удостоверений через соединение. Пользователю не предлагается ввести свои удостоверения, а используются удостоверения, введенные при его текущем входе в систему. В интегрированной аутентификации Windows может также применяться аутентификация протокола Kerberos, если на сервере установлена Служба каталога Active Directory и если такая аутентификация поддерживается браузером клиента.
    • Краткая проверка для серверов доменов Windows. Этот новый метод аутентификации определен в спецификациях HTTP 1.1. Он поддерживается IIS 6.0 и может работать через брандмауэры и прокси-серверы. При этом методе через соединения передаются не сами удостоверения (credentials) пользователя, а хэш (hash) сообщения. Информация передается в незашифрованном виде, но она перемешана, поэтому ее декодирование существенно затруднено, что и обеспечивает защиту. Однако контроллеру домена, к которому поступает запрос на аутентификацию, требуется копия пользовательского пароля в виде открытого текста, поэтому необходимы дополнительные меры по защите контроллера домена.
    • Обычная. При использовании обычной (базисной) аутентификации клиент вводит свои удостоверения (credentials) в диалоговом окне, после чего удостоверения передаются через сетевое соединение без шифрования. Обычная аутентификация определяется первоначальными спецификациями протокола HTTP 1 и поддерживается почти всеми типами web-браузеров, в том числе самыми старыми. Если пользователи, посещающие ваш сайт, применяют старые браузеры, неспособные аутентифицироваться при помощи других методов, вам придется применять на своем сайте базисную аутентификацию, несмотря на уязвимость, присущую этому методу.
    • Проверка подлинности в системе .NET Passport. Данный метод использует технологию Microsoft Passport для аутентификации пользователей.

    Встроенная проверка подлинности Windows спроектирована для работы в основном в интрасетях и других внутренних сетях. Она не будет работать через прокси-соединения HTTP.

    Комбинирование различных способов проверки подлинности

    Рассмотрим последствия выбора более чем одного способа проверки подлинности (метода аутентификации) в диалоговом окне Методы проверки подлинности. Если вы выбрали сразу Анонимный доступ и какую-либо разновидность доступа с аутентификацией, например, Обычная, то сначала производится попытка анонимного доступа. При неудаче делается попытка доступа с аутентификацией. Неудача анонимного доступа может произойти, например, если полномочия NTFS для доступа к ресурсу явно запрещают доступ анонимных пользователей.

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

    Ограничения IP-адресов и имен доменов.

    На вкладке Безопасность каталога вы можете также ограничить доступ клиентов к web-узлу в зависимости от их IP-адреса или доменного DNS-имени.

    Ниже показано диалоговое окно Ограничение IP-адресов и имен доменов, доступ к которому производится из страницы с вкладкой Безопасность каталога.

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

    • задать IP-адрес некоторого клиента;
    • задать идентификатор сети и маску подсети, представляющую диапазон IP-адресов;
    • задать DNS-имя некоторого домена.

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

    На вкладке Безопасность каталога (область Безопасные подключения) вы можете также разрешить использование соединений HTTP, защищенных при помощи протокола SSL, который применяется для шифрования web-трафика между клиентом и сервером. Шифрование при помощи SSL важно, если вы планируете использовать сервер для исполнения web-приложений, связанных с финансовыми операциями, или для хранения важной информации. Web-браузеры осуществляют доступ к защищенным серверам при помощи SSL, применяя URL, начинающиеся с https://, а не с http://.
    Протокол SSL основан на криптографии с открытым ключом, в которой идентификация и доверие к серверам (и клиентам) основываются на парах открытый/личный ключ, используемых для шифрования и расшифровки сообщений, что гарантирует защищенность и целостность передаваемой информации (другими словами, вы можете быть уверены, что сообщения приходят именно от тех, кто говорит, что послал их).
    Если вы хотите организовать работу с защищенными соединениями, нужно сначала установить доступ к сертификационному центру, способному выдать вашему серверу IIS необходимые ему сертификат сервера и пару ключей (открытый и личный). Для этого вы можете:

    • Воспользоваться доверяемым публичным сертификационным центром (например, VeriSign) и получить сертификат и пару ключей. Это решение подходит, если вы собираетесь использовать защищенные соединения для публичного сайта Интернета, размещенного на вашем сервере, или
    • Установить Службу сертификации на одном или нескольких серверах Windows Server 2003 вашего предприятия и завести свой собственный сертификационный центр. Это решение оптимально для организации защищенных соединений с сайтом приватной внутренней сети (интрасети), поддерживаемым вашим сервером.

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

    Чтобы получить сертификат сервера, выполните описанные ниже действия. В нашем примере запрашивается сертификат сервера для Веб-узла по умолчанию на сервере Win2003s.test.fio.ru, а Служба сертификации работает на контроллере домена dc1. fio.ru. Сертификационный центр для нашего предприятия fio.ru будет иметь имя Fio.

      В странице окна свойств Веб-узла по умолчанию с вкладкой Безопасность каталога щелкните кнопку Сертификат. Запустится Мастер сертификатов веб-сервера.

    Щелкните кнопку Далее. Выберите Создание нового сертификата.

    Щелкните кнопку Далее. Если вы хотите «подать на рассмотрение» файл запроса публичному сертификационному центру, то выберите Подготовить запрос сейчас, чтобы отправить его позднее. В этом случае позднее вам нужно будет установить или присоединить на вашем сервере сертификат, который вы получите от сертификационного центра. А если вы хотите сразу сделать запрос, получить и присоединить сертификат, подав запрос непосредственно в сертификационный центр своего предприятия, то выберите Немедленно отправить запрос в локальную службу сертификации. Сейчас выберите второй вариант.

    Щелкните кнопку Далее. Задайте понятное имя для сертификата (в нашем примере — Веб-узел по умолчанию) и длину в битах, определяющую силу шифровального ключа (512 или 1024 бит).

    Щелкните кнопку Далее. Задайте в вашем сертификате название организации и имя организационной единицы. Затем щелкните кнопку Далее.

    Задайте обычное имя вашего сайта. Если ваш сайт является публичным сайтом Интернета, то используйте полностью квалифицированное DNS-имя сайта. Если сайт используется внутри офисной сети, достаточно указать NetBIOS-имя компьютера. В нашем примере в качестве обычного имени Веб-узла по умолчанию мы используем Win2003s.

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

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

    Затем щелкните кнопку Далее.

    Подтвердите введенную информацию и щелкните кнопку Далее.

  • После нажатия кнопки Готово мастер закончит свою работу.
  • Как только сертификат сервера будет установлен на вашем web-узле, вы сможете посмотреть информацию о нем, для чего нужно щелкнуть кнопку Просмотр на вкладке Безопасность каталога.

    Для завершения подключения протокола SSL для сайта Веб-узел по умолчанию на сервере Win2003s.test.fio.ru выполните следующие действия:

    • Перейдите на вкладку Веб-узел окна свойств узла Веб-узел по умолчанию и убедитесь, что в качестве порта SSL задан порт 443 (используемый SSL по умолчанию). (При помощи кнопки Дополнительно вы можете сконфигурировать и другие параметры идентификации SSL для сайта)
    • Снова перейдите к странице с вкладкой Безопасность каталога и щелкните кнопку Изменить, находящуюся в области Безопасные подключения. Откроется диалоговое окно Безопасные подключения.
  • Установите флажок Требуется безопасный канал (SSL) и щелкните кнопку ОК, чтобы завершить конфигурирование SSL для сайта Веб-узел по умолчанию (Другие настройки, имеющиеся в этом диалоговом окне, обсуждаются в разделе «Настройка защищенных соединений»). Для применения настроек снова щелкните кнопку ОК.
  • Проверьте защищенные соединения: в Internet Explorer откройте URL http://Win2003s.test.fio.ru. В дереве консоли IIS выберите Веб-узел по умолчанию, щелкните кнопку Действие и выберите Обзор в раскрывающемся меню.
  • Internet Explorer попытается открыть домашнюю страницу http://Win2003s.test.fio.ru, принятую по умолчанию, но в результате появится сообщение «The page must be viewed over a secure channel» («Эта страница должна просматриваться через защищенный канал»). Введите измененный URL — https://Win2003s.test.fio.ru.
  • Может появиться диалоговое окно, сообщающее, что вы сейчас увидите страницы через защищенное соединение.
  • Если окно появится, то щелкните кнопку ОК. Должна открыться домашняя страница Default.htm.
  • Настройка безопасных подключений

    Безопасные подключения можно использовать не только для того, чтобы включить SSL с использованием сертификата сервера, установленного на компьютере с IIS, но и чтобы:

    • Указать, что соединения SSL будут использовать сильное 128-битное шифрование
    • Указать, каким способом следует обрабатывать сертификаты клиентов. Клиентские сертификаты удостоверяют идентичность клиентов и обычно используются дистанционными пользователями, нуждающимися в защищенном доступе к корпоративной внутренней сети через незащищенные соединения Интернета. Вы можете задать игнорирование, принятие или необходимость клиентских сертификатов для соединений SSL.
    • Включить отображение клиентских сертификатов. Эта возможность позволяет администраторам создать отображение между пользовательскими учетными записями Windows Server 2003 и клиентскими сертификатами, благодаря чему пользователи, имеющие соответствующие клиентские сертификаты, смогут автоматически аутентифицироваться и входить в сеть.
    • Включить список доверенных сертификатов. Список доверенных сертификатов — это принятый список сертификационных центров, которые рассматриваются данным web-узлом как надежные. Списки доверенных сертификатов создаются при помощи Мастера списков доверия сертификатов, для запуска которого нужно щелкнуть кнопку Создать в нижней части диалогового окна Безопасные подключения.

    [newpage=Вкладка Заголовки HTTP]

    Вкладка Заголовки HTTP.

    На вкладке Заголовки HTTP окна свойств web-узла вы можете:

    • задействовать работу с истечением срока годности содержимого (content expiration) для данного сайта;
    • задать нестандартные заголовки HTTP, возвращаемые сервером клиентам в ответ на запросы HTTP;
    • включить и задать рейтинги содержимого Консультативного Совета по развлекательному программному обеспечению (RSAC, Recreational Software Advisory Council);
    • задать дополнительное сопоставление MIME для данного web-узла.

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

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

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

    Специальные заголовки HTTP

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

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

    Глобальное сопоставление MIME для сервера IIS обсуждалось в разделе, посвященном администрированию на уровне сервера. При администрировании на уровне сайта вы можете задать дополнительное сопоставление MIME, относящееся к конкретному web-узлу.

    Вкладка Специальные ошибки.

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

    Эти трехзначные числа называются кодами статуса HTTP и классифицируются на несколько категорий:

    1. от 200 до 299. Произошла успешная транзакция HTTP. (Самый обычный код статуса — 200 ОК).

    2. от 300 до 399. Произошло перенаправление к другому URL.

    3. от 400 до 499. Произошла ошибка. Вот примеры ошибок:

    • 400 Bad Request (Плохой запрос). Сервер не может понять синтаксис запроса.
    • 401 Unauthorized (Нет авторизации). Удостоверения пользователя не позволяют ему войти в систему на сервер.
    • 403 Forbidden (Запрещено). По какой-то причине, отличной от удостоверений для входа, доступ запрещен (например, для данного клиента применено ограничение по IP-адресу или для доступа к этому серверу необходимо использовать SSL).
    • 404 File Not Found (Файл не найден). Файл, к которому производится попытки доступа, не существует на сервере (или перемещен в другое место, или переименован).
    • от 500 до 599. Произошла ошибка сервера или запрашиваемая функциональная возможность не реализована.

    IIS сконфигурирована так, чтобы возвращались не коды статуса HTTP (от 400 до 499) с краткими сообщениями, а созданные заранее страницы HTML, содержащие более подробную информацию. Эти «файлы ошибок» находятся на сервере в папке \%systemroot%\help\iishelp\common и вы, если хотите, можете их изменять. А можно поступить по-другому: выбрать один из этих «файлов ошибок» в странице с вкладкой Специальные ошибки и щелкнуть кнопку Изменить. Теперь вы можете задать, чтобы при возникновении ошибок сервер возвращал либо стандартные коды статуса и сообщения HTTP, либо любой предназначенный для этого файл, расположенный или в локальной папке, или в сетевом разделяемом ресурсе. В файлы с сообщениями об ошибках можно, например, поместить какие-либо элементы, помогающие клиентам найти нужную им страницу. B IIS применяются более подробные сообщения об ошибках, нежели предусмотренные спецификацией HTTP. Например, код ошибки HTTP 401, означающий в HTTP просто отсутствие авторизации, представлен в IIS группой кодов от 401.1 до 401.5, соответствующих различным причинам отказа сервера принять удостоверения клиента.

    Вкладка Server Extensions 2002.

    Вкладка Server Extensions 2002 позволяет перейти к настройке серверных расширений FrontPage, о которых говорилось ранее. Что бы открыть окно установок FrontPage Server Extensions, нажмите кнопку Settings.

    [newpage=Основные свойства FTP]

    Работа с FTP-узлами.

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

    Основные свойства FTP.

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

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

    Из этих шести вкладок окна свойств FTP для уровня сервера уникальна лишь вкладка Служба. Эта вкладка выполняет задачи, аналогичные задачам вкладки Служба окна основных свойств службы WWW: она позволяет задать на вашем компьютере IIS отдельный FTP-узел, с которым можно работать при помощи Диспетчера служб Интернета, входящего в состав IIS 3 в Windows NT. Остальные четыре вкладки одинаковы для уровня сервера и уровня сайта.

    Настройка свойств FTP-узла.

    Свойства конкретного FTP-узла на уровне узла идентичны свойствам на уровне сервера.

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

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

    Подобно web-узлам, каждый FTP-узел, размещенный на компьютере с IIS, должен иметь уникальную идентификацию, чтобы клиенты FTP могли соединяться с ним и скачивать или закачивать файлы. Однако, в отличие от web-узлов, в FTP используются два (а не три) параметра для идентификации FTP-узла, а именно, IP-адрес и номер порта TCP.
    Идентификация FTP-узла задается в странице окна свойств заданного FTP-узла с вкладкой FTP-узел. Чтобы FTP-узлы на одном и том же компьютере имели бы уникальные идентификации, они должны отличаться друг от друга хотя бы одним параметром идентификации. Другими словами, чтобы иметь на одном сервере несколько FTP-узлов, вы можете воспользоваться одним из следующих методов:

    • Сконфигурируйте несколько IP-адресов для сетевой платы сервера и выберите разные IP-адреса для каждого из FTP-узлов, не меняя в каждом сайте установку порта TCP на 21 (21 — стандартный порт TCP для протокола FTP). Клиенты смогут соединяться с нужными сайтами, используя либо IP-адрес сайта, либо его полностью квалифицированное DNS-имя (если в сети доступен сервер DNS или если на клиенте сконфигурирован файл локальных хостов). Этот метод предпочтителен для публичных FTP-узлов, поскольку он наиболее прост для соединения со стороны пользователей;
    • Сконфигурируйте только один IP-адрес для сетевой платы сервера и применяйте этот IP-адрес для каждого из FTP-узлов, задав им разные порты TCP (с номерами, большими 1023). В этом случае пользователи, чтобы иметь возможность соединяться с сайтами, должны знать их порты TCP. Этот метод применяется иногда, чтобы скрыть от просмотра приватные FTP-узлы (хотя, как вы вскоре увидите, характерным свойством протокола FTP является его низкая защищенность).

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

    На рисунке показано соединение с анонимными пользователями, соединившимися с сайтом FTP-узел по умолчанию при разрешенном анонимном доступе. Пользователь IEUser@ осуществляет доступ к сайту, открыв в Internet Explorer URL ftp://Win2003s.test.fio.ru, тогда как пользователь mtulloch@fio.ru применил утилиту командной строки Windows для FTP и вошел в систему с пользовательским именем anonymous и произвольным (но необязательным) паролем, что равнозначно пользовательскому адресу электронной почты mtulloch@fio.ru. С другой стороны, если пользователь входит в систему с помощью базисной идентификации, которая будет описана ниже, диалоговое окно FTP-сеансы покажет имя этого пользователя в колонке Подключено пользователей.

    Вкладка Безопасные учетные записи.

    Вкладка Безопасные учетные записи окна свойств FTP-узла похожа на вкладку Безопасность каталога окна свойств web-узла. Операторы FTP-узлов имеют ограниченные права на администрирование, аналогичные обсуждавшимся ранее правам операторов на администрирование web-узлов. Однако для службы FTP контроль аутентификации организован гораздо проще. В то время как служба WWW поддерживает четыре уровня аутентификации (анонимную, обычную, дайджестную и интегрированную Windows) и возможность применения SSL для шифрования передачи данных, FTP поддерживает лишь два метода аутентификации: анонимную и обычную.

    На вкладке Безопасные учетные записи присутствуют два флажка — Разрешить анонимные подключения и Разрешить только анонимные подключения.

    В таблице ниже показано, как различные варианты установки флажков влияют на возможности анонимного доступа и базисной аутентификации. Если вы разрешаете анонимный доступ, то для IIS необходима пользовательская учетная запись, при помощи которой будет производиться такой доступ. По умолчанию задается учетная запись IUSR_ИмяСервера, но вы, если хотите, можете задать и другую учетную запись. (Убедитесь, что пользователь имеет право входить в систему локально на консоли сервера, т.к. это необходимо для работы базисной аутентификации.) Затем вы можете задать либо ручной ввод пароля, либо разрешить IIS синхронизировать пароль с паролем, установленным в Windows.

    Флажок Разрешить анонимные подключения

    Флажок Разрешить только анонимные подключения

    Настройка веб-публикации 1С, подключение кассового оборудования

    1. Настройка веб-сервера в IIS

    Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

    • Общие функции HTTP (Common HTTP Features)
      • Статическое содержимое (Static Content)
      • Документ по умолчанию (Default Document)
      • Обзор каталогов (Directory Browsing)
      • Ошибки HTTP (HTTP Errors)
    • Разработка приложений (Application Development)
      • ASP
      • ASP.NET 3.5
      • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
      • Расширения ISAPI (ISAPI Extensions)
      • Фильтры ISAPI (ISAPI Filters)
    • Исправление и диагностика (Health and Diagnostics)
      • Ведение журнала HTTP (HTTP Logging)
      • Монитор запросов (Request Monitor)
    • Средства управления (Management Tools)
      • Консоль управления IIS (IIS Management Console)

    2. Публикации базы в 1С

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты), обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера

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

    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по-умолчанию: C:\inetpub\wwwroot\), необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Полный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по-умолчанию: C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того, чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names), необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

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

    2.2 Публикация базы данных на веб-сервере

    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

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

    • Имя виртуального каталога — имя, по которому будет происходить обращение к базе данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб-сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов, которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

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

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

    2.3 Подключение к опубликованной информационной базе через веб-браузер

    Для подключений к опубликованной базе данных запускаем Internet Explorer, в строке адреса вводим путь вида http://localhost/ . В данном примере это http://http://localhost/BP.

    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80 — по внешнему) IP-адресу.

    3. Создание бесплатного SSL-сертификата Let’s Encrypt на IIS

    Наличие SSL-сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных.

    Let’s Encrypt – это некоммерческий центр сертификации, позволяющий в автоматическом режиме через API выпускать бесплатные SSL/TLS сертификаты. Выдаются только сертификаты для валидации доменов (domain validation) со сроком действия 90 дней, что не является проблемой из-за наличия встроенной возможности автоматического перевыпуска сертификата, в результате чего обеспечивается непрерывность защиты.

    Далее описан способ получить SSL-сертификат от Let’s Encrypt при помощи консольной утилиты LetsEncrypt-Win-Simple. Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS и автоматически выпустить и привязать к нему SSL-сертификат.

    3.1 Создание SSL-сертификата

    Скачиваем последний релиз клиента со страницы проекта на GitHub https://github.com/PKISharp/win-acme/releases

    Распакуем его в каталог на сервере с IIS: c:\inetpub\letsencrypt

    Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.

    Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site.

    Далее утилита выведет список запущенных на IIS сайтов и предложит выбрать сайт, для которого нужно выпустить сертификат.

    Следующий этап – выполнение валидации домена. Доступно несколько вариантов валидации: TLS, через запись в DNS или через HTTP). Самый простой вариант — выбрать пункт 4 [http-01] Create temporary application in IIS (recommended). В этом случае на веб-сервере будет создано небольшое приложение, через которое серверы Let’s Encrypt смогут провести валидацию.

    Примечание. При выполнении TLS/HTTP проверки ваш сайт должен быть доступен снаружи по полному DNS имени по протоколам HTTP (80/TCP) и HTTPS (443/TCP).

    После валидации утилита letsencrypt-win-simple автоматически отправит запрос на генерацию сертификата, скачает его (все необходимые файлы, а также закрытый ключ сохраняются в каталог C:\Users\User\AppData\Roaming\letsencrypt-win-simple) и создаст привязку на сайте IIS. В том случае, если на сайте уже установлен SSL-сертификат, он будет заменен новым. Кроме того, будет создано правило в планировщике заданий Windows, которое запускается каждый день и автоматически выпускает и устанавливает новый сертификат каждые 60 дней.

    3.2 Создание отдельного пула и сайта с подключенным с SSL-сертификатом.

    Создаем отдельный пул в IIS для letsencrypt

    Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).

    Указать новый сертификат в «Сертификаты SSL»:

    Iis использование asp для управления содержимым веб узла

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

    Традиционно веб-сервер IIS (Internet Information Services) применялся для развертывания веб-приложений. Для хостирования веб-приложений ASP.NET Core также может применяться IIS, только в отличие от предыдущих версий ASP.NET теперь его роль будет сводиться к прокси-серверу. Хостирование приложений ASP.NET Core на IIS происходит с помощью нативного модуля AspNetCoreModule , который сконфигурирован таким образом, чтобы перенаправлять запросы на веб-сервер Kestrel. Этот модуль управляет запуском внешнего процесса dotnet.exe, в рамках которого хостируется приложение, и перенаправляет все запросы от IIS к этому хостирующему процессу.

    При разработке в Visual Studio публиковать приложения очень легко — среда разработки имеет для этого весь необходимый инструментарий. Так, возьмем какой-нибудь проект и в Visual Studio нажмем на него правой кнопкой мыши и в появившемся контекстном меню выберем пункт Publish :

    И перед нами откроется окно публикации приложения:

    Здесь нам доступно несколько вариантов публикации:

    Microsoft Azure App Service : публикация в облаке Azure

    IIS, FTP, etc : публикация через FTP

    Folder : публикация в виде отдельного пакета в файловой системе текущей рабочей машины

    Import Profile : импорт профиля, который содержит настройки публикации

    Microsoft Azure Virtual Machines : публикация в облаке Azure, по сравнению с первой опцией обладает большими возможностями по управлению инфраструктурой развертывания

    В данном случае выберем опцию Folder для создания пакета для публикации в файловой системе. И также укажем путь, по которому будет находиться пакет. В моем случае это каталог «C:\CoreApp». И в конце нажмем на кнопку Publish.

    Далее откроется окно, где будут оображаться выбранные настройки конфигурации, и для продолжения публикации нажмем в нем кнопку Publish:

    И после окончания публикации по указанному пути (в моем случае это каталог C:\CoreApp) появятся опубликованные файлы.

    Настройка IIS

    Прежде всего нам надо включить функциональность Web Server (IIS) и настроить роли сервера. Для этого перейдем по пути Панель управления -> Программы и компоненты -> Включение или отключение компонентов Windows . В списке компонентов найдем Службы IIS (Internet Information Services) и отметим ее:

    Здесь также надо отметить подпункт «Службы Интернета» (World Wide Web Services) и все его подпункты, а также подпункт «Консоль управления IIS» (IIS Management Console).

    Нажмем на ОК, и весь необходимый функционал будет добавлен в операционную систему.

    Затем нам необходимо установить специальный пакет .NET Core Windows Server Hosting . Его можно найти, перейдя на страницу https://www.microsoft.com/net/download/all. Далее на этой странице надо выбрать нужную версию .NET Core Runtime ( .NET Core Runtime > .NET Core Runtime x.y.z . Далее на странице выбранной версии .NET Core Runtime перейти к подразделу Windows и выбрать Server Hosting Installer . После этого загрузится нужный пакет. Этот пакет устанавливает .NET Core Runtime, .NET Core Library и модуль ASP.NET Core Module. Данный модуль, как говорилось выше, как раз и создает проксирование между IIS и сервером Kestrel.

    После установки этого пакета выполним в командной строке команду iisreset или вручную перезапустим IIS, чтобы сервер применил изменения.

    Конфигурация сервера

    Для конфигурации IIS перейдем к консоли управления веб-сервером. Для этого перейдем по пути Панель управления -> Администрирование -> Диспетчер служб IIS :

    Нажмем правой кнопкой на узел «сайты» и в контекстном меню выберем пункт «Добавить веб-сайт. «. После этого нам откроется окно для добавления нового сайта:

    В поле «Физический путь» здесь укажем каталог, в котором опубликовано приложение. А в качестве имени узла определим «localhost». Нажмем на OK, и приложение будет запущено.

    Теперь перейдем к пункту Пулы приложений . Выберем пул нашего приложения и справа нажмем на ссылку Основные настройки :

    В открывшемся окне для параметра Версия среды CLR .NET установим значение Без управляемого кода :

    После этого пул будет перезапущен, и мы сможем обращаться к нашему приложению по адресу localhost.

    Управление настройками web-сайта с помощью IIS 7 Manager

    Для того, чтобы воспользоваться данным инструментом, необходимо:

    • Убедиться, что для домена (веб-сайта в понятиях IIS) включена услуга «Менеджер домена», для этого перейдите в личный кабинет и в Древе услуг выберите нужный домен, обратите внимание на характеристику «Менеджер домена». Если она не подключена — нажмите «Добавить» напротив услуги и при добавлении выберите логин FTP-доступа, с которым будет происходить дальнейшее подключение к серверу через IIS Manager.
    • Скачать и установить Internet Information Services (IIS) 7.0 Manager

    Internet Information Services (IIS) 7.0 Manager

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

    Коренным улучшением, помимо системы безопасности, стала возможность использования Internet Information Services Manager при работе с IIS 7.0 в составе сервера Windows 2008. Internet Information Services Manager позволяет в привычном, графическом режиме управлять как IIS, так и ASP.NET.

    Для использования Internet Information Services Manager вам необходимо зарегистрировать площадку по тарифному плану win’08 и установить Information Services Manager. Подключения Internet Information Services Manager к вашей площадке происходит при первоначальной настройке:

    Первичная настройка Internet Information Services Manager

    В Connection tasks нужно нажать Connect to a site

    В поле Server name вводите адрес FTP-сервера вида uXXXXX.ftp.masterhost.ru вашей площадки win’08.

    В поле Site name вводите имя домена, который размещён на вашей площадке win’08.

    В поле User name необходимо ввести hosting\uXXXXX (где uXXXXX является идентификатором вашей площадки). Пароль тот же как для доступа к вашей площадке по протоколу FTP.

    Для созданного соединения можно указать любое имя.

    После настройки соединения вы сможете видеть и использовать удобный интерфейс.

    Есть ли инструмент администрирования веб-сайта ASP.NET в IIS?

    Я использую инструмент администрирования веб-сайта asp.net для управления различными ролями в моем проекте (в настоящее время Клиент и Администратор). Во время разработки, в сравнении с 2008 годом, очень легко управлять ролями. (Project → Конфигурация Asp.Net). Как управлять моими ролями и пользователями при развертывании системы (IIS)? Можно ли запустить «службы ASP.NET для веб-администрирования asp.net» в IIS?

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

    В этой статье описывается, как ее создать, включая код, который вы можете прямо внедрить на свой веб-сайт:

    В этой статье описывается, как вы можете запустить инструмент администрирования веб-сайта конфигурации ASP.NET в IIS: http://blogs.msdn.com/rahulso/archive/2006/03/09/547402.aspx

    Если вы используете экземпляр SQL Server, а не файл сопоставленной базы данных в APP_DATA, вы можете использовать инструмент настройки ASP.Net, временно изменив строку подключения для базы данных, чтобы указать на вашу базу данных, а не на локальную базу данных, это позволит вам редактировать роли/пользователей и т.д.

    Тем не менее, это одна из тех областей, где вам следует, вероятно, рассмотреть возможность написания/поиска инструмента для правильного редактирования/управления ими.

    вы можете создать приложение в IIS, вы просто знаете это направление средств веб-администрирования (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ASP.NETWebAdminFiles)

    другой момент, который вы должны сейчас, это то, что вам нужно два параметра в URL.

    applicationPhysicalPath = C:\ИСУП applicationUrl =/ИСУП

    Каковы все учетные записи пользователей для 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 выше.

    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 года, который содержит кучу полезной информации, стоит прочитать:

    Реферат: работа Построение веб-приложения на основе asp. Net и архитектуры сервера iis 0

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

    ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

    ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

    «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

    ИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК

    КАФЕДРА ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

    Построение веб-приложения на основе ASP.NET и архитектуры сервера IIS 7.0

    Выполнил: студент 367 гр.

    Введение

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

    А что такое интернет без веб страниц и, соответственно, веб серверов?

    Сейчас на рынке можно достаточно большое количество самых разных веб серверов. Один из наиболее распространенных – это Internet Information Server корпорации Microsoft. Учитывая последние тенденции к комплексным решениям Microsoft выпустила IIS 7.0, дающий разработчикам и администраторам новые возможности при создании и управлении сайтами.

    В своей работе я ознакомился с новыми возможностями и применил их на практике.

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

    Задачи:

    1. Изучить новые возможности IIS 7.0

    2. Познакомится с ASP.NET

    3. Написать модуль аутентификации

    Теоретическая часть

    Безопасность в сети необходима, особенно если дело касается денег. Злоумышленники прибегнут к всевозможным ухищрениям лишь бы добраться до номера вашего банковского счета, логина и пароля в интернет-магазине. Данный проект написан на C# с применением технологии ASP.NET неслучайно. Существует множество готовых решений и предусмотренных классов для обеспечения безопасности соединения. Microsoft предлагает комплексные решения для многих задач. Продукты этой фирмы используются почти всеми, как в корпоративной сети, так и в обычной жизни. Интересующая нас задача — это создание и сопровождение полноценных защищенных веб приложений, таких как интернет магазин например.

    Для создания безопасного веб-приложения необходимо полное понимание слабых мест в системе безопасности. Также необходимо ознакомиться с функциями обеспечения безопасности Windows, .NET Framework и ASP.NET. И, наконец, очень важно понимать способы использования этих функций безопасности для борьбы с угрозами.

    Давайте рассмотрим поближе систему безопасности ASP.NET

    Чтобы обеспечить безопасность веб-приложений, ASP.NET используется совместно с Microsoft .NET Framework и службами Microsoft Internet Information Services (IIS). Для создания безопасного приложения ASP.NET следует выполнить две основные функции:

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

    · Авторизация (Ограничивает право доступа, предоставляя определенные разрешения или отказывая в них удостоверенной личности)

    ASP.NET в сочетании со службами Microsoft Internet Information Services (IIS) может выполнять проверку подлинности учетных данных пользователя, например имен и паролей, используя любой из перечисленных ниже методов проверки подлинности:

    · Windows: стандартная, шифрованная или встроенная проверка подлинности Windows (NTLM или Kerberos).

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

    · Проверка подлинности с помощью сертификатов клиента.

    Рассмотрим Архитектуру безопасности ASP.NET

    Рис.1 Архитектура безопасности ASP.NET

    Как показано на рисунке, все веб-клиенты взаимодействуют с приложениями ASP.NET с помощью служб IIS. При необходимости IIS проверяет подлинность запроса и затем определяет местонахождение запрошенного ресурса (например, приложение ASP.NET). Если клиент авторизован, ему предоставляется доступ к этому ресурсу.

    Во время выполнения приложение ASP.NET может использовать встроенные средства безопасности ASP.NET. Кроме того, в приложении ASP.NET могут использоваться средства безопасности платформы .NET Framework.

    Два стандартных стандартных сценария обеспечения безопасности: олицетворение(проверка подлинности Windows) и проверки подлинности с помощью форм с использованием файлов «cookies».

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

    Рис.2 Олицетворение. На рисунке показана следующая последовательность событий:

    1. Запрос поступает в службы IIS от клиента сети.

    2. Службы IIS проверяют подлинность клиента, используя стандартную, шифрованную или встроенную безопасность Windows (NTLM или Kerberos).

    3. Если клиент проходит проверку подлинности, службы IIS передают удостоверенный запрос в ASP.NET.

    4. Приложение ASP.NET олицетворяет клиент, выполняющий запрос, используя лексему доступа, переданную из IIS, и использует разрешения NTFS-файла для предоставления доступа к ресурсам. Приложение ASP.NET должно только проверить, что в файле конфигурации ASP.NET для олицетворения задано значение true ; код безопасности для ASP.NET писать не требуется. Если олицетворение не включено, приложение запускается с удостоверением процесса ASP.NET. Для Microsoft Windows 2000 Server и Windows XP Professional удостоверением по умолчанию является локальная учетная запись с именем ASPNET, которая создается автоматически при установке ASP.NET. Для Microsoft Windows Server 2003 удостоверением по умолчанию является удостоверение пула приложений для приложения IIS (по умолчанию учетная запись NETWORK SERVICE).

    5. Если доступ разрешен, приложение ASP.NET возвращает запрошенный ресурс через IIS.

    Проверка подлинности с помощью форм

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

    Рис.3 Проверка подлинности форм. На рисунке показана следующая последовательность событий:

    1. Пользователь создает запрос на защищенный ресурс.

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

    3. Так как ASP.NET использует режим поверки подлинности с помощью форм, приложение ASP.NET проверяет билет проверки подлинности на основе форм для запроса (отдельный файл «cookie»). Если к запросу не приложен билет проверки подлинности, ASP.NET перенаправляет запрос на страницу входа в систему, указанную в файле конфигурации приложения. На странице входа в систему пользователь вводит необходимые учетные данные, обычно имя и пароль. Код приложения проверяет учетные данные, чтобы подтвердить их подлинность. Если учетные данные проходят проверке подлинности, код приложения вкладывает билет проверки подлинности в ответ, который представляет учетные данные пользователя. (Пароль не включается). Если проверка подлинности не пройдена, ответ возвращается с сообщением об отказе в доступе, либо форма входа в систему представляется повторно.Выпущенный билет проверки подлинности включается в следующий запрос к приложению ASP.NET. ASP.NET проверяет допустимость использования билетом проверки подлинности сообщения (MAC).

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

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

    IIS 7.0 Особенности

    В основе выпуска IIS 7.0 лежит полностью модульный веб-сервер, включающий более 40 компонентов, которые можно объединять в компактные веб-серверы, оптимизированные для необходимой роли в топологии приложения. Эти компоненты создаются на основе нового слоя расширяемости, что позволяет разработчикам расширять или замещать практически любую функцию сервера в машинном коде или с помощью Microsoft® .NET Framework. IIS 7.0 предлагает расширяемость компонентов этапа выполнения, управления и рабочих компонентов, облегчая создание комплексных решений в соответствии с конкретными потребностями. На базе основной платформы IIS 7.0 берется за решение многих проблем, связанных с управляемостью и эксплуатацией сервера. Он обладает принципиально новой системой настройки, обеспечивающей полностью делегированное управление узлами и, в конечном итоге, делающей реальностью развертывание веб-приложений с использованием xcopy. Новые интерфейсы API для целей управления и диагностические компоненты делают процедуры развертывания, администрирования и устранения неполадок сервера значительно проще и удобнее, чем когда-либо прежде.

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

    Эти модули можно в любое время полностью удалить с сервера или намеренно отключить на время работы конкретного приложения, которому они не требуются. Такая возможность позволяет администраторам сервера быстро развертывать серверы минимальной конфигурации со значительным уменьшением мест, доступных для атак, и существенным увеличением производительности за счет выполнения только необходимого кода. Архитектура, построенная из независимых компонентов, является важнейшим свойством IIS 7.0, ведущим к снижению рисков нарушения безопасности и минимизации необходимости вносить исправления. Она делает возможными специализированные развертывания сервера, для которых объединяются выбранные компоненты IIS и специальные составляющие, оптимизированные для конкретной роли сервера в топологии приложения, например, обратных прокси и кэширующих серверов, серверов балансировки нагрузки протокола HTTP или SSL и серверов безопасности Sentinel.

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

    Упрощенное развертывание и настройка

    Централизованное хранилище конфигураций предыдущих версий IIS, известное как метабаза, ушло в прошлое. Для IIS 7.0 характерна новая система делегированной настройки, основанная на иерархии распределенных файлов настройки в формате XML. Данная иерархия обобщена в глобальном файле applicationHost.config, в котором содержатся значения по умолчанию для настройки уровня сервера, и распределенных файлах web.config, находящихся в структуре каталогов приложения. Это те же самые файлы, которые используются инфраструктурой приложения ASP.NET для хранения параметров в переносимом виде. Это позволяет хранить одновременно конфигурации IIS и ASP.NET, используя четкие и жестко структурированные директивы XML. Вот один пример:

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

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

    В полном соответствии основной идее IIS 7.0 система настройки является полностью расширяемой. Новые модули могут добавлять собственные схемы настройки, позволяя приложениям настраивать свои компоненты наряду с настройкой IIS и ASP.NET:

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

    IIS 7.0 продолжает поддерживать существующий код настройки, использующий для записи в традиционную метабазу интерфейсы API объекта ABO (Admin Base Object) или сценарии, использующие интерфейсы высокого уровня ADSI (Active Directory® Service Interfaces) и объекты WMI (Windows Management Instrumentation) для настройки IIS. Это достигается посредством предоставления слоя совместимости, который эмулирует интерфейсы API объектов ABO, являющиеся основой для всех других традиционных интерфейсов API настройки, позволяя таким сценариям читать и изменять настройку тем же способом, как они делали это в предыдущих версиях IIS. В то время как новый формат настройки с использованием структурированного XML облегчает работу с конфигурацией в привычном текстовом редакторе, IIS предоставляет администраторам также узел с инструментами управления и интерфейсы API, облегчающие управление сервером и делающие возможной автоматизированную настройку и развертывание.

    .NET Framework и создание сценариев

    Кроме администрирования сервера вручную с помощью IIS Manager или инструмента командной строки appcmd.exe IIS 7.0 предоставляет множество возможностей программного администрирования. Во-первых, можно использовать интерфейс API Microsoft.Web.Administration для управления сервером из приложений .NET. Или использовать новый интерфейс API COM для непосредственного управления системой настройки IIS, либо получить к ней доступ из среды создания сценариев, например ASP или Windows® Script Host (WSH). Существует также новый поставщик WMI и поддержка традиционных поставщиков WMI и ADSI посредством слоя совместимости метабазы.

    Microsoft.Web.Administration, новый интерфейс API администрирования .NET, облегчает приложениям управляемого кода обеспечивать программную поддержку узлов и приложений IIS, получать доступ к важной информации о состоянии и диагностическим данным и изменять настройку сервера. Способность приложений на основе .NET Framework беспрепятственно получать доступ к информации о настройке IIS и данным о состоянии открывает необъятный простор для написания приложений настройки с использованием .NET и управляющих приложений или даже выполнения задач управления непосредственно из страниц ASP.NET.

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

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

    Новый интерфейс расширяемости представляет собой набор интуитивных классов C++, определяющих объектную модель и дающих возможность модулю предоставлять службы обработки запросов на IIS. Эти классы определяются в заголовочном файле в Windows Vista SDK.

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

    · Проверка запроса с помощью класса IHttpRequest

    · Управление откликом с помощью класса IHttpResponse

    · Использование полезных функций служебных программ класса IHttpServer

    · Обеспечение проверки подлинности с помощью класса IHttpUser

    · Получение доступа к разделу пользовательской настройки вашего модуля с помощью интерфейсов API настройки

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

    Разработчики получат преимущество также благодаря усовершенствованным шаблонам для управления памятью и состоянием. Большинство интерфейсов API сервера IIS 7.0 используют для возвращаемых данных память, управляемую сервером, вместо запроса на выделение буферов и управления ими, как это делает ISAPI и большинство существующих интерфейсов API в Win32®. В прошлом это был один из наиболее подверженных ошибкам и утомительных этапов разработки ISAPI. Новый интерфейс API упрощает также многие сложные задачи обработки запросов, например, буферизацию отклика, проверку подлинности и подготовку данных отклика для клиента

    Интеграция ASP.NET

    В составе сервера IIS 7.0 ASP.NET приходит в двух версиях: Режим Classic и режим Integrated Режим Classic работает точно так же, как он работал в предыдущих версиях IIS. Режим Integrated, являющийся платформой по умолчанию, использует совершенно новый обработчик для обеспечения интеграции высочайшего уровня с веб-сервером IIS. В режиме Integrated интерфейсы API ASP.NET можно использовать для разработки модулей IIS 7.0, которые напрямую интегрируются с веб-сервером и в состоянии предоставлять практически все возможные службы благодаря лежащему в основе интерфейсу API на C++,.

    По существу, это оптимальный вариант — знакомые интерфейсы и удобные службы приложений .NET Framework и ASP.NET 2.0, такие, как управление членством и ролями, плюс неограниченная возможность расширения сервера, ранее доступная только составляющим ISAPI, написанным на C.

    В добавление к возможности написания новых модулей ASP.NET, основанной на особых преимуществах режима Integrated, многие унаследованные модули ASP.NET можно сделать гораздо более мощными простым изменением нескольких параметров настройки в файле web.config.

    Рис 4. Жизненный цикл ASP.NET

    Для разработчиков ASP.NET преимущества интегрированного конвейера заключаются в следующем:

    • Интегрированный конвейер может вызывать все события, объявленные в объекте HttpApplication, что позволяет существующим HTTP-модулям ASP.NET работать в интегрированном режиме IIS 7.0.
    • И модули машинного кода, и модули управляемого кода можно настраивать на уровне веб-сервера, веб-узла и веб-приложения. Это относится и к встроенным модулям управляемого кода ASP.NET для управления состоянием сеанса, проверкой подлинности форм, профилями и ролями. Более того, поддержку модулей управляемого кода можно включить или отключить для всех запросов, независимо от того, предназначен ли запрос для ресурса ASP.NET, например ASPX-файла.
    • Модули управляемого кода можно вызывать на любом этапе конвейера. Это можно сделать до обработки запроса на сервере, после обработки на сервере или в любой момент во время обработки.
    • Регистрация, включение и отключение модулей выполняется в файле Web.config приложения.

    Модули управляемого кода в службах IIS 7.0

    • FormsAuthenticationModule
    • ProfileModule
    • RoleManagerModule
    • SessionStateModule

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

    Жизненный цикл приложения ASP.NET можно расширить с помощью модулей, в которых реализован интерфейс IHttpModule. Модули, в которых реализован интерфейс IHttpModule, являются модулями управляемого кода. Интегрированный конвейер ASP.NET и IIS 7.0 также можно расширить с помощью модулей машинного кода, которые в данном разделе не рассматриваются. Модуль управляемого кода можно задать как файл класса в папке App_Code приложения. Также можно создать модуль как проект библиотеки классов, скомпилировать его и добавить в папку Bin приложения. После создания настраиваемого модуля его необходимо зарегистрировать с помощью IIS 7.0. Для управления модулями управляемого кода IIS 7.0 можно воспользоваться одним из описанных ниже методов. Например, чтобы зарегистрировать модуль управляемого кода только для одного приложения, можно изменить файл Web.config этого приложения. Если модуль находится в папке App_Code или Bin и зарегистрирован в файле Web.config приложения, этот модуль вызывается только для этого приложения. Чтобы зарегистрировать модуль Web.config приложения, необходимо изменить элемент modules в разделе system.webServer . Изменения, внесенные с помощью IIS Manager или средства Appcmd.exe, вносятся в файл Web.config приложения.

    Модули управляемого кода также можно зарегистрировать в элементе modules хранилища конфигурации IIS 7.0 (файл ApplicationHost.config). Модули, зарегистрированные в файле ApplicationHost.config, обладают глобальной областью действия, поскольку они зарегистрированы для всех веб-приложений, размещенных с помощью служб IIS 7.0. Модули машинного кода, заданные в элементе globalModules файла ApplicationHost.config, также обладают глобальной областью действия. Если глобальный модуль в веб-приложении не используется, его можно отключить.

    Практическая часть

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

    При правильной настройке сервера действия, прописанные в модуле будут вызываться всякий раз при обращении пользователя к любому ресурсу сервера. Хоть система безопасности отклоняет «подозрительные» запросы к ресурсам, можно в написать свой модуль или обработчик, анализирующий и отклоняющий опасные запросы и попытки атак.

    Модуль реализован с применением стандартного класса IHttpModule.

    public class userAuth : IHttpModule

    public void Init(HttpApplication app)

    app.AuthenticateRequest += new EventHandler(this.Authorize);

    При каждом обращении к странице возникает событие AuthenticateRequest, на которое модуль реагирует обработчиком события Authorize

    public void Authorize(Object source, EventArgs e)

    HttpApplication application = (HttpApplication)source;

    Илон Маск рекомендует:  WGet - программа для загрузки файлов и скачивания сайта целиком.
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL
    Название: работа Построение веб-приложения на основе asp. Net и архитектуры сервера iis 0
    Раздел: Остальные рефераты
    Тип: реферат Добавлен 07:15:35 30 августа 2011 Похожие работы
    Просмотров: 170 Комментариев: 6 Оценило: 1 человек Средний балл: 4 Оценка: неизвестно Скачать