IIS چیست و چه کاربرد هایی دارد

IIS چیست و چه کاربرد هایی دارد

وب سرور ها و یا حتی سرور هایی که از ویندوز سرور استفاده می کنند، برای ارتباط خود با شبکه و اینترنت از یک ابزار مهم استفاده می کنند. این ابزار همان IIS است که اگر با سرور های اینترنتی و سرور های محلی آشنایی داشته باشید تا الان متوجه شده اید که یکی از موارد پر هیاهو و پر سر و صدا است که بعضا مشکلاتی را ایجاد می کند و کار کردن با آن داستان های خود را دارد. این مطلب در مورد همین داستان هاست و قرار است با هم ببینیم که IIS چیست و قرار است چه کاری را برای ما انجام دهد. قبل از اینکار اجازه دهید کمی در مورد زمینه کاری این برنامه مهم صحبت کنیم و ببینیم که جریان از چه قرار است.

 

وب سرور چیست؟

همه ما با اینترنت آشنایی داریم و به این موضوع که چیز خوبی است باور داریم. اما این اینترنت خوب و دوست داشتنی ما پهنه ای بسیار گسترده تر از آنچه به نظر می رسد دارد. یکی از اصلی ترین اجزای این اینترنت محل هایی هستند که محتوای اینترنت در آنها ذخیره می شود. هاست ها این کار را برای شما انجام می دهند و این ذخیره سازی انجام میگیرد. فرقی نمی کند که این هاست ها از نوع هاست لینوکس، هاست ویندوز و یا هاست ابری باشد. برای فعال بودن و کارکردن آن یک وب سرور نیاز است که آن را کنترل کرده و پاسخ کلاینت هایی که دارند به این هاست درخواست می فرستند و منتظر پاسخ هستند را بدهد.

به عنوان مثال همین مطلبی که الان روی سیستم شما قرار دارد برای اینکه به این صورت روی مرورگر شما نمایش داده شود، توسط یک وب سرور که با کلیک شما این مطلب را برای شما بارگذاری کرده است، به دستتان رسیده است. وقتی شما روی لینک مورد نظر خود کلیک کرده و صفحه ای جدید را باز میکنید، یک درخواست برای صفحه جدید از کامپیوتر شما به سرور سایت ما ارسال می شود. این درخواست توسط وب سرور بررسی شده و آنچه که شما نیاز دارید به آدرس آی پی شما ارسال شده و مرورگر شما با دریافت این اطلاعات آن ها را ترجمه کرده و صفحه وب به شما نمایش داده خواهد شد. این اطلاعات از طریق فرکانسی خاص روی بستر اینترنت جابجا می شود که پورت نام دارند. پورت ها با شماره های مختلفی روی اینترنت وجود داشته و هر کدام از آنها موارد استفاده مختلفی را برای خود دارند.

سوالی که در اینجا مطرح می شود این است که در این ماجرا و داستانی که به آن اشاره کردیم نقش IIS چیست و چه کاری را قرار است برای ما انجام دهد. IIS همان المانی است که از طرف سرور و با توجه به سیاستی که برای پاسخدهی به این درخواست ها طراحی شده است، مسئولیت مدیریت این درخواست ها را بر عهده دارد. یک وب سرور به دو روش مختلف می تواند به این درخواست ها پاسخ دهد. روش اول به صورت تک پردازه ای است که در آن هر لحضه به یک درخواست پاسخ داده می شود و روش دوم به صورت چند پردازه ای که در هر لحظه تعداد بیشتری از درخواست ها مورد بررسی و پاسخدهی قرار می گیرند. البته در روش پردازه ای که با برنامه هایی مانند node js پشتیبانی میشوند، هر پردازه به صورت چند زیر پردازه مورد بررسی قرار میگیرد که المان های کارگر کوچکتری وضعیت آنها را دنبال می کنند و بیشترین کاربرد این موارد مربوط به کار با پایگاه های داده و فایل سیستم ها است.

فرقی نمی کند که کدام روش برای بررسی درخواست ها توسط مدیریت دنبال شود، کار IIS این است که درخواست های وارد شده را مدیریت کرده و آن ها را با صف بندی خاص خود در اختیار پردازه هایی بگذارد که مسئولیت پاسخدهی و دنبال کردن این درخواست ها را بر عهده دارند.

IIS چیست و چه کاربرد هایی دارد

 

بستر های اجرای IIS چیست

IIS برنامه ای برای اجرا روی ویندوز سرور است و شما می توانید آن را روی ویندوز سرور خود اجرا کنید. برای اینکه بیشتر با مفهوم این سیستم عامل کنترل کننده هاست و سرور آشنا شوید می توانید به مقاله ویندوز سرور چیست مراجعه کنید. اما اگر بخواهیم یک اشاره کوتاه به آن داشته باشیم میتوانیم آن را به عنوان یک سیستم عامل برای کنترل هاست و سرور با قابلیت ها و برنامه های بیشتر و همینطور پشتیبانی بسیار قوی تری از سخت افزار نسبت به سیستم عامل های معمولی معرفی نمود. IIS در اصل برای استفاده در بستر های اینچنینی طراحی شده است.

بیشتر بخوانید:  ioncube loader چیست و برای استفاده از آن باید چه کار کنیم

اما قابلیت استفاده از این برنامه کاربردی روی سایر سیستم عامل ها نیز فراهم شده است. شاید شما برای کنترل یک شبکه کوچک که قرار است بر مبنای پروتکل های TCP/IP کار بکند نیاز به یک مکانیزم کنترلی داشتید. در اینجاست که IIS به کمک شما خواهد آمد. به طور کلی میتوان سیستم عامل های فهرست شده در ادامه را به عنوان پاسخی برای این سوال که بستر های اجرای IIS چیست معرفی نمود.

  •     ویندوز XP
  •     ویندوز NT نسخه های 4 به بعد
  •     ویندوز 2000
  •     ویندوز سرور در تمامی مجموعه ها
  •     ویندوز 7
  •     ویندوز 8 و 8.1 نسخه Professional
  •     ویندوز 10 PRO

تقریبا تمامی ویندوز ها خصوصا سری ویندوز های سرور از این قابلیت پشتیبانی میکنند و میتوانند برای پاسخ دهی به ریکوئست ها و درخواست هایی که از طرف شبکه وارد می شوند، از IIS استفاده کنند. همین امر باعث شده است تا IIS به عنوان یکی از نرم افزار ها و برنامه های پر تغییر معرفی شود و نسخه های متعددی از این برنامه ارائه شود. در ادامه به بررسی این موضوع که چه ورژن هایی از IIS وجود دارد و دلیل ایجاد هر کدام از این ورژن های IIS چیست ، خواهیم پرداخت.

 

انواع ورژن های IIS چیست

به طور کلی برای IIS تا کنون 14 ورژن مختلف طراحی و روانه بازار مصرف شده است. قدیمی ترین ورژن این برنامه که همان ورژن 1 می باشد به صورت یک افزونه رایکان و ساده برای ویندوز NT 3.5 ارائه شد. این ورژن از این برنامه را نمی توان به عنوان یک برنامه مستقل و کامل نامید چون ویژگی های یک برنامه را نداشت. اما با توجه به قابلیت های خوبی که روی این ویندوز و مدیریت درخواست های وب سرور داشت مورد توجه مایکروسافت قرار گرفت و این پروژه در اندازه ای بزرگتر و به صورت یک برنامه جامع دنبال شد.

ورژن های بعدی این برنامه دیگر به صورت یک افزونه نبود و به یک برنامه کامل و حرفه ای تبدیل شده بود. اولین نسخه برنامه ای IIS روی ویندوز NT 4 عرضه شد که IIS 2.0 نام داشت. ورژن IIS 3.0 نیز روی ویندوز NT 4 service pack 2 انتشار یافت که حاوی ی بسته الحاقی برای کنترل اسکریپت های صفحات داینامیک وب بود.

IIS به پیشرفت و گسترش ورژن های خود ادامه داد و با اضافه کردن بسته های جدید به ورژن IIS 5.1 رسید. یک ورژن قدرتمند که برای اجرا و پیاده سازی روی یکی از قدرتمندترین و محبوبترین سیستم عامل های ساخت مایکروسافت رسید. ویندوز XP وارد بازار شده بود و تقریبا جهان را در انحصار خود در آورده بود. پس IIS باید خود را با این بستر جدید هماهنگ می کرد تا از آن جا نماند. پس این برنامه برای اولین بار روی یک سیستم عامل غیر شبکه پیاده سازی شد.

ورژن های مختلف IIS

ورژن های بعدی این برنامه روی ویندوز های XP، ویستا و همینطور سون به خوبی تطبیق پیدا کرده بودند. ورژن انقلابی بعدی این برنامه که یک تحول اساسی را در پی داشت IIS 6 بود.  در این نسخه روش های زیادی برای احراز هویت در حالت های مختلف به این برنامه اضافه شد و این برنامه به عنوان یکی از ارکانی که در کار امنیت و طبقه بندی اطلاعات وب سرور و هاست نقش داشتند وارد میدان شد.

 با ورود ویندوز 8.1 و همینطور ویندوز سرور 2012 سیستم ویندوز های ارائه شده توسط مایکروسافت از حالت قبلی تغییری بنیادی پیدا کرد و IIS نیز با این موج تغییر همراه شد. این ورژن که ورژن 8.5 نام داشت، شامل یک IDE برای مدیریت ورکر ها و المان هایی که روی پردازه ها کار می کردند، فعال ساز داینامیک برای ساین، قابلیت لاگین و ورود به صورت کاربردی، لاگ کردن با روش ETW و همینطور تایید کننده اتوماتیک بسته ها بود که بعضی از آنها جدید و بعضی دیگر میراث به جا مانده از ورژن های قبلی بود.

آخرین ورژن این برنامه همان IIS 10.0 که اکنون قابل نصب و استفاده روی ویندوز سرور های امروزی است، حاصل آن چیزی است که در 14 ورژن متفاوت تجربه شده و ویژگی هایی که امنون به ما ارائه می کند شال تجربه 13 نسل قبل این برنامه هست. این ویژگی ها که به مرور زمان به این برنامه اضافه شده اند موضوعی است که در ادامه این مطلب آن را دنبال خواهیم نمود. اجازه دهید با هم به بررسی این مورد که کار هر کدام از ماژول های IIS چیست بپردازیم.

بیشتر بخوانید:  Hetzner چیست ؛ یک دیتاسنتر به سبک آلمانی

 

قابلیت های IIS چیست

IIS به عنوان یک برنامه برای کنترل ارتباط اینترنت قابلیت های زیادی دارد که میتوان آنها را به صورت ماژول های مختلف طبقه بندی نمود. هر کدام از این ماژول ها وظیفه خود را بر عهده داشته و خدمات خاصی را ارائه می کنند. در ادامه به بررسی آنها خواهیم پرداخت.

ماژول های IIS

خدمات HTTP

این مورد را می توان به عنوان یکی از اصلی ترین کارهایی که IIS قرار است انجام دهد در نظر گرفت. بررسی درخواست هایی که از کلاینت ها و یا اعضای شبکه برای سرور ارسال شده است و باید به فراخور نوع آن ها و اینکه آیا اجازه داریم که به آنها پاسخ دهیم، پاسخ داده شوند. البته پاسخ بعضی از این درخواست ها ممکن است چیزی نباشد که کلاینت ها از شما انتظار دارند.

 

خدمات امنیتی

همانطور که در بخش قبلی به آن اشاره کردیم، بعضی از کلاینت ها ممکن است پاسخ مناسبی را از سرور دریافت نکنند. دلیل این می تواند هر چیزی باشد اما یکی از اصلی ترین دلایلی که میتواند موجب رد این درخواست ها شود، موارد امنیتی است که سیستم باید بررسی کند که آیا اجازه دسترسی به ابن اطلاعات برای کاربر درخواست کننده آن ها وجود دارد یا خیر.

برای بررسی این درخواست ها و اینکه آیا مجوز های امنیتی برای این کار وجود دارد، گزینه های مختلفی وجود دارد که تفاوت های زیادی با هم دارند. در بعضی مواقع ممکن است درخواست های یک IP خاص بن شده باشند و در بعضی موارد ممکن است کار بر اجازه دسترسی هایی در سطح درخواستی را نداشته باشد اما برای استفاده از سایر بخش ها مجاز باشد. پس ماژول امنیتی در IIS یک ماژول گسترده است که می توان روی آن حساب کرد.

 

خدمات لاگ و عیب یابی

در زمان استفاده از سیستم ممکن است بنا به هر دلیلی از درخواست های نامشخص و نادرست گرفته تا محتوای ناقص و ناسالم، سیستم دچار مشکلاتی در سرویس دهی شود. یکی از مواردی که IIS آن ها را دنبال میکند عیب یابی ایرادات احتمالی و همینطور لاگ کردن کلیه وقایعی است که روی سیستم ممکن است رخ دهد. با این روش ها شما این امکان را خواهید داشت تا در صورت بروز هرگونه مشکلی آن را به سادگی برطرف نموده و متوجه شوید که چه چیز ها و یا چه درخواست هایی باعث بروز این مشکلات می شوند.

این موارد میتواند در پیشگیری از رخداد خطا و همینطور اصلاح ساختار سایت و محتوای آن بسیار مفید باشد.

 

خدمات مربوط به محتوا و Content

ماژول های محتوا یا Content همان چیزی است که مسئول تحویل صفحات وب به شما است. همین مطلبی که در حال مطالعه آن هستید یک محتوا به حساب می آید که با کلیک شما روی لینک آن توسط ماژول کانتنت با این قالب ظاهری برای شما ارسال شده است.

ممکن است یک کانتکت از نوع چند ساختاره باشد و این به عهده ماژول کانتنت است که بر اساس نوع مرورگر و یا سیستمی که شما از طریق آن قصد دسترسی به این محتوا را دارید، قرار باشد ساختار های مختلفی از آن برای شما ارسال شود. این کاری است که ماژول محتوای IIS باید برای شما انجام دهد.

 

خدمات فشرده سازی بسته ها

وقتی محتوایی برای کاربر ارسال می شود بهتر است که یک بهینه سازی در اندازه آن انجام گیرد تا با استفاده از اینکار سرعت بالاتر رفته و کیفیت آنها وقتی که به دست کاربر می رسد افزایش یابد. به طور کلی بالا رفتن سرعت و کم شدن ترافیک موجود در سطح شبکه یکی از اهدافی است که به وسیله آن پاسخ دهی و کیفیت خدمات بالاتر خواهد رفت.

ماژول فشرده سازی IIS بسته های ارسالی را با استفاده از یک فناوری فشرده سازی پیشرفته به نام Gzip فشرده کرده و روانه مقصد می کند. این امر باعث می شود تا خواسته هایی که درباره آنها صحبت کردیم به طور کامل محقق گردند.

 

خدمات کشینگ (Cashing)

کش کردن یا همان Cashing یکی از مواردی است که با توجه به نیاز بالا برای سرعت لود شدن صفحات می تواند یک تجربه کاربری خوب را برای کاربر فراهم کند. IIS این مسئولیت را بر عهده دارد تا درخواست های مشابه را بررسی کرده و درخواست های پر تعداد را کش نموده و در اختیار استفاده کنندگان و سایر یوزر هایی که دسترسی مجاز برای این اطلاعات دارند قرار دهد. با این کار ارجاعات به حافظه کمتر شده و کیفیت خدمات ارائه شده بهبود قابل ملاحظه ای خواهد داشت.

بیشتر بخوانید:  phpMyAdmin چیست و به چه دردی می خورد!؟

IIS خدمات خوب و زیادی را برای شما ارائه خواهد کرد، اما همانطور که قابل حدس است این برنامه نقایصی هم دارد که عموما به صورت نقایص امنیتی از آنها یاد می شود. البته نظارت مستقیم فایروال ویندوز روی این بخش کمی از این خطرات را کاسته اما همچنان این معایب می توانند آسیب های زیادی را ایجاد کنند. اجازه دهید تا به بررسی این نقاط ضعف بپردازیم.

 

نقاط ضعف و چالش های امنیتی IIS چیست

با بررسی هایی که داشتیم IIS یک نرم افزار گسترده و بزرگ بود که قابلیت های زیاد را داشت. اما این بزرگی دردسر هایی نیز برای او ایجاد کرده است. در کامپیوتر اصلی وجود دارد که میگوید یک نرم افزار هرچقدر ساده تر و کوچکتر باشد، امنیت بیشتری دارد. وقتی یک ماژول یا یک برنامه بیش از اندازه بزرگ باشد، پیچیدگی آن به حدی بالا می رود که به طور قطع نقاطی از دید برنامه نویس و طراح پنهان می ماند.

این نقاط مختلف و باگ ها این پتانسیل را دارند که به یک نقطه ضعف برای برنامه تبدیل شده که هکر ها و کسانی که قصد نفوذ به سیستم و تخریب را دارند از آنها استفاده کنند. این باگ ها به نقاط ضعف یا Vulnerabilities گفته می شود که معمولا توسط انجمن ها و سایت هایی که در حوزه امنیت وجود دارند به صورت یک لیست منتشر می شوند. در تصویر زیر می توانید تعدادی از این نقاط را مشاهده کنید که برای IIS گزارش شده اند.

نقاط آسیب پذیر IIS

مورد دیگری که به عنوان یک چالش امنیتی در IIS مطرح است مواردی است که به طور بالقوه جزو نقاط ضعف نیستند، اما عدم آگاهی کاربر از کارکرد آن ها در زمان نصب برنامه و استفاده از next برای هر چیزی که سیستم از او میپرسد موردی است که باعث این اتفاق ها می شود. اجازه دهید با ذکر یک نمونه ببینیم که نحوه رخ دادن این ایرادات در IIS چیست !؟

 به عنوان مثال IIS در بخشی از تنظیمات این اجازه را میخواهد که در صورت بروز مشکلاتی خاص کارکرد کل سیستم را متوقف کرده و ارتباط را قطع کند و آن را از کار بیاندازد. وقتی شما کلید Next را در هنگام نصب بدون چک کردن تمام گزینه ها بزنید، این اتفاق خواهد افتاد. باید قبول کنیم که چگونگی نصب در IIS میتواند در کارکرد کلی سیستم بسیار تاثیر گذار باشد.

در مجموع می توان مشکلاتی که از طرف IIS برای سیستم شما ممکن است پیش بیاید را به این صورت فهرست کرد:

  •     غیر فعال نمودن سرویس یا DoS
  •     نمایش و به مخاطره انداختن فایل ها و داده های حساس
  •     اجرای بعضی از دستورات به صورت خودسرانه(مجوز آن ها ناخواسته از طرف شما صادر شده است)
  •     به مخاطره انداختن کامل سرویس دهنده

اما بهترین راهکار برای مقابله با این تهدیدات در IIS چیست !؟ شما برای این کار باید عملیات نصب IIS را به صورت کاملا دقیق انجام داده و همیشه در نظر داشته باشید که IIS را از لحاظ امنیتی آپدیت نگه دارید. پچ های ارائه شده توسط مایکروسافت می تواند این مشکلات را تا حد زیادی کاهش دهد.

پچ های امنیتی IIS

 

نتیجه گیری

اگر بخواهیم به صورت مختصر و ساده بگوییم که IIS چیست می توان آن را به عنوان یک برنامه برای کنترل ارتباط هاست ویندوزی و همینطور وب سرور شما با کاربران و کسانی که می خواهند به سایت شما دسترسی پیدا کنند دانست.IIS  از نظر کاربرد یک برنامه فوق العاده قوی بوده و می تواند برای شما امکانات خوبی را فراهم کند. از این امکانات می توان به احراز هویت، بارگیری صفحات محتوا، کش کردن این صفحات و فشرده سازی بسته های ارسالی برای کاربر را به عنوان برترین خدمات آن نام برد.

مورد دیگری که باید به آن پرداخت این است که نگاه شما به چالش های امنیتی ایجاد شده توسط IIS چیست و برای بهبود آن چه کار میکنید!؟ پیشنهاد ما برای رفع این مشکل استفاده از یک فایروال قدرتمند و همینطور نصب آخرین پچ های امنیتی ارائه شده برای این برنامه است که می توانید آن ها را به صورت رایگان و سایت رسمی مایکروسافت دریافت نمایید.

واکنش شما چیست؟
+1
+1
+1
+1
+1
+1
+1
برچسب‌ها:, , ,

نظر دهید

آدرس ایمیل شما منتشر نخواهد‌شد.