Internet Information Services

**IIS** (ראשי תיבות: **Internet Information Services**) היא תוכנת שרת אינטרנט של חברת Microsoft עבור שרתים שרצים בסביבת Windows NT. זוהי תוכנת שרת האינטרנט השלישית הפופולרית בעולם אחרי Apache HTTP Server, ו-Nginx.

## ארכיטקטורה
משאבי השרת מתחלקים לשימושים שונים על ידי **Application Pools**. לכל App pool יש את המשאבים שלו, הוא רץ בנפרד ואינו מושפע מהשימוש בשאר ה-App pools. השירות שמקבל את הבקשות לכל App pool ומטפל בהן נקרא **Worker Process** (w3wp.exe). ניתן לומר שהחלוקה ל-App pools היא חלוקה רעיונית של משאבי השרת, וריצת ה-Worker processes השונים הם היישום של החלוקה. קיימת אפשרות של-App pool אחד יהיו יותר מ-Worker Process אחד שיריץ אותו, ומצב כזה נקרא **Web Garden**.

בכל App pool אפשר להגדיר **[[אתר אינטרנט|אתרים]]** (sites) ו**אפליקציות**. הדרך בה האתר מקבל פניות היא בעזרת הגדרת **bindings**. לכל binding נגדיר את הפרוטוקול באמצעותו האתר מקבל הודעות (FTP, SMTP, NNTP ו-HTTP/HTTPS); כתובת ה-IP (למקרה שיש בשרת כמה כרטיסי רשת); מספר ה-port אליו האתר יאזין, ו-host name בו ישתמש הלקוח כשיפנה לאתר. אפשר ליצור כמה bindings לאתר, לדוגמה כאשר רוצים שהאתר יקבל פניות גם בפרוטוקול HTTP וגם ב-HTTPS.

## תצורה
קובצי התצורה (קונפיגורציה) של שרת IIS שמורים במבנה XML. קובץ התצורה הראשי של שרת ה-IIS הוא **Applicationhost.config** (Configuration store), ובו נמצאות ההגדרות לכל השרת. מתחתיו בהיררכיית הקבצים יש את קובצי ה-**Web.config**, קובץ מיוחד לכל App pool/אתר/אפליקציה, שבהם נוספות הגדרות מיוחדות שבהם ה-App pool/אתר/אפליקציה הספציפי חורג מההגדרות הראשיות של כלל השרת.

## אבטחה
לשרת IIS קיימות כמה אפשרויות לבצע אימות (Authentication) של לקוח לקבלת גישה לאתר:

* **אימות אנונימי (Anonimous Authentication)** - מאפשר לכל המעוניין להתחבר ללא משתמש וסיסמה.
* **אימות בסיסי (Basic Authentication)** - מחבר לפי משתמש וסיסמה ב-Active Directory של הרשת הנוכחית.
* **אימות חלונות (Windows Authentication)** - מחבר לפי משתמש וסיסמה ב-Active Directory של הרשת הנוכחית. עובד עם פרוטוקול Kerberos להזדהות.

גרסאות קודמות של IIS היו חשופות לפגיעות, דבר שהוביל לפגיעות כגון התולעת "Code Red Worm". ב-IIS 6.0, מיקרוסופט בחרה להפוך את התהליכים המקדימים של ISAPI המותקנים מראש, שהיו גורמים לפגיעות בגרסאות 4.0 ו-5.0, ללא פעילים אוטומטית, כאשר שינוי זה מקטין את משטח התקיפה האפשרי על IIS. בגרסאות של IIS עד לגרסה 6.0, כל התכונות רצו על המערכת, דבר שאפשר לנצל פרצות לרעה. לעומת זאת, תחת גרסה 6.0 כל הבקשות רצות תחת שרותי הרשת. צורה זו עובדת בסביבה עם פחות הרשאות.

## היסטוריה
* IIS התחילה את דרכה ככלי עזר לשירותים מבוססי רשת עבור Windows NT 3.51, עליה הותקנה גרסה 1.0. 
* גרסה IIS 2.0 אף הוסיפה תמיכה למערכת הפעלה Windows NT 4.0.
* גרסה 3.0 הציגה את סביבת העבודה Active Server Pages (ASP) מבוססת הסקריפט הדינאמי. 
* IIS 4.0 זנחו את התמיכה ברשת Gopher והערכה נכללה במערכת ההפעלה כדיסק תוספות.
* מערכת הפעלה Windows Vista לגרסאותיה השונות מכילה את שרת האינטרנט IIS 7.0 שהפסיק את המגבלה של מספר החיבורים אבל מגביל את מספר הבקשות שנענות בו זמנית. בכך שופרה יציבות המערכת והשרת כולל גם תרחישים של שירותי שיתוף (P2P).
* גרסה 7.5 מגיעה עם מערכת ההפעלה Windows 7 ומערכת ההפעלה Windows 2008 R2.
* מערכת ההפעלה Windows Server 2012 R2 וכן Windows 8.1 כוללות את גרסת IIS .8.5.
* הגרסה הנוכחית היא IIS 10 ל-Windows Server 2016 ול-Windows 10.
* כמו כן, גרסה 10.0 1809 מגיעה עם שרתי Windows Server 2019 ועם עדכן אוקטובר 2018 על Windows 10.

## גרסאות
* Windows NT 3.51 Service Pack 3 - IIS 1.0
* Windows NT 4.0 - IIS 2.0 
* Windows NT 4.0 Service Pack 3 - IIS 3.0
* Windows NT 4.0 Option Pack - IIS 4.0
* Windows 2000 - IIS 5.0
* Windows XP Professional - IIS 5.1
* Windows Server 2003 and Windows XP Professional x64 Edition - IIS 6.0
* Windows Vista and Windows Server Longhorn - IIS 7.0
* Windows 7 - IIS 7.5
* Windows Server 2012 and Windows 8 - IIS 8.0
* Windows Server 2012 R2 and Windows 8.1 - IIS 8.5
* Windows Server 2016 and Windows 10 - IIS 10.0

## קישורים חיצוניים
* 
* Microsoft Internet Information Services
* IIS Installation for XP
* אתר תמיכה טכנית ל-IIS 
* איך לקנפג את IIS 

קטגוריה:שרתי HTTP
קטגוריה:תוכנות מערכת

## הערות שוליים