Az Internet Information Services (IIS, korábban Internet Information Server) a Microsoft által a Windows NT operációs rendszercsaládhoz készített bővíthető webszerver. Az IIS támogatja a HTTP, HTTPS, FTP, FTPS, SMTP és NNTP protokollokat. A Windows NT 4.0 óta a Windows NT alapú operációs rendszerek szerves részét képezi néhány kivételtől eltekintve (például Windows XP Home). Az IIS alapértelmezésben nincsen bekapcsolva a rendszereken. Az IIS Managert a Microsoft Management Console-on vagy a Vezérlőpultban, az Adminisztrációs eszközökön keresztül lehet elérni.
Történet
Az első Microsoft webszerver egy tanulmányi projekt volt az Európai Microsoft Windows NT Akadémiai Központban (European Microsoft Windows NT Academic Centre, EMWAC – a skót Edinburgh Egyetem része), és ingyenes szoftverként volt terjesztve. Azonban mivel ez az EMWAC által fejlesztett webszerver nem volt képes kezelni a microsoft.com webcímre érkező nagy mértékű forgalmat, a Microsoft kénytelen volt megírni a saját webszerverét, az IIS-t.
Majdnem minden IIS verzió egy új Windows verzióval együtt volt megjelentetve:
IIS 1.0, eredetileg egy ingyenes kiegészítő volt a Windows NT 3.51-hez
IIS 2.0, Windows NT 4.0-val terjesztve
IIS 3.0, a Windows NT 4.0-hoz kiadott Service Pack 2 részeként volt terjesztve, olyan újdonságokkal, mint az Active Server Pages dinamikus szkriptelés lehetősége.
IIS 4.0, a Windows NT 4.0-hoz kiadott opcionális kiegészítőként volt terjesztve.
IIS 5.0, a Windows 2000-rel együtt mutatták be, olyan új jellemzőkkel, mint az új hitelesítési módok támogatása, új adminisztrációs felület (Microsoft Management Console – MMC), a WebDAV protokoll támogatása, és az Active Server Pages továbbfejlesztése. Ezen verzióból eltávolították a Gopher protokoll támogatását.
IIS 5.1, a Windows XP részeként terjesztették. Ez a verzió csaknem teljesen megegyezett a Windows 2000 részeként működő 5.0-s verzióval.
IIS 6.0, a Windows Server 2003 illetve a Windows XP Professional x64 részeként terjesztették. Az IPv6 protokoll támogatása mellett főként biztonsági és megbízhatósági fejlesztéseket tartalmazott.
IIS 7.0, a Windows Server 2008 és a Windows Vista részeként volt terjesztve. Ez a verzió a szoftver teljes újraírását hozta magával – az új moduláris felépítés által megnövekedett a teljesítmény, és a támadható felületek csökkentek, növelve a biztonságot. Ugyancsak ezen verzió részeként bevezették az új hierarchikus konfigurációs rendszert, ami egyszerűbb weboldal feltöltést tett lehetővé; új konzolos kezelési lehetőségeket; illetve egy új Windows Form alapú menedzselési felületet, illetve fejlesztették a .NET keretrendszer támogatását. Az IIS 7.0 Windows Vista rendszeren nem korlátozza az engedélyezett kapcsolatok maximális számát, mint ahogy Windows XP-n teszi, viszont az egyidejű kérések számát korlátozza 10-re (Windows Vista Ultimate, Business és Enterprise verzió) illetve 3-ra (Windows Vista Home Premium verzió). Az ezen felül érkező kéréseket sorba állítja, ami nincs jó hatással a teljesítményre, viszont a kapcsolatok nincsenek visszautasítva, mint Windows XP-n.
IIS 7.5, a Windows 7 és a Windows Server 2008 R2 részeként jelent meg. A verzió főként a WebDAV és FTP modulokat illetve a PowerShellen keresztüli adminisztrációs lehetőségeket fejlesztette. Itt vezették be a TLS 1.1 illetve a TLS 1.2 támogatását, a Best Practices Analyzer eszközt, és a folyamat izolációt az applikációkhoz.
IIS 8.0, a Windows 8 és a Windows Server 2012 részeként érhető el csak. A verzió többek között központi SSL tanúsítvány támogatást, applikáció inicializációt, és többmagos skálázhatóságot a Non-Uniform Memory Access hardvereken.
IIS 8.5, a Windows 8.1 és a Windows Server 2012 R2 részeként mutatkozott be. Ez a verzió továbbfejlesztett naplózást, automatikus tanúsítvány hozzárendelést, dinamikus oldal aktiválást hozott magával egyebek mellett.
Az IIS minden verziója 7.0 alatt kliens rendszeren futtatva korlátozza az egyidejű kapcsolatok számát 10-ben, illetve egyszerre csak egy weboldalt képes kezelni.
A Microsoftot többen is kritizálták a korai Windows NT webszerver terjesztési és licencelési módjai miatt: a Workstation változat csak maximum 10 egyidejű TCP/IP kapcsolatot tett lehetővé, míg a jóval drágább Server verzió csak kevés extra funkcióval rendelkezett, viszont korlátlan számú kapcsolatot lehetővé tett. Úgy gondolták, a Microsoft a webszerver operációs rendszerhez való kapcsolásával azt akarja elérni, hogy a felhasználók ne használjanak alternatív webszervereket az olcsóbb változaton. A Netscape egy nyílt levélben hívta fel az Amerikai Igazságügyi Minisztérium antitröszttel foglalkozó részlegének figyelmét a szerinte technikailag megalapozatlan lépésre.
Jellemzők
IIS 6.0-os verziótól kezdve a következő hitelesítési mechanizmusok támogatottak:
Anonymous hitelesítés
Basic access hitelesítés
Digest access hitelesítés
Integrált Windows hitelesítés
UNC hitelesítés
.NET Passport hitelesítés (Windows Server 2008-ből és IIS 7.0-ból eltávolítva)
Tanusítvány hitelesítés
Az IIS 7.0 architektúrája moduláris. A modulok (vagy kiegészítők) egyesével hozzáadhatók illetve eltávolíthatók, vagyis elég csak a kívánt funkcionalitást biztosító modulokat szükséges betölteni. Az IIS 7 tartalmaz számos natív modult teljes telepítés után. Ezek a kérésfeldolgozó modulok, illetve:
Biztonsági modulok: Biztonsággal kapcsolatos teendőket látnak el, mint a kérés-feldolgozó egység védelmét, kérés szűrést, hitelesítési séma meghatározást, URL hozzáférést.
Tartalom modulok: A kérés-feldolgozó egységben tartalommal kapcsolatos teendőket látnak el, mint a statikus fájlok kiszolgálása, alapértelmezett oldal visszaadása (hibás kérés esetén például) vagy a tartalom listázása a könyvtárakban.
Tömörítő modulok: A kérés-feldolgozó egységben látnak el tömörítéssel kapcsolatos teendőket, mint a válaszok Gzip tömörítése, vagy a statikus tartalmak előtömörítése.
Gyorsítótár modulok: A kérés-feldolgozó egységben látnak egy gyorsítótárral kapcsolatos teendőket, mint a feldolgozott információk tárolása a szerver memóriájában, vagy tartalom szolgáltatása a gyorsítótárból (ha elérhető a tartalom a tárban).
Naplózási és Diagnosztikai modulok: A kérés-feldolgozó egységben látnak el naplózási és diagnosztikai feladatokat, mint információk átadása a HTTP rendszernek naplózásra, kérések feldolgozásának nyomonkövetése, vagy más események naplózása.
Az IIS 7.5 a következő új és továbbfejlesztett biztonsági funkciókkal bír:
Kliens tanúsítvány társítás
IP biztonság
Kérés szűrés Request filtering
URL engedélyezés
A hitelesítés kicsit megváltozott az IIS 6.0 és IIS 7 között: az anonim felhasználó, aminek a neve eddig "IUSR_{számítógépnév}" volt, a Windows Vistában és a későbbi rendszereken egy beépített fiók lett, "IUSR" névvel. Azonban IIS7-ben a hitelesítési mechanizmusok külön modulokban találhatóak, így könnyen kiválasztható a kívánt hitelesítési mód.
Az IIS 8.0 főként a teljesítményre illetve a könnyebb adminisztrációra koncentrált. Az új funkciók:
Applikáció indítás: az adminisztrátornak lehetősége van beállítani programokat, amik a szerver indulásakor automatikusan elindulnak. Ez csökkenti azt az időt, amit a felhasználóknak kell várni hogy elérjék az oldalt a szerver újraindítása után.
„Splash” oldal mutatása applikáció indítás közben: az adminisztrátor be tud állítani egy „splash” képet, amit a felhasználók láthatnak az oldal helyén, amíg az applikáció elindul.
ASP.net 4.5 támogatás: az IIS 8.0 tartalmazza az ASP.net 4.5-öt, illetve tartalmaz konfigurációs beállításokat, hogy az ASP.net 4.5 egyszerre futhasson a régebbi ASP-net 3.5-tel.
Központi SSL tanúsítvány támogatás: a funkció a tanúsítványok kezelését teszi könnyebbé azáltal, hogy lehetőséget ad arra, hogy a tanúsítványokat egy helyen, egy merevlemezen (vagy más tárolón) legyenek tárolva.
Többmagos skálázás NUMA hardvereken: az IIS 8.0 számos beállítási lehetőséget tartalmaz a NUMA rendszerek teljesítményoptimalizálásához, mint például processzor affinitás beállítása a folyamatokhoz.
Szervernév-indikáció (Serve Name Indication – SNI): az SNI a TLS egy kiterjesztése, ami több weboldal különböző kiszolgálóneveinek hozzárendelését engedi egy IP címhez (hasonlóan ahogy a kiszolgáló headereket használják a nem SSL oldalakhoz).
Dinamikus IP-cím-korlátozások: lehetőséget az adminisztrátorokank, hogy dinamikusan blokkoljanak IP címeket amelyek nagy mennyiségú kérést intéznek a szerver felé.
Processzorszabályozás: beállítások gyűjteménye, mely lehetőséget az adminisztrátornak, hogy szabályozza a különböző applikáció csoportoknak, hogy milyen mértékben használhatják a processzort. Ennek segítségével a hatékonyságot lehet növelni olyan rendszereknél, ahol több weboldalt/applikációt futtatnak egy szerveren.
Az IIS 8.5 főként olyan nagy rendszerekhez használható fejlesztéseket tartalmaz, mint a Microsoft saját felhő kiszolgálója, vagy más, kereskedelmi hosting cégek szerverparkjai. Ezen felül tartalmaz pár naplózási és hibaelhárítási fejlesztést is. A főbb új funkciók:
Idle worker-Process page-out: az alvó (idle) oldalak felfüggesztése, hogy ne foglalják a memóriát.
Dinamikus Oldal Aktiváció: a funkció csak azon oldalakhoz regisztrál figyelőket (listener), amelyekhez már érkezett kérés
Fejlesztett naplózás: a fejlesztés lehetővé teszi a szerver változók, kérés/válasz fejlécek (request/response header) naplózását az IIS naplókban.
ETW naplózás: egy ETW (Event Tracing for Windows – Windows Esemény Naplózás) kiszolgáló, amivel valós időben lehet naplókat készíteni különböző eseményekről
Automatikus Tanúsítvány Hozzárendelés: a funkció érzékeli, ha egy oldal tanúsítványa megújult, és automatikusan hozzárendeli az oldalt.
IIS Express
Az IIS Express egy könnyített verziója az IIS-nek, ami ingyenesen elérhető az Windows XP SP3 és újabb Microsoft Windows operációs rendszerekre. Az IIS 7.5 Express csak a HTTP és a HTTPS protokollokat támogatja. Az IIS Expresst le lehet tölteni külön, vagy a WebMatrix részeként.
Bővítmények
Az IIS-hez új bővítmények jelennek meg a fő kiadások között, melyek új lehetőségeket biztosítanak a szoftverben. Az IIS 7.5-höz a következő bővítmények érthetőek el:
FTP Publishing Service: A tartalomkészítők fel tudják tölteni a tartalmukat biztonságosan az IIS7 szerverre SSL alapú hitelesítéssel és adattovábbítással.
Administration Pack: Egy adminisztrációs felületet biztosít az IIS7 beállításaihoz, beleértve az ASP.NET engedélyeket, egyedi hibaüzenetek beállításait, FastCGI beállításait és a kérés szúrést.
Application Request Routing: Egy proxy alapú routoló modul, ami a HTTP-kéréseket továbbítja a tartalom szerverekhez a kérés fejlécek, szerver változók és a forgalomelosztó (load balancing) algoritmusok alapján.
Adatbázis Manager: Könnyű hozzáférést tesz lehetővé helyi és távoli adatbázisokhoz az IIS Manageren keresztül.
Média szolgáltatások: Egy média kiszolgálót integrál az IIS-be, amivel a média- és egyéb tartalmakat lehet könnyen kiszolgálni és adminisztrálni.
URL Rewrite Modul: Egy szabály alapú újraíró mechanizmus, ami a kérés URL címét írja át egy másikra mielőtt a kérés fel lenne dolgozva a webszerver által.
WebDAV: Lehetőséget ad a tartalom biztonságos feltöltésére az IIS 7 webszerverre, és felületet biztosít az adminisztrátoroknak a WebDAV beállítások módosítására az IIS 7 eszközeivel.
Web Deployment Tool: Szinkronizálja az IIS 6.0 és IIS 7 szervereket, migrálja az IIS 6 szervereket IIS 7-re, illetve weboldalak feltöltését is lehetővé teszi egy IIS 7 szerverre.
Használat
A Netcraft 2015 januárjában közzétett felmérése szerint az IIS a második legnépszerűbb webszerver a világon 29,81%-os részesedéssel, az Apache HTTP Server után. Az ezt megelőző hónaphoz képest ez 2,29%-os csökkenés. A felmérés 2012 óta az IIS növekvő piaci részesedését mutatják a csökkenés ellenére. Ugyanakkor a W3Techs felmérése szerint a második legnépszerűbb webkiszolgáló az Nginx, és az IIS csak a harmadik. Ugyanezen felmérés szerint a piaci részesedése folyamatosan csökken 2013 óta.
Biztonság
Az IIS4 és IIS 5 is sérülékeny volt a CA-2001-13 azonosítójú hibával szemben, ami az úgynevezett Code Red támadásokhoz vezetett; ugyanakkor a 6.0-s és 7.0-s verzióval kapcsolatban nem érkeztek bejelentések a sérülékenységről. Az IIS 6.0-s verziójában a Microsoft megváltoztatta programozási felületet (ISAPI – Internet Server Application Programming Interface), ami a 4.0-s és 5.0-s verziókkal ellentétben nagyobb védettséget nyújtott a szerver számára, mivel lecsökkentette a támadható felületeket. Ugyancsak az IIS 6.0-ban megjelent egy új funkció (Web Service Extensions), ami megakadályozza az IIS-t, hogy egy programot indítson el az adminisztrátor kifejezett engedélye nélkül.
Alapértelmezésben az IIS 5.1 és korábbi verziók a SYSTEM fiókkal futtatják a weboldalakat, a Windows alapértelmezett adminisztrátor jogosultságú fiókjával. Ugyanakkor a 6.0-s verzió alatt minden hálózati kérés a hálózati szolgáltatáson keresztül érkezik, aminek jelentősen kevesebb jogosultsága van, mint a SYSTEM fióknak, vagyis ha egy saját kódrészlet vagy egyéb szolgáltatás sérülékeny, az nem fogja kompromittálni az egész rendszert, hisz az alacsonyabb jogosultságból nem tud a rosszindulatú kód kitörni. Az IIS 6.0 ugyancsak rendelkezik egy új, szigorúbb kérés feldolgozó HTTP veremmel a kernelben (http.sys), illetve gyorsítótárral mind statikus és dinamikus tartalom kiszolgálására.
A Secunia jelentése alapján az IIS 7 2015 januárjában 7 befoltozott biztonsági réssel rendelkezett, az IIS 6 ugyanakkor 10 befoltozott, és 1 befoltozatlan sérülékenységgel rendelkezett. A befoltozatlan sérülékenység veszélye 5 fokozatú skálán 2-es fokozatot kapott.
Egy 2007. júniusi Google által végzett, 80 millió weboldalt felölelő tanulmány szerint az IIS piaci részesedése 23% volt, ugyanakkor ezen szerverek tárolták az interneten megtalálható rosszindulatú kódok 49%-át. Az Apache HTTP Server-t futtató szerverek ugyancsak a világ rosszindulatú kódjainak 49%-t tárolják, ugyanakkor az Apache részesedése 66%. A tanulmány megemlítette a szerverek földrajzi elhelyezkedését is, és feltételezi, hogy az ok a nem eredeti Windows rendszert használó szerverek fordulhat elő nagy számban, mivel a Microsoft nem szolgáltat biztonsági hibajavításokat ezen rendszerekhez. Egy 2009. április 28-i blogbejegyzésben a Microsoft bejelentette, hogy minden rendszerhez fog szolgáltatni biztonsági hibajavításokat, akkor is, ha a rendszer nem ment át az eredetiség vizsgálaton.
A 2013-as NSA botrányból kiderült, hogy az IIS rendkívül rosszul támogatja teljesen a forward secrecy-t, különösképpen Internet Explorerrel használva. A HTTPS kapcsolat felállításához használt egyik hosszútávú aszimmetrikus kulcs birtoklásának nem szabad könnyebbé tennie a rövid távú session kulcsot, amivel az üzenet visszafejthető, akár egy későbbi időben. 2013-ban csak a "Diffie-Hellman kulcs csere" és az "Elliptikus görbe Diffie-Hellman kulcs csere" algoritmusok ismertek, hogy védelmet nyújtanak a problémával szemben. 2013-ban a Firefox, Opera és Chrome/Chromium böngészők által indított kérések 30%-a használta ezen az algoritmusokat, míg az Internet Explorer és Safari szinte soha.
↑"What's New In IIS 6.0?". 2013. május 14. dátummal az eredeti címről archiválva. Hozzáférés: 2010. november 25.{{cite web}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó)
↑Henrickson, Hethe; Hofmann, Scott R. (2003). "Chapter 15: ASP.NET Web Services". IIS 6: the complete reference. New York City: McGraw-Hill Professional. 482.o. ISBN978-0-07-222495-5.{{cite book}}: |access-date= requires |url= (súgó); External link in |chapterurl= (súgó); Unknown parameter |chapterurl= ignored (|chapter-url= suggested) (súgó)
↑Henrickson, Hethe; Hofmann, Scott R. (2003). "Chapter 1: IIS Fundamentals". IIS 6: the complete reference. New York City: McGraw-Hill Professional. 17.o. ISBN978-0-07-222495-5.{{cite book}}: |access-date= requires |url= (súgó); External link in |chapterurl= (súgó); Unknown parameter |chapterurl= ignored (|chapter-url= suggested) (súgó)
Microsoft WebsiteSpark Program – A program that offers IIS and other Microsoft Web Platform products at no upfront cost for 3 years
Fordítás
Ez a szócikk részben vagy egészben az Internet_Information_Services című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.