Internet Information Services
IIS (Internet Information Services, до версії 5.1 — Internet Information Server) — це набір серверів для декількох служб Інтернету від компанії Майкрософт. IIS поширюється з операційними системами родини Windows NT.
Консоль IIS 7.0 | |
Тип | Вебсервер |
---|---|
Розробник | Microsoft |
Стабільний випуск | 7.0 |
Операційна система | Microsoft Windows |
Мова програмування | C++ |
Ліцензія | Proprietary software |
Вебсайт | microsoft.com/iis |
Основний компонент IIS — веб-сервер, який дозволяє розміщувати в Інтернеті сайти. IIS підтримує протоколи HTTP, HTTPS, FTP, POP3, SMTP, NNTP. IIS п'ятий за популярністю веб-сервер за кількістю сайтів, після Nginx, Apache HTTP Server, Cloudflare Server та LiteSpeed. За даними w3Techs[1] доля ринку Microsoft-IIS на вересень 2021 року - 6,6%.
Версії
- IIS 1.0, Windows NT 3.51, як безкоштовне доповнення
- IIS 2.0, Windows NT 4.0
- IIS 3.0, Windows NT 4.0 Service Pack 3. Підтримка ASP.
- IIS 4.0, Windows NT 4.0 Option Pack. Довий додаток для адміністрування на основі MMC.
- IIS 5.0, Windows 2000. Підтримка WebDAV та розширення до ASP.
- IIS 5.1, Windows XP Professional.
- IIS 6.0, Windows Server 2003 та Windows XP Professional x64 Edition. Підтримка IPv6, та нова модель роботи з робочими процесами.
- IIS 7.0, Windows Vista та Windows Server 2008. Новий модульний дизайн, ієрархічна система конфігурації, покращена підтримка .NET.Framework.
- IIS 7.5, Windows 7 та Windows Server 2008 R2. Покращено модулі WebDAV та FTP, можливість адміністрування через командний рядок в PowerShell. Підтримка TLS 1.1 та TLS 1.2, інструмент Best Practices Analyzer, та ізоляцію процесів для пулів додатку.
- IIS 8.0, Windows Server 2012 та Windows 8. Підтримка SNI та ін.
- IIS 8.5, Windows Server 2012 R2 та Windows 8.1.
- IIS 10.0, Windows Server 2016 та Windows 10. Підтримка HTTP/2, OSCP Stapling, HSTS та ін.
Версія 7.0
Вперше з'явилась у «Windows Vista» а також включена до складу «Windows Server 2008». IIS 7.0 має модульну архітектуру. На відміну від монолітних серверів, які надають всі свої сервіси, IIS 7 має ядро двигуна веб-сервера. Модулі зі специфічною функціональністю можуть бути додані до рушія. Переваги такої архітектури в тому, що тільки необхідні функції можуть бути увімкнені, а функціональність може бути розширена за рахунок використання спеціальних модулів.
IIS 7 розповсюджується з невеликою кількістю модулів, але Microsoft обіцяє зробити інші модулі доступними онлайн.[2] Наступний набір модулів розповсюджується з сервером:
- HTTP модулі
- Модулі безпеки
- Модулі контенту
- Модулі стиснення
- Модулі кешування
- Модулі для протоколювання та діагностики
Значна зміна в порівнянні з попередніми версіями IIS полягає в тому що вся конфігураційна інформація зберігається виключно в конфігураційних XML файлах, а не в метабазах. Сервер має глобальний кофігураційний файл, який містить налаштування за замовчуванням, і кожна коренева віртуальна веб директорія(так само як і її піддиректорії) можуть містити web.config файл, в якому глобальні налаштування розширюються або заміщуються. Внесені зміни в ці файли починають діяти відразу.
IIS 7 має повністю змінений адміністративний інтерфейс, який використовує такі переваги сучасної MMC, як панель задач та асинхронні операції. Налаштування ASP.NET ще більше інтегроване в адміністративний інтерфейс.
Історія IIS
Перша версія IIS була випущена, як додатковий набір Інтернет сервісів для Windows NT 3.51. IIS 2.0 з'явився в операційній системі Windows NT 4.0. В IIS 3.0 вже була представлена Active Server Pages, технологія динамічного формування веб-сторінок. В IIS 4.0 відмовились від підтримки протоколу Gopher і розповсюджувався окремо на диску «Option Pack» CD-ROM for Windows NT.
Версії IIS, які підтримуються в цей час: 7.0 для Windows Vista, 6.0 для Windows Server 2003 та 5.1 для Windows XP Professional. Windows XP має обмежену версію IIS 5.1, яка підтримує тільки 10 одночасних підключень й один вебсайт.[3] В IIS 6.0 підтримує IPv6. FastCGI модуль також доступний для IIS5.1, IIS6[4] та IIS7.[5]
У Windows Vista IIS 7.0 не встановлюється за замовчуванням, але можна вибрати як додатковий компонент для встановлення. IIS 7.0 на Vista не обмежує кількість підключень, але є обмеження при одночасному виконнані декількох запитів.
Безпека
Ранні версії IIS містили багато вразливостей, головна з яких була CA-2001-19, вона призводила до сумнозвісного Code Red черв'яка. 7.0 версія поки що не має задокументованих вразливостей. Хоча на 11 вересня 2007 року відкритий веб-сервер «Apache» має одну невиправлену вразливість,[6] яка відтворюється тільки на системах «MS Windows». В IIS 6.0 у «Microsoft» вирішили змінити поведінку попередньо встановлених ISAPI обробників,[7] багато з яких призводили до вразливостей у версіях 4.0 та 5.0, таким чином зменшили поверхню атаки ISS. Також була додана функція «Web Service Extensions», яка запобігає запуску будь-яких програм без явного дозволу адміністратора. В IIS 7.0 компоненти розділені на модулі, таким чином встановлюються тільки необхідні компоненти, це також зменшує поверхню атаки. Ще одна функція додана для безпеки — це URLFiltering, з її допомогою відхиляються запити з підозрілих URL-адрес, правила визначення підозрілих URL формуються користувачем.
У версії 5.1 та нижче усі вебсайти запускалися в процесі та під системним(System) обліковим записом,[8] стандартний обліковий запис Windows з розширеними правами. У версії 6.0 усі процеси, що обробляють запити, запускаються під обліковим записом NETWORK SERVICE, який має значно менше привілеїв. IIS 6.0 має новий HTTP-стек у ядрі(http.sys) з суворішим синтаксичним аналізатором HTTP-запитів та кешем для відповідей з статичним та динамічним контентом.
Механізми аутентифікації
IIS 5.0 та вищі підтримують такі механізми аутентифікації:
- Базова аутентифікація (Basic access authentication) — ім'я та пароль передаються в мережі відкритим текстом.
- Стисла аутентифікація (Digest access authentication) — пароль обробляється хеш-функцією перед відправленням по мережі, це унеможливлює відтворення пароля у разі перехоплення зловмисником.
- Інтегрована аутентифікація Windows (Integrated Windows Authentication) — виконується спроба аутентифікації на сервері з тими обліковими даними, під якими працює браузер користувача.
- .NET Passport аутентифікація
Примітки
- Usage Statistics and Market Share of Web Servers, September 2021. w3techs.com. Процитовано 23 вересня 2021.
- IIS DownloadCenter. Архів оригіналу за 26 червня 2013. Процитовано 27 вересня 2007.
- Internet Information Services 5.1. Архів оригіналу за 26 червня 2013. Процитовано 20 липня 2007.
- FastCGI Extension for IIS6.0 and IIS5.1 — Go Live. Архів оригіналу за 26 червня 2013. Процитовано 27 вересня 2007.
- FastCGI for IIS7. Архів оригіналу за 26 червня 2013. Процитовано 27 вересня 2007.
- Apache 2.2.x — Vulnerability Report — Secunia. Процитовано 6 серпня 2007.
- IIS Installs in a Locked-Down Mode (IIS 6.0). MSDN. Архів оригіналу за 26 червня 2013. Процитовано 20 липня 2007.
- HOW TO: Run Applications Not in the Context of the System Account in IIS#Default Installation. Архів оригіналу за 26 червня 2013. Процитовано 20 липня 2007.