Введение
IIS — это аббревиатура Internet Information Server. Это веб-сервер, продвигаемый главным образом Microsoft. В настоящее время пользователями обычно используется версия IIS 6, включенная в состав Windows 2003, или более ранняя версия IIS 5. IIS полностью интегрирован с Window NT Server, поэтому пользователи могут использовать его. Возможность использовать встроенные функции безопасности Windows NT Server и NTFS (файловая система NT, файловая система NT) для создания мощных, гибких и безопасных сайтов Интернета и интрасети. IIS поддерживает ISAPI, который можно использовать для расширения функций сервера. IIS предназначен для создания интегрированного набора серверных служб для поддержки HTTP, FTP и SMTP. Он может предоставить быстрый, интегрированный и масштабируемый Интернет-сервер с существующими продуктами.
Новый IIS7 добавляет в Windows Server 2008 больше средств безопасности, и теперь пользователи могут использовать решения Microsoft. NET для запуска серверных приложений. Кроме того, создание модулей с помощью новых возможностей IIS7 позволит сократить количество запусков кода в системе и минимизировать возможность атаки хакерских скриптов. С точки зрения безопасности, это новая область, в которой участвует IIS. Так много новых функций заставляет нас с нетерпением ждать IIS7 в Windows Server 2008. Давайте посмотрим на пять наиболее основных улучшенных функций IIS:
Полностью модульный IIS
Если вы хорошо знакомы с популярным программным обеспечением веб-сервера Apache, то вы знаете, что его самое большое преимущество заключается в его настройке. Вы можете настроить его только для отображения статического HTML или динамически загружать различные модули, чтобы разрешить различные типы служебного контента. . Однако используемый в настоящее время IIS не может очень хорошо реализовать эту функцию, что вызвало две проблемы: во-первых, из-за влияния на код слишком большого количества функций, которые не используются пользователями, производительность иногда не может удовлетворить пользователей; во-вторых, во-вторых, существуют риски безопасности, вызванные слишком большим количеством интерфейсов по умолчанию.
Новый IIS7 полностью решает эту проблему. IIS7 разделен на более чем 40 модулей с различными функциями. Такие функции, как проверка, кэширование, обработка статических страниц и списки каталогов, являются модульными. Это означает, что на ваш веб-сервер можно установить соответствующие функциональные модули в соответствии с вашими эксплуатационными потребностями. Модули, которые могут иметь угрозу безопасности и не нужны, больше не будут загружаться в память, поверхность атаки программы снижается, а также повышается производительность.
IIS7 настроен через текстовый файл
Еще одной важной особенностью IIS7 является то, что инструмент управления использует новую распределенную систему конфигурации web.config. IIS7 больше не имеет единого хранилища конфигурации метабазы, но будет использовать ту же модель файла web.config, поддерживаемую ASP.NET, что позволяет пользователям хранить и развертывать конфигурации вместе с содержимым веб-приложений. Независимо от того, сколько сайтов у пользователей. Можно настроить непосредственно через файл web.config, поэтому, когда компании необходимо подключить большое количество веб-сайтов, это может занять короткое время, поскольку администратору достаточно скопировать файл web.config любого сайта, который уже подготовлено заранее, а затем задается настройки. Переносится на удаленный сервер вместе с веб-приложением. Для настройки конфигурации не нужно писать сценарии управления.
В то же время инструмент управления поддерживает «делегированное администрирование». Пользователи могут делегировать некоторые идентифицируемые файлы web.config другим сотрудникам предприятия. Конечно, в этом случае в инструменте управления отображаются настройки клиента. собственный веб-сайт, а не настройки всей машины, поэтому администратору IIS не нужно беспокоиться о каждом небольшом изменении сайта. Контроль версий одинаково прост. Пользователям нужно только хранить разные версии текстовых файлов в организации. а затем использовать их при необходимости. Просто восстанавливайте их при необходимости.
Продукты Microsoft всегда гордились удобными для пользователя интерфейсами. Однако, поскольку сервер IIS7 предназначен для ИТ-специалистов, это не кажется очевидным. Оглядываясь назад от IIS 4 к IIS 6, консоль управления, предоставляемая пользователям, не очень проста. Удобно работать, а из-за технических ограничений и других причин пользователям сложно выполнять всю работу по управлению через единый интерфейс.
Инструмент управления графическим режимом MMC
[Вырезанная страница]В новом IIS 7 эта проблема была значительно решена. Теперь пользователи могут использовать инструменты управления для создания и управления любым количеством веб-сайтов на клиентских компьютерах Windows. Он больше не ограничивается одним веб-сайтом. В то же время, по сравнению с предыдущими версиями IIS, интерфейс управления IIS7 более дружелюбный и мощный. Кроме того, инструменты управления IIS7 написаны на .NET и Windows Forms. можно расширить. Это означает, что пользователи могут добавлять свои собственные модули пользовательского интерфейса в инструмент управления, чтобы обеспечить поддержку управления своими собственными модулями среды выполнения HTTP и параметрами конфигурации.
Улучшения безопасности IIS 7
Проблемы безопасности всегда являются главным приоритетом при атаке на Microsoft. На самом деле дело не в том, что Microsoft безразлична к безопасности. Дело в том, что Microsoft — такой огромный боевой корабль, что неизбежна потеря всех секретов. К счастью, Microsoft активно реагирует. к каждому мнению по безопасности с предложениями. Проблемы безопасности IIS в основном сосредоточены на эффективном управлении и управлении разрешениями программ .NET. В IIS 7 внесены соответствующие улучшения в ответ на проблемы безопасности, с которыми сталкивается сервер IIS.
В новой версии настройки управления IIS и ASP.NET объединены в единый инструмент управления. Это позволяет пользователям просматривать и устанавливать правила аутентификации и авторизации в одном месте, вместо того, чтобы проходить через несколько разных диалоговых окон. Это предоставляет менеджерам более последовательный и понятный пользовательский интерфейс, а также унифицированный опыт управления на веб-платформе.
В IIS7 приложения .NET выполняются непосредственно через код IIS, а не отправляются в расширение API интернет-сервера, что снижает возможные риски и повышает производительность. В то же время инструмент управления имеет встроенную поддержку членов ASP.NET 3.0 и. Система управления ролями обеспечивает поддержку интерфейса управления. Это означает, что пользователи могут создавать роли и пользователей и управлять ими в инструменте управления, а также назначать роли пользователям. Ниже приведена полная диаграмма компонентов IIS 7.
Полная диаграмма распределения компонентов IIS 7
Среда управления Windows PowerShell для IIS 7
Я полагаю, что друзья, которые интересуются программированием сценариев или знакомы с Exchange Server 2007, будут знакомы с Windows PowerShell. Windows PowerShell — это оболочка командной строки Windows, специально разработанная для системных администраторов. В эту оболочку включена интерактивная подсказка и среда сценариев, которые можно использовать независимо или в сочетании. Windows PowerShell определенно понравится ИТ-специалистам, которым нравится управление сценариями. Для серверов IIS Windows PowerShell также может предоставлять комплексные функции управления.
[Вырезанная страница]Однако, хотя PowerShell также может управлять IIS6, работающим на Windows Server 2003, управление IIS7 осуществляется через командную строку PowerShell. Он включает новую функцию APPCMD. APPCMD создает и настраивает сайты через стандартный интерфейс командной строки. Сценарии применения таких инструментов командной строки также очень распространены. Когда в среде пользователя используется управление сценариями, APPCMD очень полезен. большое преимущество.
IS 7.0 включен в состав клиентов Windows Vista, а домашняя версия операционной системы также поставляется с IIS 7.0 (в отличие от IIS 5.1, который доступен только в XP Professional). Версия IIS 7.0 сервера будет выпущена вместе с сервером Windows Server 2008 позднее в этом году и добавит ряд дополнительных функций развертывания, включая более широкую поддержку хостов, поддержку безопасного FTP и встроенную поддержку развертывания веб-фермы.
Поддержка веб-ферм была бы особенно полезна, поскольку она позволила бы вам развернуть ваше веб-приложение на общем файловом ресурсе, содержащем весь код, конфигурацию, контент и ключи, необходимые для запуска сервера. Затем вы можете добавить любое количество веб-серверов без сохранения состояния и конфигурации в веб-ферму, просто указав им на этот общий файловый ресурс для динамической загрузки их параметров конфигурации (включая привязки, виртуальные каталоги, настройки пула приложений и т. д.) и содержимого приложений. Это упрощает масштабирование приложения на несколько компьютеров, устраняя необходимость в методах репликации для настройки и развертывания приложения (просто скопируйте файлы в общий файловый ресурс, и все машины в веб-ферме немедленно загрузят изменения в файл).
Бета-версия 3 Windows Server 2008 поддерживает лицензирование, поэтому вскоре вы сможете воспользоваться этой функцией. Мы уже используем Windows Server 2008 в кластере IIS 7.0, так что вы не будете одиноки!
Схема управления Windows PowerShell
Миграция IIS7.0
Миграция веб-сайтов в IIS7.0 удобнее, чем в IIS6.0, поскольку самым большим преимуществом веб-сервера Apache является его индивидуальное управление. IIS7.0 теперь использует концепцию Apache, поэтому скопируйте файл конфигурации сайта на другой IIS7.0. быть установлен на хост-компьютере. Дополнительные сведения см. в разделах «IIS7, настроенных с помощью текстовых файлов» и «Среда управления Windows PowerShell для IIS 7» выше.
[Вырезанная страница]Интеграция ASP.NET и IIS 7.0.
В более ранних версиях IIS разработчикам приходилось писать расширения/фильтры ISAPI для расширения функциональности сервера. Помимо того, что писать сложно, ISAPI также очень ограничен в способах подключения к серверу и позволяет разработчикам настраивать его. Например, вы не можете реализовать код перезаписи URL-адресов в расширении ISAPI (примечание: ASP.NET реализован как расширение ISAPI). Если вы пишете долго выполняющийся код в качестве фильтра ISAPI, в результате вы связываете поток ввода-вывода веб-сервера (именно поэтому мы не позволяем запускаться управляемому коду на этапе выполнения фильтра запроса).
Одним из основных изменений на уровне архитектуры, которые мы внесли в основной механизм обработки IIS в IIS7, является обеспечение чрезвычайно широкой масштабируемости за счет новой модульной архитектуры конвейера запросов. Теперь вы можете писать код на любом этапе жизненного цикла любого HTTP-запроса, зарегистрировав модуль расширения HTTP на веб-сервере. Эти модули расширения можно написать с использованием собственного кода C++ или управляемого кода .NET (для этого можно использовать существующий интерфейс ASP.NET System.Web.IHttpModule).
Все «встроенные» функции IIS7 (аутентификация, авторизация, обслуживание статических файлов, поддержка списков каталогов, классический ASP, ведение журналов и т. д.) теперь реализуются с использованием этого общедоступного модульного конвейерного API. Это означает, что вы можете удалить любую из этих «встроенных» функций IIS7 и заменить/расширить их собственной реализацией.
[Вырезанная страница]Сам ASP.NET в IIS 7.0 также превратился из реализации ISAPI в модуль, напрямую подключенный к конвейеру IIS7:
Сравнительная таблица IIS6.0 и IIS7.0
Это приносит много преимуществ:
1) Теперь вы можете использовать аутентификацию форм ASP.NET, членов/ролей и любые другие функции для всех запросов к серверу (например, файлы .htm, .php, .jsp).
2) Теперь вы можете легко переписать URL-адрес любого веб-запроса или изменить его любыми интересными способами.
3) Вы можете заменить или расширить любую существующую функцию IIS с помощью VB или C# (например, вы можете удалить встроенный модуль вывода списка каталогов и подключить свой собственный модуль).
Это действительно открывает безграничные возможности расширения для разработчиков .NET.
Шесть новых функций IIS 7.0:
1) Модульное ядро сети позволяет пользователям добавлять и удалять определенные функции. Если вы хотите использовать компонент статистики сервиса, потребуется всего несколько модулей (исключая ISAPI).
2) Единый стандартный HTTP-конвейер, соответствующий локальным приложениям управления. Пользователи могут использовать систему аутентификации на основе форм для классических веб-страниц ASP.
3) Пользователи могут создавать свои собственные IHttpModule и IHttpHandlers и вставлять их в единый конвейер.
4) Новая распределенная система настройки XML, использующая преимущества системы настройки ASP.NET.
5) Улучшенный механизм диагностики и решения проблем, включая новый статус выполнения и функции отслеживания.
6) Новый расширяемый, ориентированный на задачи пользовательский интерфейс администратора.
В целом, IIS 7 предоставит веб-администраторам и веб-энтузиастам более богатые и простые в использовании инструменты управления. В новом IIS7 аспекты управления и безопасности были полностью переработаны. С точки зрения группы пользователей, используя IIS7, отдельные пользователи могут быстрее и проще создавать свои собственные сайты, в то время как корпоративные пользователи могут поддерживать и управлять своей собственной веб-средой. более полно и безопасно. По мере приближения Windows Server 2008, я полагаю, будет все больше и больше информации об управлении IIS7. Давайте подождем и посмотрим, принесла ли новая версия существенные изменения или это просто улучшение функций сервера IIS.
[Вырезанная страница]В новом IIS 7 эта проблема была значительно решена. Теперь пользователи могут использовать инструменты управления для создания и управления любым количеством веб-сайтов на клиентских компьютерах Windows. Он больше не ограничивается одним веб-сайтом. В то же время, по сравнению с предыдущими версиями IIS, интерфейс управления IIS7 более дружелюбный и мощный. Кроме того, инструменты управления IIS7 написаны на .NET и Windows Forms. можно расширить. Это означает, что пользователи могут добавлять свои собственные модули пользовательского интерфейса в инструмент управления, чтобы обеспечить поддержку управления своими собственными модулями среды выполнения HTTP и параметрами конфигурации.
Улучшения безопасности IIS 7
Проблемы безопасности всегда являются главным приоритетом при атаке на Microsoft. На самом деле дело не в том, что Microsoft безразлична к безопасности. Дело в том, что Microsoft — такой огромный боевой корабль, что неизбежна потеря всех секретов. К счастью, Microsoft активно реагирует. к каждому мнению по безопасности с предложениями. Проблемы безопасности IIS в основном сосредоточены на эффективном управлении и управлении разрешениями программ .NET. В IIS 7 внесены соответствующие улучшения в ответ на проблемы безопасности, с которыми сталкивается сервер IIS.
В новой версии настройки управления IIS и ASP.NET объединены в единый инструмент управления. Это позволяет пользователям просматривать и устанавливать правила аутентификации и авторизации в одном месте, вместо того, чтобы проходить через несколько разных диалоговых окон. Это предоставляет менеджерам более последовательный и понятный пользовательский интерфейс, а также унифицированный опыт управления на веб-платформе.
В IIS7 приложения .NET выполняются непосредственно через код IIS, а не отправляются в расширение API интернет-сервера, что снижает возможные риски и повышает производительность. В то же время инструмент управления имеет встроенную поддержку членов ASP.NET 3.0 и. Система управления ролями обеспечивает поддержку интерфейса управления. Это означает, что пользователи могут создавать роли и пользователей и управлять ими в инструменте управления, а также назначать роли пользователям. Ниже приведена полная диаграмма компонентов IIS 7.
Полная диаграмма распределения компонентов IIS 7
Среда управления Windows PowerShell для IIS 7
Я полагаю, что друзья, которые интересуются программированием сценариев или знакомы с Exchange Server 2007, будут знакомы с Windows PowerShell. Windows PowerShell — это оболочка командной строки Windows, специально разработанная для системных администраторов. В эту оболочку включена интерактивная подсказка и среда сценариев, которые можно использовать независимо или в сочетании. Windows PowerShell определенно понравится ИТ-специалистам, которым нравится управление сценариями. Для серверов IIS Windows PowerShell также может предоставлять комплексные функции управления.