Создание и настройка веб-сайтов в Windows Server 2003.

Опубликовано: 26 Марта, 2023

Internet Information Services 6 (IIS 6) — это мощная платформа для размещения веб-сайтов как в общедоступном Интернете, так и в частных интрасетях. Создание и настройка веб-сайтов и виртуальных каталогов — рутинная задача для администраторов IIS, и в этой статье мы рассмотрим процесс их выполнения как с помощью графического интерфейса (диспетчера IIS), так и с помощью различных сценариев, включенных в Windows Server 2003. Семь конкретных задач, которые мы рассмотрим, будут включать:



  • Создание веб-сайта
  • Создание локального виртуального каталога
  • Создание удаленного виртуального каталога
  • Управление доступом к веб-сайту
  • Настройка ведения журнала веб-сайта
  • Настройка перенаправления веб-сайта
  • Остановка и запуск веб-сайтов

Ради интереса мы объясним эти задачи в контексте вымышленной компании TestCorp, которая развертывает IIS для своей корпоративной внутренней сети.


Предварительные шаги


В отличие от более ранних версий Microsoft Windows, IIS не устанавливается по умолчанию в Windows Server 2003. Чтобы установить IIS, откройте «Управление сервером» в меню «Пуск» и добавьте роль сервера приложений:



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


Создание веб-сайта


Самый простой подход — использовать отдельный IP-адрес для идентификации каждого веб-сайта на вашем компьютере. Допустим, нашему серверу назначено пять IP-адресов в диапазоне от 172.16.11.220 до 172.16.11.224. Прежде чем мы создадим новый веб-сайт отдела кадров, давайте сначала рассмотрим идентификацию веб-сайта по умолчанию. Откройте диспетчер IIS в средствах администрирования, выберите «Веб-сайты» в дереве консоли, щелкните правой кнопкой мыши «Веб-сайт по умолчанию» и откройте его свойства:



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


Давайте используем IP-адрес 172.16.11.221 для сайта отдела кадров и сделаем D:HR папкой, в которой хранится домашняя страница этого сайта. Чтобы создать сайт отдела кадров, щелкните правой кнопкой мыши узел «Веб-сайты» и выберите «Создать» -> «Веб-сайт». Это запустит мастер создания веб-сайта. Нажмите «Далее» и введите описание сайта:



Нажмите «Далее» еще раз и укажите 172.16.11.221 в качестве IP-адреса сайта:



Нажмите «Далее» и укажите D:HR в качестве домашней папки сайта. Мы сняли флажок, чтобы запретить анонимный доступ к сайту, поскольку это внутренняя интрасеть, поэтому доступ к нему должны иметь только пользователи, прошедшие проверку подлинности (общедоступные веб-сайты обычно разрешают анонимный доступ):



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



Нажмите «Далее», а затем «Готово», чтобы создать новый веб-сайт:



Теперь давайте создадим еще один сайт интрасети, на этот раз для службы поддержки, который будет использовать IP-адрес 172.16.11.222 и домашнюю папку D:Help. Мы создадим его, используя скрипт вместо графического интерфейса:



И вот результат:



Сценарий, который мы использовали здесь, — Iisweb.vbs, один из нескольких сценариев администрирования IIS, доступных при установке IIS на Windows Server 2003. Основной синтаксис этого сценария легко понять из предыдущего снимка экрана, а полный синтаксис можно найти здесь.. Обратите внимание, что в отличие от использовавшегося ранее мастера создания веб-сайтов. вы не можете использовать этот скрипт для создания веб-сайта с отключенным анонимным доступом. Поэтому, если вы хотите отключить анонимный доступ, вы должны сделать это, открыв страницу свойств сайта службы поддержки, выбрав вкладку «Безопасность каталога» и нажав кнопку «Изменить» в разделе «Аутентификация и контроль доступа». Откроется окно «Методы проверки подлинности», в котором вы можете снять флажок, чтобы отключить анонимный доступ и оставить встроенную проверку подлинности Windows в качестве единственного метода проверки подлинности, доступного для клиентов в вашей сети:



Создание локального виртуального каталога


Допустим, отдел кадров хранит свои политики в папке D:HR Policies на вашем веб-сервере, и вы хотите, чтобы пользователи могли использовать URL-адрес http://172.16.11.221/policies, когда им необходимо получить доступ к этим политикам. Для этого нам нужно создать виртуальный каталог, который связывает часть URL-адреса /policies, называемую псевдонимом виртуального каталога, с физическим каталогом D:HR Policies, где фактически находятся эти документы.


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



Нажмите «Далее» и укажите физическую папку на локальном сервере для сопоставления с этим псевдонимом:



Нажмите «Далее» и укажите разрешения (опять же, мы просто оставим чтение включенным) и завершите работу мастера. Вот результат:



Давайте сделаем что-то подобное, используя другой скрипт IIS с именем Iisvdir.vbs, только вместо этого мы создадим виртуальный каталог /procedures:



Откройте диспетчер IIS, чтобы отобразить новый виртуальный каталог:



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


Создание удаленного виртуального каталога


Службе поддержки нравится делать что-то иначе, чем это делает отдел кадров, и их руководство пользователя хранится в формате HTML в общем ресурсе \srv230helpdesk на сетевом файловом сервере. Давайте создадим удаленный виртуальный каталог на сайте службы поддержки, который свяжет псевдоним /usermanual с этим общим ресурсом. Щелкните правой кнопкой мыши сайт службы поддержки и выберите «Создать» -> «Виртуальный каталог», чтобы снова запустить мастер создания виртуального каталога, укажите usermanual в качестве псевдонима для каталога и введите \srv230helpdesk в качестве пути UNC к общему ресурсу:



Нажмите «Далее», и появится новый экран, предлагающий либо указать учетные данные для доступа к общему ресурсу, либо использовать для этой цели учетные данные аутентифицированного пользователя (мы будем использовать последний):



Нажмите «Далее» и завершите работу мастера. Посмотрим на результат:



Аналогичным образом сценарий Iisvdir.vbs можно использовать для создания удаленных виртуальных каталогов.


Управление доступом к веб-сайту


Теперь, когда у нас есть пара веб-сайтов и виртуальных каталогов, давайте рассмотрим несколько задач администрирования. Это будет лишь краткий обзор — гораздо более подробное рассмотрение предмета вы можете найти в моей книге «Администрирование IIS 6» (Osborne/McGraw-Hill ).


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



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


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


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



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


Последний способ управления доступом к вашим сайтам — использовать диалоговое окно «Методы аутентификации», которое мы рассмотрели ранее:



Таким образом, здесь показаны пять вариантов аутентификации:



  • Анонимный доступ. Используется в основном для веб-сайтов на общедоступных (интернет) веб-серверах.
  • Встроенная аутентификация Windows. Используется в основном для веб-сайтов в частной интрасети.
  • Дайджест-аутентификация. Схема проверки подлинности запрос/ответ, которая работает только с клиентами, работающими под управлением Internet Explorer 5.0 или более поздней версии.
  • Базовая аутентификация. Старая схема аутентификации, при которой пароли передаются по сети в виде открытого текста, поэтому используйте ее только в сочетании с SSL.
  • . Аутентификация по NET-паспорту. Позволяет пользователям использовать свой.NET Passport для проверки подлинности.

Настройка ведения журнала веб-сайта


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



Формат ведения журнала по умолчанию — расширенный формат файла журнала W3C, и нажатие кнопки «Свойства» указывает на то, что новые файлы журнала создаются ежедневно в указанном каталоге. Рекомендуется указать, что для регистрации трафика используется местное время, так как это упрощает интерпретацию журналов:



Главное, конечно, регулярно просматривать лог-файлы на предмет подозрительной активности. IIS не включает ничего для этой цели, но инструменты IIS 6.0 Resource Kit включают версию 2.1 Microsoft Log Parser, которую можно использовать для анализа журналов IIS. Вы можете скачать эти инструменты здесь.


Настройка перенаправления веб-сайтов


Иногда вам нужно закрыть свой веб-сайт для обслуживания, и в таких случаях рекомендуется перенаправить весь клиентский трафик, направленный на ваш сайт, на альтернативный сайт или страницу, информируя пользователей о том, что происходит. IIS позволяет перенаправить веб-сайт на другой файл или папку на том же или другом веб-сайте или даже на URL-адрес в Интернете. Чтобы настроить перенаправление, вы используете вкладку «Домашний каталог» и выбираете вариант перенаправления, который вы хотите использовать:



Остановка и запуск веб-сайтов


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



Вы также можете сделать то же самое из командной строки, используя команду Iisreset:



Введите iisreset /? для полного синтаксиса этой команды. Вы также можете запускать и останавливать отдельные веб-сайты с помощью диспетчера IIS или сценария Iisweb.vbs. И вы можете остановить или запустить отдельные службы IIS с помощью сетевых команд, например, net stop w3svc остановит только службы WWW.


Резюме


В этой статье я объяснил, как создавать и настраивать веб-сайты и виртуальные каталоги в IIS 6. Большая часть того, что мы рассмотрели, применима и к IIS 5 в Windows 2000. В следующей статье я подробно расскажу о создании и настройке FTP-сайтов и о внедрении изоляции пользователей FTP, новой функции Windows Server 2003. Более подробно о IIS 6 см. в моей книге «Администрирование IIS 6» (Osborne/McGraw-Hill).