Microsoft Internet Information Server (IIS) является веб-сервером, разработанным компанией Microsoft для использования на платформах Windows. Основное назначение программы IIS – обеспечить хостинг веб-сайтов и приложений на сервере, а также управление их развертыванием и поддержкой.
IIS предоставляет возможность управления различными протоколами связи, включая HTTP, HTTPS, FTP и SMTP, во времена ранних версий Windows NT 4 поддерживался также и протокол Gopher. Этот сервер также поддерживает различные языки программирования, такие как PHP, Ruby, PERL, ASP.NET, CGI и другие, что позволяет создавать самые разнообразные веб-приложения. Также Microsoft Internet Information Server может использовать любые базы данных, доступные через ODBC, в частности Microsoft SQL Server, и является web сервером для Microsoft SharePoint.
Благодаря своей высокой производительности, надежности и безопасности, IIS является довольно популярным выбором для развертывания веб-сайтов и приложений на платформе Windows.
Веб-сервер IIS предоставляет несколько способов разграничения доступа пользователей к сайтам и веб-приложениям. Служба WWW в составе IIS отличается от других веб-серверов тем, что функции обеспечения безопасности в ней тесно интегрированы с системой Windows NT, на основе которой она работает. В частности, чтобы получить доступ к защищённому ресурсу, посетитель должен ввести имя и пароль пользователя, существующего в системе Windows, на которой установлен IIS (или в домене Active Directory, если сервер принадлежит к домену). После этого пользователь работает с сайтом так же, как если бы он выполнил интерактивный вход в систему на сервере. К нему применяются установленные файловой системой NTFS разрешения на доступ к файлам и каталогам. Эта особенность IIS удобна для внутренних сайтов предприятий, однако практически неприменима для открытых сайтов Интернета, где невозможно создавать пользователя Windows для каждого зарегистрированного посетителя сайта. Поэтому в последнем случае разработчикам сайтов и веб-приложений обычно приходится использовать собственные механизмы ограничения доступа. Начиная с 8 версии, появилась возможность удаленного управления, с помощью Powershell.
Определённый пользователь Windows сопоставляется с каждым посетителем сайта даже в том случае, когда ограничение доступа не требуется. Этот режим называется режимом анонимного доступа. В этом случае посетитель представляется на сервере как специальный пользователь, имя которого обычно имеет формат IUSR_xxxx
(где xxxx
— имя компьютера, на котором установлен IIS, в седьмой версии этот специальный пользователь не содержит имени компьютера, то есть просто IUSR
). Этому пользователю должен быть разрешён доступ к ресурсам, которые открыты анонимным посетителям.
Начиная с версии 6.0 служба WWW поддерживает следующие методы аутентификации, то есть определения личности пользователя по имени и паролю:
- Анонимная аутентификация (anonymous authentication) — определение личности пользователя не выполняется.
- Базовая аутентификация (basic authentication) — имя и пароль передаются по сети открытым текстом.
- Дайджест аутентификация (digest authentication) — пароль обрабатывается хеш-функцией перед отправкой по сети, что делает невозможным его прочтение в случае перехвата злоумышленником.
- Встроенная аутентификация Windows (integrated Windows authentication) — выполняется попытка входа на сервер с теми же учётными данными, под которыми работает браузер пользователя.
- Аутентификация для доступа к UNC-ресурсам (UNC authentication) — имя и пароль передаются удаленному серверу, на котором находится опубликованный в IIS UNC-ресурс, и удаленный сервер выполняет аутентификацию.
- Аутентификация с использованием .NET Passport (.NET Passport Authentication) (удалена в Windows Server 2008 и IIS 7.0) — для аутентификации используется служба .NET Passport.
- Аутентификация с использованием клиентского сертификата (certificate authentication) — для аутентификации пользователь должен предоставить SSL-сертификат.
Преимущества программы Microsoft Internet Information Server (IIS):
1. Хорошая совместимость с продуктами Microsoft: IIS лучше всего работает с другими продуктами и технологиями Microsoft, такими как Windows Server, ASP.NET и SQL Server.
2. Простота установки и настройки: IIS легко устанавливается и настраивается на сервере Windows, что делает его привлекательным выбором для пользователей, знакомых с экосистемой Microsoft.
3. Безопасность: IIS обеспечивает более высокий уровень безопасности благодаря механизмам аутентификации, авторизации и защите от атак.
4. Высокая производительность: IIS обеспечивает более эффективное управление ресурсами сервера, что позволяет обрабатывать большой объем запросов.
Недостатки программы Microsoft Internet Information Server (IIS):
1. Ограниченная поддержка для некоторых технологий: IIS не всегда имеет полную поддержку для некоторых популярных технологий и языков программирования, таких как PHP.
2. Цена: для использования IIS требуется приобретение лицензии на Windows Server, что может быть несколько затратным для некоторых пользователей.
3. Сложность настройки в некоторых случаях: хотя установка и настройка IIS обычно легкие и простые, в некоторых случаях могут возникать сложности при конфигурировании определенных функций.
4. Зависимость от экосистемы Microsoft: IIS лучше работает вместе с другими продуктами Microsoft, что может ограничить выбор пользователей, использующих разнообразные технологии.