Открыть сервис

Internet Information Services 6.0

Internet Information Services 6.0 (IIS 6.0) — это версия веб-сервера, входящая в состав операционной системы Microsoft Windows Server 2003, а также доступная для Windows XP Professional x64 Edition. IIS 6.0 представляет собой компонент, предназначенный для размещения веб-сайтов, веб-приложений, FTP-серверов и других интернет-служб. Данная версия стала значительным шагом вперёд по сравнению с предшественницей (IIS 5.0, использовавшейся в Windows 2000), предложив кардинально переработанную архитектуру, повышенную надёжность и улучшенную безопасность.

История и контекст

IIS 6.0 была выпущена в 2003 году вместе с серверной операционной системой Windows Server 2003. Разработка этой версии велась в условиях растущей критики безопасности предыдущих версий IIS, особенно IIS 5.0, которая подвергалась массовым атакам червей (например, Code Red и Nimda) в 2001 году. Microsoft поставила перед собой цель сделать IIS 6.0 «защищённым по умолчанию» (secure by default) — то есть после установки сервер поставлялся с минимальным набором активных компонентов, что снижало поверхность атаки.

IIS 6.0 была последней версией, которая поддерживалась на 32-разрядных версиях Windows Server 2003. Поддержка IIS 6.0 со стороны Microsoft прекратилась 14 июля 2015 года вместе с окончанием расширенной поддержки Windows Server 2003.

Архитектура и ключевые особенности

Главным нововведением IIS 6.0 стала архитектура на основе рабочих процессов (worker process isolation mode). В отличие от IIS 5.0, где все приложения выполнялись в одном процессе (inetinfo.exe) или в общем пуле, IIS 6.0 внедрила модель, в которой каждое веб-приложение могло работать в отдельном процессе (w3wp.exe).

Режимы изоляции

IIS 6.0 поддерживала два режима работы:

  1. Режим изоляции рабочих процессов (Worker Process Isolation Mode) — основной и рекомендуемый режим. В этом режиме каждое приложение (или группа приложений) запускается в своём собственном процессе w3wp.exe. Это обеспечивает изоляцию: сбой в одном приложении не влияет на другие приложения или на сам веб-сервер. Кроме того, администратор может настраивать параметры пула приложений (Application Pool), такие как время жизни процесса, объём используемой памяти, ограничения на количество запросов и учётные данные, под которыми процесс выполняется.
  2. Режим совместимости с IIS 5.0 (IIS 5.0 Isolation Mode) — предназначался для обратной совместимости с приложениями, написанными для IIS 5.0. В этом режиме все приложения работали в одном процессе inetinfo.exe, что снижало изоляцию, но обеспечивало совместимость с устаревшим кодом.

Пул приложений (Application Pool)

Пул приложений является центральным понятием в IIS 6.0. Он представляет собой группу URL-адресов, обслуживаемых одним или несколькими рабочими процессами. Каждый пул приложений имеет собственные настройки, включая:

  • Идентичность (Identity): учётная запись, под которой запускается рабочий процесс. По умолчанию используется встроенная учётная запись NetworkService.
  • Перезапуск (Recycling): возможность автоматического перезапуска рабочего процесса через заданные интервалы времени, по достижении определённого количества запросов или объёма потребляемой памяти. Это позволяет предотвращать утечки памяти и сбои в долго работающих приложениях.
  • Быстрая защита от сбоев (Rapid Fail Protection): если рабочий процесс аварийно завершается несколько раз за короткий промежуток времени, пул приложений автоматически отключается, предотвращая бесконечный цикл перезапусков.

HTTP.SYS — ядро веб-сервера

Важным изменением стало внедрение HTTP.SYS — драйвера режима ядра, который обрабатывает HTTP-запросы и ответы. HTTP.SYS работает на уровне ядра операционной системы, что обеспечивает высокую производительность и эффективное кэширование. Он также отвечает за:

  • Прослушивание входящих HTTP-запросов.
  • Маршрутизацию запросов к соответствующим пулам приложений.
  • Кэширование статического содержимого и ответов от приложений.
  • Обработку очередей запросов.

Благодаря HTTP.SYS, даже если все рабочие процессы IIS 6.0 заняты, ядро продолжает принимать запросы и ставить их в очередь, не теряя соединений.

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

IIS 6.0 стала первой версией, в которой безопасность была заложена на уровне архитектуры. Ключевые изменения:

  • Установка по умолчанию: IIS 6.0 не устанавливалась по умолчанию на Windows Server 2003. Её необходимо было добавлять через компоненты системы. После установки были активны только статические файлы (HTML, изображения), а все динамические компоненты (ASP, ASP.NET, CGI, ISAPI) были отключены.
  • URLScan и IIS Lockdown: хотя эти инструменты были доступны и для IIS 5.0, в IIS 6.0 многие их функции были встроены в ядро. Например, фильтрация URL-адресов и ограничение на длину запроса.
  • Управление доступом: настройка разрешений для веб-сайтов и виртуальных каталогов стала более гибкой. Поддержка Windows Authentication (NTLM и Kerberos) была улучшена.
  • Изоляция процессов: как упоминалось выше, отдельные процессы для приложений предотвращали распространение вредоносного кода из одного приложения в другое.

Управление и администрирование

Управление IIS 6.0 осуществлялось через несколько инструментов:

  • Диспетчер служб IIS (IIS Manager) — оснастка Microsoft Management Console (MMC). Позволяла графически настраивать веб-сайты, пулы приложений, виртуальные каталоги, а также управлять сертификатами SSL и журналами.
  • Командная строка — утилиты iisreset (для перезапуска служб IIS) и adsutil.vbs (скрипт для управления метабазой IIS через ADSI).
  • Метабаза (Metabase) — иерархическая база данных конфигурации IIS, хранящаяся в файле MetaBase.xml (в IIS 6.0 она была в виде XML-файла, что упрощало редактирование вручную, хотя и не рекомендовалось). В отличие от реестра, используемого в IIS 5.0, метабаза была более структурирована и поддерживала наследование настроек.
  • WMI (Windows Management Instrumentation) — позволяла автоматизировать управление IIS с помощью скриптов (VBScript, PowerShell).

Поддержка технологий

IIS 6.0 поддерживала широкий спектр веб-технологий своего времени:

  • ASP (Active Server Pages) — классическая серверная технология Microsoft.
  • ASP.NET 1.1 и 2.0 — платформа для создания веб-приложений на .NET Framework. IIS 6.0 была основной серверной платформой для ASP.NET 2.0.
  • CGI (Common Gateway Interface) — поддержка запуска внешних скриптов (Perl, Python).
  • ISAPI (Internet Server Application Programming Interface) — низкоуровневый API для создания высокопроизводительных модулей и расширений.
  • FTP (File Transfer Protocol) — встроенный FTP-сервер с поддержкой изоляции пользователей.
  • SMTP (Simple Mail Transfer Protocol) — встроенный SMTP-сервер для отправки почты из веб-приложений.
  • SSL/TLS — поддержка защищённого соединения через сертификаты.

Ограничения и критика

Несмотря на значительные улучшения, IIS 6.0 имела ряд недостатков:

  • Сложность конфигурации: настройка пулов приложений и метабазы могла быть нетривиальной для начинающих администраторов.
  • Отсутствие поддержки новых протоколов: IIS 6.0 не поддерживала WebSocket, SPDY или HTTP/2.0, которые появились в более поздних версиях (IIS 7.0 и выше).
  • Ограниченная поддержка .NET: хотя ASP.NET работала, интеграция с IIS была не такой глубокой, как в IIS 7.0, где ASP.NET стал частью конвейера обработки запросов.
  • Зависимость от Windows Server 2003: IIS 6.0 не была доступна для клиентских версий Windows (кроме Windows XP x64 Edition), что ограничивало её использование для разработки на локальных машинах.

Значение и наследие

IIS 6.0 стала важной вехой в истории веб-серверов Microsoft. Она доказала, что компания способна создать надёжный и безопасный продукт после череды громких инцидентов. Многие концепции, заложенные в IIS 6.0 (пулы приложений, изоляция процессов, кэширование в ядре), стали основой для последующих версий IIS (7.0, 7.5, 8.0, 8.5, 10.0). IIS 6.0 широко использовалась в корпоративном секторе в середине 2000-х годов и оставалась популярной вплоть до окончания поддержки Windows Server 2003 в 2015 году.

Источники

  • Microsoft TechNet: IIS 6.0 Technical Reference
  • Microsoft Developer Network (MSDN): IIS 6.0 Architecture
  • Книга: «IIS 6.0: The Complete Reference» (Hethe Henrickson, Scott Hofhine)
  • Документация Microsoft по Windows Server 2003

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →