IIS چیست؟
سرویس Internet Information Service IIS وب سرور قدرتمند، قابل انعطاف، امن و با قابلیت کاربری آسان و محصول شرکت مایکروسافت می باشد که امکاناتی بسیار زیادی از قبیل Media Streaming، میزبانی Web Application و … را در اختیار وب سایت های مربوطه قرار می دهد.
نسخه IIS 7.5 که در با ویندوز سرور 2008 R2 منتشر گردید، دارای امکانات قابل توجهی نسبت به نسخه های قبلی خود یعنی IIS 6 می باشد .
این نرم افزار از امکانات مانند HTTP,HTTPS,SMTP,FTP,FTPS, و NNTP به خوبی پشتیبانی می نماید و به صورت کامل با ویندوز سرور 2008 سازگار می باشد.
نسخه های قدیمی تر IIS دارای آسیب پذیری های بسیار زیادی بودند، که معروف ترین آن ها مربوطه به کد های مخرب Code Red Worm در سال 2001 می باشد. گرچه تا بحال هیچ گونه گزارشی مبنی بر وجود حفره های امنیتی در نسخه های 6 و 7 این نرم افزار منتشر نشده است اما مایکروسافت برای اطمینان هرچه بیشتر کاربرانش به طور کلی سعی در تغییر ساختار امنیتی نرم افزار وب سرور خود در نسخه 7.5 نموده است.
یکی از این امکانات، قابلیتی تحت عنوان Web Service Extension از نسخه IIS 6.0 اضافه گردیده که این نرم افزار را از اجرای هر برنامه ثالثی بدون اجازه مدیر سرور منع می نماید.
تمامی اجزای نرم افزار مذکور در نسخه IIS 7 به صورت ماژولار تغییر یافته است، این موضوع باعث می شود تا مدیر سرور بتواند تنها ماژول های مورد نیاز را بر روی سرور خود نصب نموده و از بوجود آمدن بار اضافی بر روی سرور جلوگیری کند. همچنین توجه نمایید که نصب ماژول های بیشتر به معنای، فراهم شدن امکان هک و یا مورد حمله قرار گرفتن بیشتر نیز می باشد.
بر طبق آمار ارایه شده توسط موسسه امنیتی دانمارکی Secunia در ژوئن 2011، IIS 7 تا کنون موفق به مرتفع نمودن 6 مورد از آسیب پذیری های قبلی شده است، در صورتی که در نسخه IIS 6 این نرم افزار دارای 11 مورد حفره امنیتی بود که تنها موفق به رفع یکی از آنها شد.
همانطور که گفته شد IIS 7.0 ساختاری ماژولار دارد، یعنی هر یک از قابلیت های آن به صورت منحصر بفرد می توانند نصب و یا حذف شوند.
برخی از این ماژول ها به شرح زیر می باشند:
– ماژول HTTP : برای رسیدگی به درخواست های محاسباتی مربوط به پروتکل HTTP استفاده می شد. مانند رسیدگی به اطلاعات و سئوالات ارسال شده توسط ماشین Client ها و برگرداندن پاسخ ها و یا پیغام های خطای مبتنی بر HTTP مناسب
– ماژول های امنیتی : وظیفه انجام عملیات لازم برای فراهم آوردن امنیت وب سایت ها را بر عهده دارد. عملیاتی مانند: مشخس نمودن نحوه احراز هویت لازم برای ورود به هر وب سایت (Authentication)، انجام عملیات احراز هویت برای هر آدرس URL و راه اندازی فیلترهای امنیتی مختلف
– ماژول های محتوا : وظیفه انجام عملیات لازم برای نشان دادن محتوای لازم به کاربر را بر عهده دارد. عملیاتی مانند : محاسبه درخواست های دریافتی برای نمایش فایل های Static، محاسبه Default Documents در زمان هایی که کاربر دقیقا نام فایل مورد نظر را مشخص نمی کند، انجام عملیات لازم برای لیست کردن محتویات وب سایت (Directory Listing)
– ماژول های فشرده سازی : وظیفه انجام عملیات لازم جهت فشرده سازی درخواست ها و بسته های دریافتی را مانند فشرده کردن بسته هایی که قراراست به کاربر ارسال شود، اعمال روش فشرده سازی Gzip برروی کد های ارسالی و اعمال عملیات فشرده سازی پیشرفته برای اطلاعات و فایل های محتویات Static
– ماژول های Caching : وظیفه انجام عملیات Caching برای بهبود سرعت در لود و پاسخ به درخواست ها را بر عهده دارد. وظایفی مانند ذخیره اطلاعات محاسبه شده در حافظه سرور، تا در زمان درخواست تکراری بعدی، اطلاعات لازم را از حافظه سرور سریع تر از گذشته بخواند.
– ماژول های مستند سازی و عیب یابی : برای انجام عملیات مربوط به ثبت وقایع و عیب یابی مورد استفاده قرار می گیرد. نمونه هایی از وظایف آن ارسال اطلاعات ثبت وقایع به HTTP.sys برای نگهداری در سرور، گزارش وقایع و تغییرات انجام گرفته و ردیابی ردیابی درخواست های ارسالی از طریق آدرس IP آن ها می باشد.
روش های احراز هویت زیر در IIS 6 و بالاتر پشتیبانی می گردد:
– احراز هویت ناشناس (Anonymous Authentication )
– احراز هویت برای دسترسی های اولیه (Basic Access Authentication)
– احراز هویت برای دسترسی های Digest (Digest Access Authentication)
– احراز هویت یکپارچه با ویندوز (Integrated Windows Authentication)
– احراز هویت برای مسیر های UNC ( UNC Authentication)
– احراز هویت مبتنی بر گواهینامه های امنیتی (Certificate Authentication)
متد های زیر به صورت اختصاصی در IIS 7.5 به این نرم افزار اضافه شده اند :
– Client Certificate Mapping ( در این روش گواهینامه های امنیتی نصب شده از سمت کاربر مورد بررسی قرار میگیرد.)
– IP Security (در این روش می توان آدرس های IP های قابل اطمینان و مشکوک را از هم تفکیک نموده و از دریافت اطلاعات از آدرس های نا امن جلوگیری نمود.)
– Request Filtering ( با استفاده از این قابلیت می توان درخواست دریافتی به وب سایت را فیلتر نموده و انواع آن را طبقه بندی نمود.)
– URL Authorization ( با استفاده از این قابلیت میتوان مراحل احراز هویت را در زمان دسترسی به آدرس های URL انجام نمایید.)
برخی دیگر از ماژول های افزوده شده به سرویس IIS 7.5 به عبارت زیر می باشند:
– FTP Publishing Service : این قابلیت به طراحان وب امکان منتشر نمودن (Publish) محتویات سایت خود را از طریق یک محیط امن مبتنی بر SSL و احراز هویت انجام دهند.
– Administration Pack : این افزونه رابط های کاربری مدیریتی قدرتمندی را به محیط IIS اضافه می نمایند ، برخی از ابزار های زیر مجموعه این افزونه شامل ASP.NET authorization ، Custom Error برای ساخت صفحات خطای سفارشی، تنظیمات موتور Fast CGI و Request Filtering می باشد.
– Application Request Routing : ابزار بسیار پرکاربرد که برای مسیردهی به بسته های HTTP به سرورهای محتوا با قابلیت HTTP و همچنین در حالت Load Balancing مورد استفاده میگردد.
– Database Manager : این قابلیت امکان مدیریت بسیار آسان دیتابیس های لوکال و تحت وب را از طریق محیط کاربری IIS به کاربر می دهد.
– Media Service : این ماژول قابلیت قابلیت یکپارچه سازی کامل انواع فایل های چندرسانه ای را با وب سایت مربوطه ارایه می کند، با استفاده از این ماژول می توان از فایل های چند رسانه ای مانند انواع ویدیو، فلش و … در وب سایت خود به آسانی استفاده نمود.
– URL Rewriting Module : با استفاده از این ماژول می توان، آدرس های وارد شده توسط کاربر را قبل از اینکه به وب سرور برسند، ویرایش، بازنویسی و یا تبدیل به آدرس دیگری نمود. (با استفاده از این قابلیت همچنین می توانید فایل های .htaccess لینوکسی خود را نیز در سرور ویندوزی وارد نمایید.