بررسی تخصصی IIS 7.5
مقاله پیش رو ابتدا با شرح تاریخچه ای مختصر از این سرویس خواننده را با نسخه های قبلی آن آشنا نموده و سپس به شرح و معرفی نحوه کارکرد یک به یک ماژول های موجود در آن خواهد پرداخت. به طوری که خواننده پس از اتمام این مقاله با تمامی ماژول ها و ابزارهای موجود در این وب سرور قدرتمند آشنا و قادر به کار با آن ها خواهد بود.
سرویس Internet Information Service (IIS) وب سرور قدرتمند، قابل انعطاف، امن و با قابلیت کاربری آسان و محصول شرکت مایکروسافت می باشد که امکاناتی بسیار زیادی از قبیل Media Streaming، میزبانی Web Application و … را در اختیار وب سایت های مربوطه قرار می دهد.
نسخه IIS 7.5 که در با ویندوز سرور ۲۰۰۸ R2 منتشر گردید، دارای امکانات قابل توجهی نسبت به نسخه های قبلی خود یعنی IIS 6 می باشد .
این نرم افزار از امکانات مانند HTTP,HTTPS,SMTP,FTP,FTPS, و NNTP به خوبی پشتیبانی می نماید و به صورت کامل با ویندوز سرور ۲۰۰۸ سازگار می باشد.
[irp posts=”۷۸۲۷″ name=”تعیین فایل پیش فرض از طریق ماژول Default Document در IIS7.5″]
نسخه های قدیمی تر IIS دارای آسیب پذیری های بسیار زیادی بودند، که معروف ترین آن ها مربوطه به کد های مخرب Code Red Worm در سال ۲۰۰۱ می باشد. گرچه تا بحال هیچ گونه گزارشی مبنی بر وجود حفره های امنیتی در نسخه های ۶ و ۷ این نرم افزار منتشر نشده است اما مایکروسافت برای اطمینان هرچه بیشتر کاربرانش به طور کلی سعی در تغییر ساختار امنیتی نرم افزار وب سرور خود در نسخه ۷.۵ نموده است.
یکی از این امکانات، قابلیتی تحت عنوان Web Service Extension از نسخه IIS 6.0 اضافه گردیده که این نرم افزار را از اجرای هر برنامه ثالثی بدون اجازه مدیر سرور منع می نماید.
تمامی اجزای نرم افزار مذکور در نسخه IIS 7 به صورت ماژولار تغییر یافته است، این موضوع باعث می شود تا مدیر سرور بتواند تنها ماژول های مورد نیاز را بر روی سرور خود نصب نموده و از بوجود آمدن بار اضافی بر روی سرور جلوگیری کند. همچنین توجه نمایید که نصب ماژول های بیشتر به معنای، فراهم شدن امکان هک و یا مورد حمله قرار گرفتن بیشتر نیز می باشد.
بر طبق آمار ارایه شده توسط موسسه امنیتی دانمارکی Secunia در ژوئن ۲۰۱۱، IIS 7 تا کنون موفق به مرتفع نمودن ۶ مورد از آسیب پذیری های قبلی شده است، در صورتی که در نسخه IIS 6 این نرم افزار دارای ۱۱ مورد حفره امنیتی بود که تنها موفق به رفع یکی از آنها شد.
همانطور که گفته شد IIS 7.0 ساختاری ماژولار دارد، یعنی هر یک از قابلیت های آن به صورت منحصر بفرد می توانند نصب و یا حذف شوند.
برخی از این ماژول ها به شرح زیر می باشند:
– ماژول HTTP : برای رسیدگی به درخواست های محاسباتی مربوط به پروتکل HTTP استفاده می شد. مانند رسیدگی به اطلاعات و سئوالات ارسال شده توسط ماشین Client ها و برگرداندن پاسخ ها و یا پیغام های خطای مبتنی بر HTTP مناسب
– ماژول های امنیتی : وظیفه انجام عملیات لازم برای فراهم آوردن امنیت وب سایت ها را بر عهده دارد. عملیاتی مانند: مشخس نمودن نحوه احراز هویت لازم برای ورود به هر وب سایت (Authentication)، انجام عملیات احراز هویت برای هر آدرس URL و راه اندازی فیلترهای امنیتی مختلف
– ماژول های محتوا : وظیفه انجام عملیات لازم برای نشان دادن محتوای لازم به کاربر را بر عهده دارد. عملیاتی مانند : محاسبه درخواست های دریافتی برای نمایش فایل های Static، محاسبه Default Documents در زمان هایی که کاربر دقیقا نام فایل مورد نظر را مشخص نمی کند، انجام عملیات لازم برای لیست کردن محتویات وب سایت (Directory Listing)
– ماژول های فشرده سازی : وظیفه انجام عملیات لازم جهت فشرده سازی درخواست ها و بسته های دریافتی را مانند فشرده کردن بسته هایی که قراراست به کاربر ارسال شود، اعمال روش فشرده سازی Gzip برروی کد های ارسالی و اعمال عملیات فشرده سازی پیشرفته برای اطلاعات و فایل های محتویات Static
– ماژول های Caching : وظیفه انجام عملیات Caching برای بهبود سرعت در لود و پاسخ به درخواست ها را بر عهده دارد. وظایفی مانند ذخیره اطلاعات محاسبه شده در حافظه سرور، تا در زمان درخواست تکراری بعدی، اطلاعات لازم را از حافظه سرور سریع تر از گذشته بخواند.
– ماژول های مستند سازی و عیب یابی : برای انجام عملیات مربوط به ثبت وقایع و عیب یابی مورد استفاده قرار می گیرد. نمونه هایی از وظایف آن ارسال اطلاعات ثبت وقایع به HTTP.sys برای نگهداری در سرور، گزارش وقایع و تغییرات انجام گرفته و ردیابی ردیابی درخواست های ارسالی از طریق آدرس IP آن ها می باشد.
در ادامه اسامی تمام ماژول های IIS 7.5 و همچنین مقدمه ای در مورد هر یک دسته بندی های آن ها درج شده اند، برای مشاهده راهنمای هریک ماژول ها، کافیست تا بر روی نام آن ها کلیک نمایید.
[irp posts=”۸۱۶۵″ name=”پیکربندی صفحات و کنترلر از طریق ماژول Pages and Controls در IIS 7.5″]
Application Development
IIS application development یک ویژگی ارائه شده برای پشتیبانی از محتویات پویا در حال اجرا بر روی IIS می باشد.این محتویات شامل برنامه های نوشته شده تحت پلتفرم ASP.Net ، CGI و برخی فن آوری های نسل گذشته مانند ASP میباشد. از طریق ماژول های موجود در این قسمت امکانات لازم جهت مدیریت و اعمال تنظیمات مختلف امنیتی، کاربردی و کیفی بر روی نرم افزار کاربردی یا وب سایت موجود در IIS را شامل می گردد. در ادامه تمامی ماژول هایی که به طور پیشفرض در IIS 7.5 وجود دارند، لیست شده است و شما می توانید با کلیک بر روی نام هر یک از آن ها به اطلاعات و راهنمای کامل هریک، دست بیابید.
– ASP
– CGI
HTTP Features
IIS با فراهم آوردن امکان کنترل صفحه وب مورد تقاضا، تجربه بازدید بهتری را برای بازدیدکنندگان وب سایت شما به وجود می آورد. همچنین به شما امکان نمایش پیام خطا های مرسوم را در مواقع رخ دادن مشکلی در وب سایت و یا یکی از applicationهای آن می دهد. خصوصیات متداول HTTP در حوزه های زیر جای می گیرند که با کلیک بر روی هر یک از آن ها می توانید توضیخات و راهنمای کامل آن هارا مطالعه نمایید:
Performance
IIS 7.0 دارای قابلیت های خاصی در زمینه نمایش و پردازش خروجی ، توسط یکپارچه کردن قابلیت های داینامیک و استاتیک فراهم می آورد
همچنین IIS به شما اجازه استفاده از پهنای باند مؤثر و کارآمد را با استفاده از مکانیسم های رایج فشرده سازی مانند Gzip می دهد. این قابلیت ها در قسمت Performance وجود دارند و شامل ماژول های زیر می باشد :
Compression (فشرده سازی) : فشرده سازی HTTP امکان استفاده بهینه از پهنای باند را فراهم نموده و کارایی سایتها و برنامه ها را افزایش می دهد. شما می توانید فشرده سازی HTTP برای هر یک از سایتهای استاتیک و داینامیک را پیکربندی کنید.
[irp posts=”۷۳۴۲″ name=”مدیریت دسترسی کاربران با استفاده از ماژول Authorization Rules در IIS 7.5″]
Output Caching (ذخیره خروجی) : Output Caching امکان مدیریت قوانین و کنترل ذخیره سازی محتوای استفاده شده را می دهد. در نرم افزار مدیریت IIS ، شما می توانید همواره قوانینی را جهت نحوه ذخیره سازی، پردازش و نمایش خروجی ایجاد کرده و همچنین آن ها را ویرایش نمایید و تنظیمات خروجی را پیکربندی کنید.
Security
بخش امنیت در IIS زیر ساخت های امن را برای درخواستهای کاربران به وب سرورها ایجاد می کند. از قابلیت های این نرم افزار ، می توان به مسدود نمودن تمامی درخواست ها به سمت سرور بر اساس آدرس مبدا و رد کردن آنها بدون احتیاج به پردازش درخواستها ، اشاره نمود.
دسترسی به صفحات وب برای افراد مختلف دارای سیاستهای متفاوتی است. برخی از بینندگان وبسایت افراد عادی هستند که سطح دسترسی آنها بسیار پایین است . بعنوان مثال این گونه بینندگان فقط به صفحات خبری ، نمایش محصولات و صفحه تماس با شرکت ، اجازه دسترسی دارند. برای مدیریت و تنظیم دسترسی برای اینگونه افراد می توان از ماژول های امنیتی IIS استفاده نمود.
در سطح بعدی افرادی هستند که برای خرید به وبسایتها مراجعه می نمایند. این نوع مشتریان نگرانی های خاص خود را دارند. بعنوان مثال یکی از سئوالهایی که ممکن است برای اینگونه افراد پیش بیاید ، امنیت راجع به اطلاعات مالی آنها و یا جلوگیری از فاش شدن رمز کارت اعتباری آنها میباشد. شما بعنوان مدیریت وبسایت می توانید از ماژول SSL برای اطمینان خاطر مشتریان خود استفاده نمایید.
[irp posts=”۷۵۵۴″ name=”مدیریت ارتباطات با دیتابیس از طریق ماژول Database manager در IIS 7.5″]
برخی اوقات یکسری حملات از پیش تعیین شده ممکن است به سایت شود ، این نوع حملات (DoS & D-DoS Attack) ممکن است از سمت یک دامین مشخص و یا IP مشخص انجام شود ، راه حل پیشرو برای جلوگیری از اینگونه تهدیدات ، مسدود نمودن درخواستها از سمت IP ها و دامین های مهاجم می باشد . راهکار امنیتی IIS برای اینگونه حملات ، استفاده از ماژولهای Dynamic IP Restrictions و IP Address and and Domain Restrictions میباشد.
از سوی دیگر ، یکسری از بینندگان وبسایت ، کارمندان شرکت و یا ویرایشگران سایت میباشند. این گروه از بازدیدکنندگان مطمئنا دسترسی های بیشتری نسبت به بازدیدکنندگان عامی خواهند داشت . برای دسته بندی و تنظیم دسترسی های گوناگون به گروهها ، می توان از ماژولهای .Net User و Authentication استفاده نمود.
URL Authorization نیز یکی از راهکارهای امنیتی IIS بشمار می آید. با ایجاد قوانین مختلف می توانید دسترسی افراد یا گروههای مختلف را به محتوای وب منع کنید .
هنگامیکه درخواستهایی به سمت سرور می آید ، با استفاده از Request Filtering میتوانید تمام این درخواستها را رصد کرده و برخی را قبول و یا رد نمایید. بسیاری از حملات مخرب از طریق درخواستهای طولانی و یا درخواستهای غیر عادی بوجود می آیند ، با فیلتر کردن این درخواستها می توان این نوع حملات را کاهش داد.
– IP Address And Domain Restrictions
Server Component
در قسمت مولفه های قابل نصب سرور (Server Components)، می توان ماژول های افزوده شده به وب سرور را مشاهده و تنظیم کرد. در IIS به صورت کلاسیک، آیتم های این بخش وجود ندارند. طی پیشرفت و تغییر کاربری اینترنت و روی کار آمدن موتور های جستجو، افزوده شدن پخش آنلاین صوت و تصویر و نیاز به تغییرات و پروسس در اطلاعات ارائه شده توسط وب سرور به شیوه دینامیک، نیاز به این بخش در IIS بیشتر شد.
این مجموعه آیتم ها، شامل امکاناتی برای مدیا سرور و موتورهای جستجو است. در این دسته از مولفه ها، امکان اعمال محدودیتهای پهنای باند برای فایلهای مدیا، تنظیماتی برای استفاده بهتر موتورهای جستجو از سایت وجود دارد. اضافه و کم کردن فیلترهای اپلیکیشن سرور وب (ISAPI) از دیگر قابلیت های افزوده شده به IIS است که امکان استفاده از آن در نسخه جدید IIS 7.5 وجود دارد. یک ISAPI filter می تواند اطلاعاتی آماری درباره درخواستهای http تهیه کند و آنها را در یک دیتابیس ذخیره کند که حکم یک نوع لاگ را خواهد داشت.
[irp posts=”۶۹۰۳″ name=”ایجاد کاربران و مدیریت آنها از طریق ماژول .Net Users در IIS 7.5″]
امکانات دست نویس سفارشی شده در قالبهای متفاوتی ارائه شده و امکان اضافه شدن به سرور را دارند. از این قبیل افزونه ها، بجز فیلترهای ISAPI می توان به ماژولها اشاره کرد. قابلیتهای ماژولها برای توسعه بخشیدن به امکانات وب سرور بیشتر و بهتر از فیلترهای ISAPI است و شرکت مایکروسافت نیز توصیه می کند برای افزودن امکانات دیگر به وب سرور، از ماژولهای ویژه این کار بهره گرفته شود. ماژولها باید به صورت موازی با IIS به طور مستقیم بر روی سرور نصب شوند. در این بخش از IIS امکان معرفی این ماژولها به IIS و بهره برداری از آنها و افزودن قابلیتهای این ماژولها به IIS وجود دارد. به طور مثال، IIS به صورت پیش فرض امکان اجرای دستورالعملهای PHP و یا FastCGI را ندارد. این دو سری از دستورالعمل ها ریشه لینوکسی دارند. ولی با نصب این ماژولها بر روی سرور و معرفی آنها در این بخش از IIS، امکان اجرای این دستورالعمل ها در سرور ویندوزی IIS میسر می شود. در واقع، با این کار شما می توانید همه قابلیتهای سرور لینوکسی را در سرور ویندوزی داشته باشید و در عین حال، از امکانات ساده و قابل فهم برای کاربر (User friendly) ویندوزی کمک بگیرید.
در حال حاضر سرورهای ایران هاست دارای رابطهای کاربری بسیار ساده ویندوزی هستند و در عین حال با بهره گیری از مولفه های متفاوت، قابلیت اجرای اسکریپتهای PHP، FastCGI، Perl و دیگر اسکریپتهای ویندوزی را دارا هستند. به طوری که CMSهایی که در گذشته برای نصب بر روی لینوکس طراحی شده بودند، مانند WordPress، امکان نصب و کار بر روی سرورهای ویندوزی ایران هاست را به خوبی دارند.
– Bit Rate Throttling
– Handler Mapping
– ISAPI Filters
– Modules
– Search Engine Optimization
– Smooth Streaming Presentation
– Web Playlist
[irp posts=”۷۳۸۲″ name=”صدور مجوز جهت تنظیمات سرور از طریق ماژول Feature Delegation در IIS7.5″]