Internetowe usługi informacyjne — Internet Information Services

Internetowe usługi informacyjne
Konsola zarządzania IIS 8.5.9431.png
Zrzut ekranu konsoli IIS Manager Internetowych usług informacyjnych 8.5
Deweloper(zy) Microsoft
Pierwsze wydanie 30 maja 1995 ; 26 lat temu ( 30.05.1995 )
Wersja stabilna
10.0.17763.1 / 2 października 2018 ; 2 lata temu ( 02.10.2018 )
Napisane w C++
System operacyjny Windows NT
Dostępne w Te same języki co Windows
Rodzaj serwer internetowy
Licencja Część Windows NT (ta sama licencja)
Stronie internetowej www .iis .net

Internetowe usługi informacyjne ( IIS , dawniej Internet Information Server ) to rozszerzalne oprogramowanie serwera sieci Web stworzone przez firmę Microsoft do użytku z rodziną Windows NT . IIS obsługuje HTTP , HTTP/2 , HTTPS , FTP , FTPS , SMTP i NNTP . Jest integralną częścią rodziny Windows NT od czasu Windows NT 4.0 , chociaż może być nieobecny w niektórych wydaniach (np. Windows XP Home edition) i domyślnie nie jest aktywny.

Historia

Pierwszy serwer sieciowy Microsoft był projektem badawczym w Europejskim Centrum Akademickim Microsoft Windows NT (EMWAC), części Uniwersytetu Edynburskiego w Szkocji i był rozpowszechniany jako freeware . Ponieważ jednak serwer EMWAC nie był w stanie obsłużyć dużego ruchu kierowanego do witryny Microsoft.com , firma Microsoft została zmuszona do opracowania własnego serwera WWW, IIS.

Prawie każda wersja IIS została wydana razem z wersją Microsoft Windows lub z wersją Microsoft Windows:

  • IIS 1.0 został początkowo wydany jako darmowy dodatek dla systemu Windows NT 3.51.
  • Usługi IIS 2.0 zostały dołączone do systemu Windows NT 4.0.
  • IIS 3.0, który był dołączony do dodatku Service Pack 2 systemu Windows NT 4.0, wprowadził dynamiczne środowisko skryptowe Active Server Pages .
  • IIS 4.0 został wydany jako część „Pakietu opcji” dla systemu Windows NT 4.0. Wprowadzono nową aplikację administracyjną opartą na MMC , a także była pierwszą wersją, w której można uruchamiać wiele instancji serwerów WWW i FTP, rozróżniając je według numeru portu i/lub nazwy hosta. Była to również pierwsza wersja, która uruchamiała pule aplikacji.
  • IIS 5.0 był dostarczany z systemem Windows 2000 i wprowadzał dodatkowe metody uwierzytelniania, obsługę protokołu WebDAV oraz ulepszenia ASP . IIS 5.0 zrezygnował również z obsługi protokołu Gopher . W IIS 5.0 dodano HTTP.SYS.
  • IIS 5.1 był dostarczany z systemem Windows XP Professional i był prawie identyczny z IIS 5.0 w systemie Windows 2000.
  • Usługi IIS 6.0 zawarte w systemach Windows Server 2003 i Windows XP Professional x64 Edition , dodały obsługę protokołu IPv6 i zawierają nowy model procesów roboczych, który zwiększa bezpieczeństwo i niezawodność. Protokół HTTP.sys został wprowadzony w usługach IIS 6.0 jako odbiornik protokołu specyficznego dla protokołu HTTP dla żądań HTTP. Również każdy komponent (jak na przykład Server Side Includes lub ASP) musi być teraz jawnie zainstalowany, ponieważ we wcześniejszych wersjach hakerzy często wchodzili na strony używając błędów bezpieczeństwa komponentów, które nie były nawet używane przez hackowaną stronę, co poprawiało bezpieczeństwo.
  • IIS 7.0 był całkowicie przeprojektowanym i napisanym na nowo usługami IIS i był dostarczany z systemami Windows Vista i Windows Server 2008 . IIS 7.0 zawierał nową, modułową konstrukcję, która pozwoliła na zmniejszoną powierzchnię ataku i zwiększoną wydajność. Wprowadzono również hierarchiczny system konfiguracji umożliwiający prostsze wdrażanie witryn, nową aplikację do zarządzania opartą na Windows Forms , nowe opcje zarządzania z wiersza poleceń i zwiększoną obsługę platformy .NET Framework . IIS 7.0 w systemie Vista nie ogranicza liczby dozwolonych połączeń, jak w przypadku usług IIS w systemie XP, ale ogranicza liczbę jednoczesnych żądań do 10 (Windows Vista Ultimate, Business i Enterprise Editions) lub 3 (Vista Home Premium). Dodatkowe żądania są umieszczane w kolejce, co zmniejsza wydajność, ale nie są odrzucane, jak w przypadku XP.
  • IIS 7.5 był zawarty w Windows 7 (ale musi być włączony w bocznym panelu Programy i funkcje) oraz Windows Server 2008 R2 . W usługach IIS 7.5 ulepszono moduły WebDAV i FTP, a także administrację z wiersza polecenia w programie PowerShell . Wprowadzono również obsługę TLS 1.1 i TLS 1.2 oraz narzędzie Best Practices Analyzer i izolację procesów dla pul aplikacji.
  • Usługi IIS 8.0 są dostępne tylko w systemach Windows Server 2012 i Windows 8 . IIS 8.0 obejmuje między innymi SNI (powiązanie SSL z nazwami hostów, a nie adresami IP), inicjowanie aplikacji, scentralizowaną obsługę certyfikatów SSL i skalowanie wielordzeniowe na sprzęcie NUMA .
  • Usługi IIS 8.5 są zawarte w systemach Windows Server 2012 R2 i Windows 8.1 . Ta wersja obejmuje stronę bezczynności procesu roboczego, dynamiczną aktywację witryny, rozszerzone rejestrowanie, rejestrowanie ETW i automatyczne ponowne wiązanie certyfikatu.
  • IIS 10.0 w wersji 1607 aka w wersji 10.0.14393 jest zawarty w Windows Server 2016 wydanym 2016-09-26 i Windows 10 Anniversary Update wydany 2016-08-02. Ta wersja obejmuje obsługę protokołu HTTP/2 , uruchamianie usług IIS w kontenerach systemu Windows na serwerze Nano, nowy interfejs API do zarządzania Resztą i odpowiadający mu interfejs graficzny zarządzania oparty na sieci Web oraz nagłówki hosta Wildcard.
  • IIS 10.0 w wersji 1709 jest zawarty w Windows Server, wersja 1709 (półroczny kanał) i Windows 10 Fall Creators Update, oba wydane 2017-10-17. W tej wersji dodano obsługę HSTS , ulepszenia kontenera, nowe polecenia cmdlet programu PowerShell wiążące witryny i 4 nowe zmienne serwera z prefiksem „CRYPT_”.
  • IIS 10.0 w wersji 1809 aka w wersji 10.0.17763 jest zawarty w Windows Server 2019 i Windows 10 October Update wydanym 2018-10-02. W tej wersji dodano flagi do kontroli HTTP/2 i OCSP Stapling na witrynę, interfejs API kompresji i moduł implementacyjny obsługujący zarówno schematy gzip, jak i brotli oraz interfejs użytkownika do konfiguracji HSTS .

Wszystkie wersje usług IIS starsze niż 7.0 działające na klienckich systemach operacyjnych obsługiwały tylko 10 jednoczesnych połączeń i jedną witrynę internetową.

Microsoft był krytykowany przez producentów innego oprogramowania serwerowego, w tym O'Reilly & Associates i Netscape , za licencjonowanie wczesnych wersji Windows NT; edycja „Workstation” systemu operacyjnego zezwalała tylko na dziesięć jednoczesnych połączeń TCP/IP, podczas gdy droższa edycja „Server”, która poza tym miała niewiele dodatkowych funkcji, zezwalała na nieograniczoną liczbę połączeń, ale zawierała IIS. Sugerowano, że miało to zniechęcić konsumentów do uruchamiania alternatywnych pakietów serwerów internetowych w tańszej edycji. Firma Netscape napisała list otwarty do Wydziału Antymonopolowego Departamentu Sprawiedliwości Stanów Zjednoczonych w sprawie tego rozróżnienia w licencjonowaniu produktów, które, jak twierdziło, nie miało żadnych zalet technicznych. O'Reilly pokazał, że użytkownik może usunąć narzucone limity, które miały sparaliżować NT 4.0 Workstation jako serwer WWW, dokonując dwóch zmian w kluczu rejestru i innych trywialnych zmian w pliku konfiguracyjnym.

Cechy

Usługi IIS 6.0 i nowsze obsługują następujące mechanizmy uwierzytelniania :

IIS 7.0 ma architekturę modułową. Moduły, zwane również rozszerzeniami, mogą być dodawane lub usuwane pojedynczo, dzięki czemu muszą być instalowane tylko moduły wymagane do określonej funkcjonalności. IIS 7 zawiera moduły natywne w ramach pełnej instalacji. Te moduły to indywidualne funkcje, których serwer używa do przetwarzania żądań.

IIS 7.5 zawiera następujące dodatkowe lub ulepszone funkcje zabezpieczeń:

  • Mapowanie certyfikatu klienta
  • Bezpieczeństwo IP
  • Filtrowanie żądań
  • Autoryzacja adresu URL

Uwierzytelnianie zmieniło się nieznacznie między usługami IIS 6.0 i IIS 7, w szczególności w tym, że anonimowy użytkownik o nazwie „IUSR_{machinename}” jest wbudowanym kontem w systemie Vista i przyszłych systemach operacyjnych i ma nazwę „IUSR”. Warto zauważyć, że w IIS 7 każdy mechanizm uwierzytelniania jest wyizolowany w swoim własnym module i można go zainstalować lub odinstalować.

IIS 8.0 oferuje nowe funkcje ukierunkowane na wydajność i łatwiejszą administrację. Nowe funkcje to:

  • Inicjalizacja aplikacji: funkcja, która umożliwia administratorowi skonfigurowanie niektórych aplikacji do automatycznego uruchamiania podczas uruchamiania serwera. Zmniejsza to czas oczekiwania użytkowników, którzy uzyskują dostęp do witryny po raz pierwszy po ponownym uruchomieniu serwera.
  • Strona powitalna podczas inicjowania aplikacji: administrator może skonfigurować stronę powitalną, która będzie wyświetlana odwiedzającym witrynę podczas inicjowania aplikacji.
  • Obsługa ASP.NET 4,5: w przypadku usług IIS 8.0 ASP.NET 4.5 jest domyślnie dołączany, a usługi IIS oferują również kilka opcji konfiguracji umożliwiających uruchamianie ich równolegle z ASP.NET 3.5.
  • Scentralizowana obsługa certyfikatów SSL: funkcja, która ułatwia zarządzanie certyfikatami, umożliwiając administratorowi przechowywanie i dostęp do certyfikatów w udziale plików.
  • Skalowanie wielordzeniowe na sprzęcie NUMA : IIS 8.0 udostępnia kilka opcji konfiguracyjnych, które optymalizują wydajność w systemach z obsługą NUMA, takich jak uruchamianie kilku procesów roboczych w jednej puli aplikacji, przy użyciu miękkiego lub twardego powinowactwa i nie tylko.
  • Obsługa protokołu WebSocket
  • Server Name Indication (SNI): SNI jest rozszerzeniem Transport Layer Security, które umożliwia powiązanie wielu witryn sieci Web o różnych nazwach hosta z jednym adresem IP (podobnie jak w przypadku nagłówków hosta w witrynach innych niż SSL).
  • Dynamiczne ograniczenia adresu IP: funkcja umożliwiająca administratorowi dynamiczne blokowanie adresów IP lub zakresów adresów IP, które trafiają do serwera z dużą liczbą żądań
  • CPU Throttling: zestaw elementów sterujących, które pozwalają administratorowi serwera kontrolować wykorzystanie procesora przez każdą pulę aplikacji w celu optymalizacji wydajności w środowisku wielodostępnym

IIS 8.5 zawiera kilka ulepszeń związanych z wydajnością w scenariuszach na dużą skalę, takich jak te używane przez komercyjnych dostawców hostingu i własne oferty chmurowe firmy Microsoft. Ma również kilka dodatkowych funkcji związanych z rejestrowaniem i rozwiązywaniem problemów. Nowe funkcje to:

  • Strona bezczynnego procesu roboczego: funkcja zawieszania bezczynnej witryny w celu zmniejszenia zużycia pamięci przez bezczynne witryny
  • Dynamiczna aktywacja witryny: funkcja, która rejestruje kolejki nasłuchiwania tylko w witrynach, które otrzymały żądania
  • Ulepszone rejestrowanie: funkcja umożliwiająca zbieranie zmiennych serwera, nagłówków żądań i nagłówków odpowiedzi w dziennikach IIS
  • Rejestrowanie ETW: dostawca ETW, który umożliwia zbieranie dzienników w czasie rzeczywistym za pomocą różnych narzędzi do śledzenia zdarzeń
  • Automatyczne ponowne wiązanie certyfikatu: funkcja, która wykrywa, kiedy certyfikat witryny został odnowiony i automatycznie ponownie wiąże z nim witrynę

Wyrazić

IIS Express , uproszczona (4,5–6,6 MB) wersja usług IIS, jest dostępna jako samodzielny, bezpłatny serwer i można ją zainstalować w systemie Windows XP z dodatkiem Service Pack 3 i kolejnych wersjach systemu Microsoft Windows. IIS 7.5 Express obsługuje tylko protokoły HTTP i HTTPS. Jest przenośny, przechowuje swoją konfigurację dla każdego użytkownika, nie wymaga uprawnień administracyjnych i próbuje uniknąć konfliktów z istniejącymi serwerami sieciowymi na tej samej maszynie. IIS Express można pobrać osobno lub jako część WebMatrix lub Visual Studio 2012 i nowszych. (W programie Visual Studio 2010 i wcześniejszych programiści sieci Web opracowujący aplikacje ASP.NET używali serwera ASP.NET Development Server o nazwie kodowej „Cassini”.) Domyślnie usługi IIS Express obsługują tylko ruch lokalny.

Rozszerzenia

Usługi IIS publikują nowe moduły funkcji między wydaniami głównych wersji, aby dodać nowe funkcje. Następujące rozszerzenia są dostępne dla IIS 7.5:

  • Usługa publikowania FTP: umożliwia twórcom zawartości sieci Web bezpieczne publikowanie zawartości na serwerach sieci Web IIS 7 z uwierzytelnianiem opartym na protokole SSL i przesyłaniem danych.
  • Pakiet administracyjny: dodaje obsługę administracyjnego interfejsu użytkownika dla funkcji zarządzania w IIS 7, w tym autoryzację ASP.NET, błędy niestandardowe, konfigurację FastCGI i filtrowanie żądań.
  • Application Request Routing : udostępnia moduł routingu oparty na proxy, który przekazuje żądania HTTP do serwerów zawartości na podstawie nagłówków HTTP, zmiennych serwerowych i algorytmów równoważenia obciążenia.
  • Menedżer bazy danych: umożliwia łatwe zarządzanie lokalnymi i zdalnymi bazami danych z poziomu Menedżera IIS.
  • Usługi multimedialne: integruje platformę dostarczania multimediów z usługami IIS w celu zarządzania i administrowania dostarczaniem multimediów i innej zawartości sieci Web.
  • Moduł ponownego zapisywania adresów URL: zapewnia mechanizm ponownego zapisywania oparty na regułach w celu zmiany adresów URL żądań przed ich przetworzeniem przez serwer sieci Web.
  • WebDAV: umożliwia autorom sieci Web bezpieczne publikowanie zawartości na serwerach sieci Web usług IIS 7, a administratorom sieci Web i usługodawcom hostingowym zarządzanie ustawieniami WebDAV przy użyciu narzędzi do zarządzania i konfiguracji usług IIS 7.
  • Narzędzie do wdrażania w sieci Web: synchronizuje serwery IIS 6.0 i IIS 7, migruje serwer IIS 6.0 do IIS 7 i wdraża aplikacje sieci Web na serwerze IIS 7.

Stosowanie

Według Netcraft w lutym 2014 r. IIS miał „udział w rynku wszystkich witryn” wynoszący 32,80%, co czyni go drugim najpopularniejszym serwerem sieciowym na świecie, za Apache HTTP Server z 38,22%. Netcraft wykazał rosnący trend udziału w rynku dla IIS od 2012 roku. Jednak 14 lutego 2014 roku W3Techs pokazuje inne wyniki. Według W3Techs, IIS jest trzecim najczęściej używanym serwerem WWW za Apache HTTP Server (1. miejsce) i Nginx . Co więcej, od lutego 2013 r. wykazuje stałą tendencję spadkową w zakresie korzystania z usług IIS.

Dane firmy Netcraft z lutego 2017 r. wskazują, że IIS miał „udział w rynku wśród milionów najbardziej ruchliwych witryn” wynoszący 10,19%, co czyni go trzecim najpopularniejszym serwerem internetowym na świecie, za Apache z 41,41% i nginx z 28,34%.

Bezpieczeństwo

IIS 4 i IIS 5 były narażone na lukę w zabezpieczeniach CA-2001-13, która doprowadziła do niesławnego ataku Code Red ; jednak w obu wersjach 6.0 i 7.0 nie zgłoszono problemów z tą konkretną usterką. W IIS 6.0 Microsoft zdecydował się na zmianę zachowania preinstalowanych programów obsługi ISAPI , z których wiele było przyczyną luk w wersjach 4.0 i 5.0, zmniejszając w ten sposób powierzchnię ataku IIS. Ponadto w usługach IIS 6.0 dodano funkcję o nazwie „Rozszerzenia usług sieci Web”, która uniemożliwia usługom IIS uruchamianie dowolnego programu bez wyraźnej zgody administratora.

Domyślnie usługi IIS 5.1 i wcześniejsze uruchamiają witryny internetowe w jednym procesie, uruchamiając kontekst konta System, czyli konta systemu Windows z uprawnieniami administracyjnymi. W wersji 6.0 wszystkie procesy obsługi żądań działają w kontekście konta usługi sieciowej, które ma znacznie mniej uprawnień, więc jeśli w funkcji lub w niestandardowym kodzie pojawi się luka, niekoniecznie narazi to cały system, biorąc pod uwagę środowisko sandboxowe. uruchomione procesy robocze. Usługi IIS 6.0 zawierały również nowy stos HTTP jądra ( http.sys) z bardziej rygorystycznym analizatorem żądań HTTP i pamięcią podręczną odpowiedzi zarówno dla zawartości statycznej, jak i dynamicznej.

Według Secunia w czerwcu 2011 r. w IIS 7 było łącznie sześć usuniętych luk w zabezpieczeniach, podczas gdy w IIS 6 było w sumie jedenaście luk, z których jedna nadal nie została naprawiona. Poradnik bezpieczeństwa bez poprawki ma wskaźnik ważności 2 na 5.

W czerwcu 2007 r. badanie przeprowadzone przez Google na 80 milionach domen wykazało, że podczas gdy udział w rynku IIS wynosił wówczas 23%, serwery IIS zawierały 49% światowego szkodliwego oprogramowania, podobnie jak serwery Apache, których udział w rynku wynosił 66%. W badaniu zaobserwowano również położenie geograficzne tych brudnych serwerów i zasugerowano, że przyczyną tego może być korzystanie z nielicencjonowanych kopii systemu Windows, które nie mogły uzyskać aktualizacji zabezpieczeń od firmy Microsoft. W poście na blogu z 28 kwietnia 2009 r. firma Microsoft zauważyła, że ​​udostępnia aktualizacje zabezpieczeń wszystkim bez autentycznej weryfikacji.

W 2013 ujawnienia nadzoru masa staje się on bardziej ogólnie wiadomo, że IIS szczególnie złe wspierania doskonałe utajnienie przodu (PFS), zwłaszcza gdy są stosowane w połączeniu z Internet Explorer. Posiadanie jednego z długoterminowych asymetrycznych kluczy tajnych używanych do ustanowienia sesji HTTPS nie powinno ułatwiać uzyskania klucza sesji krótkoterminowej w celu odszyfrowania konwersacji, nawet w późniejszym czasie. Wymiana kluczy Diffiego-Hellmana (DHE) i wymiana kluczy Diffiego-Hellmana (ECDHE) na krzywej eliptycznej są jedynymi, o których wiadomo, że mają tę właściwość w 2013 roku. Używa go tylko 30% sesji Firefox, Opera i Chromium Browser oraz prawie 0% sesji Apple Safari i Microsoft Internet Explorer.

Zobacz też

Bibliografia

Linki zewnętrzne