سرویس IIS که مخفف Internet Information Services است ، وب سروری است كه توسط شرکت مایکروسافت عرضه شده و آخرین نسخه آن 8.0IIS است .
IIS مجموعه ای از سرویس های اینترنتی است كه یک سرور جهت کنترل کردن محتویات و دسترسی به سایت های وب یا FTP شما بر روی هارد ایجاد می کند. به عنوان مثال زمانی که میخواهید سایت خود را به نمایش بگذارید جهت آزمایش آن قبل از نمایش بهتر است که این سرویس را نصب نمایید. وب سایت هایی که با زبان های سمت سرور مانند Asp و Asp.Net نوشته میشوند را با استفاده از این وب سرور میتوان تست و اجرا نمود. همچنین جهت ایجاد ، مدیریت و هاستینگ وب سایتها و FTP نیز استفاده میشود.
این وب سرور بعد از وب سرور آپاچی بیشترین محبوبیت را بین كاربران داشته است و هم اكنون نزدیك به 36% بازار وب سرورهای جهان را در اختیار دارد . Microsoft Windows پلت فرمی است كه این وب سرور پشتیبانی میكند و در محیط های دیگر قابل استفاده نیست . برای اولین بار مایكروسافت آن را در یك پروژه آكادمیك در دانشگاه اسكاتلند به صورت مجانی عرضه كرد و برای اولین بار از آن در Windows NT استفاده كرد که در آن قابلیت Active Server Page یا صفحه های فعال سرور را به آن افزود . بعدها با تكامل نسخه های ویندوز، IIS هم تكامل پیدا كرد و در نسخه شماره 6.0 آن مایكروسافت پشتیبانی از IPV 6.0 را نیز به آن اضافه كرد .
لازم به ذکر است که معمولا وب سرور apache را روی سیستم عامل لینوکس و وب سرور IIS را روی سیستم عامل ویندوز نصب می کنند. از نظر امنیتی وب سرورهای آپاچی و IIS قبل از مقایسه باید به این نکته اشاره کنیم که به دلیل مجتمع بودن وب سرور IIS با سیستم عامل راه انداز آن ، و دارا بودن مسائل Integration مسائل امنیتی در این وب سرور بهتر رعایت شده است یعنی همان سیستمی که مسائل امنیتی را برای کاربران سیستم اصلی فراهم میکند برای سیستم IIS هم کار میکند ولی آپاچی چون حالت Cross-platform دارد چنین قابلیتی را دارا نمی باشد .
اغلب سازمان های دولتی و خصوصی در کشور، دارای وب سایت اختصاصی خود می باشند . سازمان ها یا با نصب تجهیزات سخت افزاری و تهیه پهنای باند لازم، اقدام به عرضه سایت خود در اینترنت میکنند و یا از امکانات مربوط به شرکت های ارائه دهنده خدمات میزبانی استفاده می نمایند. وجه اشتراکی این دو، استفاده از یک سرویس دهنده وب است. کاربرانی که به سایت یک سازمان و یا موسسه متصل و درخواست اطلاعاتی را می نمایند، خواسته آنان در نهایت در اختیار سرویس دهنده وب گذاشته می شود. سرویس دهنده وب، اولین نقطه ورود اطلاعات و آخرین نقطه خروج اطلاعات از یک سایت است. به همین علت، نصب و پیکربندی امنیتی مناسب این نرم افزار، بسیار حائز اهمیت میباشد. در این مقاله به بررسی نحوه پیکربندی سرویس دهنده وب IIS در شبکه های مبتنی بر ویندوز با تمرکز بر مسائل امنیتی، خواهیم پرداخت. IIS (Internet Information services ) یکی از سرویس دهندگان وب است که از آن برای برای نشر و توزیع سریع محتویات مبتنی بر وب ، برای مرورگرهای استاندارد استفاده می شود . نسخه پنج IIS ، صرفا برای سیستم های مبتنی بر ویندوز 2000 قابل استفاده است. نسخه های ویندوز 2000 Server و Advanced server به منظور نصب IIS، مناسب و بهینه می باشند. نسخه پنج برای استفاده در نسخه های قدیمی ویندوز طراحی نشده است. امکان نصب IIS نسخه پنج ، به همراه ویندوز Professional نیز وجود داشته ولی برخی از امکانات آن نظیر : میزبان نمودن چندین وب سایت ، اتصال به یک بانک اطلاعاتی ODBC و یا محدودیت در دستیابی از طریق IP در آن لحاظ نشده است.
نسخه پنج IIS ، سرویس های WWW ، FTP، SMTP و NNTP را ارائه می نماید . سه نرم افزار و سرویس دیگر نیز با IIS در گیر می شوند : Certificate Server , Index server و Transaction server
امنیت در IIS متاثر از سیستم عامل است. مجوزهای فایل ها ، تنظیمات ریجستری ، استفاده از رمزعبور، حقوق کاربران و سایر موارد مربوطه ارتباط مستقیم و نزدیکی با امنیت در IIS دارند.
در محیطهایی مانند شرکتهای هاستینگ برای حفظ امنیت تعداد زیادی از سایتها که در یک ویندوز سرور قرار دارند محدودیتهایی وجود دارد؛ SNI در همین راستا بهعنوان یک TLS extension در IIS 8 معرفی شده است. TLS extension شامل دامنه مجازی بهعنوان بخشی از SSL می باشد. بدین معنی که نام دامنه یا hostname بهعنوان شناسه شبکه استفاده میشود.
در زمان نصب IIS ، چهار سرویس بر روی سیستم نصب خواهد شد :
www این سرویس جهت ایجاد یک سرویس دهنده وب و سرویس دهی لازم به درخواست سرویس گیرندگان برای صفحات وب استفاده می گردد.
FTP این سرویس جهت ارائه خدمات در خصوص ارسال و دریافت فایل بر روی سرویس دهنده برای کاربران استفاده می گردد .
SMTP این سرویس امکان ارسال و دریافت نامه الکترونیکی برای سرویس گیرندگان را در پاسخ به فرم ها و برنامه های خاص دیگر فراهم می نماید.
NNTP این سرویس جهت میزبانی یک سرویس دهنده خبری USENET استفاده می گردد.
در زمان نصب IIS ، نصب و عدم نصب سرویس ها قابل انتخاب است و در صورت عدم نیاز پس از نصب نیز میتوان آن ها را غیرفعال نمود.
ابتدا وارد Server Manager شده و بر روی Add roles and features کلیک نمایید.
بر روی Next کلیک نمایید.
گزینه پیش فرض را پذیرفته و بر روی Next کلیک نمایید.
گزینه پیش فرض را پذیرفته و بر روی Next کلیک نمایید.
گزینه Web Server (IIS) را انتخاب کنید.
برای نصب IIS نیاز هست ویژگی های دیگری هم نصب شود پس بر روی Add Features کلیک نمایید و سپس Next را بزنید.
بر روی Next کلیک نمایید
بر روی Next کلیک نمایید
در این بخش میتوانید بسته به نیاز خود گزینه های لازم را انتخاب نموده و بر روی Next کلیک کنید.
تیک گزینه Restart the destination server … را بزنید تا در صورت نیاز پس از نصب ریستارت شود. سپس بر روی Install کلیک نمایید.
همانطور که مشاهده می نمایید IIS با موفقیت نصب شد.
حال کافیست در Server Manager از سمت چپ گزینه IIS را انتخاب و سپس مطابق شکل بر روی سرویس مربوطه کلیک راست و گزینه Internet Information Services (IIS) Manager را انتخاب نمایید و وارد محیط IIS Manager شوید.
در تصویر زیر محیط IIS Manager را مشاهده مینمایید
همانطور که در تصویر زیر مشاهده می نمایید وب سایتی بصورت پیش فرض ایجاد شده است که جهت مشاهده این وب سایت از سمت راست گزینه مشخص شده در تصویر را کلیک نمایید
در تصویر زیر مشاهده می نمایید که IIS به درستی نصب و راه اندازی شده است.
برای مشاهده سایت خود میتوانید از آدرسهای زیر استفاده نمایید :
http://127.0.0.1
http://localhost
http://10.10.10.64
دو آدرس اول به صورت Local و بر روی مشاهده بر روی همان ویندوز سرور می باشد.
و آدرس سوم برای مشاهده بر روی سایر سیستم ها در مجموعه می باشد.
بصورت پیش فرض محتویات سایت شما از مسیر زیر بارگذاری میشود.
C:\inetpub\wwwroot
سایت بصورت http و با پورت ۸۰ قابل دسترس میباشد اما جهت نمایش سایت در بستری امن و به صورت https و با پورت 443 نیاز به Certificate میباشد.
Certificate را میتوان به دو صورت انتصاب داد :
۱ – با استفاده ازCertificate Authority Server CA که در مجموعه خود راه اندازی نمودیم.
۲ – با استفاده از Certificate پیش فرض خود IIS که با عنوان Self-Signed Certificate مطرح میشود.
برای این منظور از سمت چپ سرور خود را انتخاب و سپس Server Certificates را انتخاب نمایید
ما قصد داریم که از Certificate پیش فرض خود IIS استفاده نماییم برای این منظور از سمت راست بر روی Create Self-Singed Certificate کلیک نمایید.
نامی را برای Certificate خود انتخاب و میتوانید مشخص نمایید که این Certificate را با هدف شخصی و یا ارائه دادن وب نیاز دارید که ما استفاده شخصی را انتخاب و بر روی OK کلیک مینماییم.
Certificate مورد نظر با موفقیت ایجاد شد.
حال کافیست از سمت چپ بر روی سایت خود کلیک نمایید و از سمت راست گزینه Bindings را انتخاب نمایید.
سایت بصورت پیش فرض بر روی بستر http و پورت ۸۰ می باشد برای استفاده از https بر روی Add کلیک نمایید.
در بخش IP address آدرس آی پی سیستم خود را وارد نمایید.
و از بخش SSL Certificate نیز Certificate که در مراحل قبل ایجاد نمودیم را انتخاب و OK را بزنید.
هم اکنون https به سایت نیز اضافه شد و میتوان سایت را بر بستر SSl (https) مشاهده نمود.
حال کافیست برای مشاهده سایت بر بستر https از سمت راست بر روی گزینه مشخص شده در تصویر کلیک نمایید
پیغام زیر در نتیجه عدم استفاده ازCertificate معتبر میباشد. برای ادامه بر روی گزینه مشخص شده در تصویر کلیک نمایید
همانطور که مشاهده مینمایید سایت بدرستی بر روی https نشان داده میشود
نکته :
در صورتی که نمیخواهید وب سایت را در مسیر اصلی IIS (c:\inetpub\wwwroot) قرار داده و آن را در پوشه ای در مسیر اصلی قرار دهید و سایت خود را مشاهده کنید، کافیست پس از وارد نمودن آدرس سایت خود نام پوشه را در امتداد آن وارد نمایید.
به عنوان مثال پوشه ای را تحت نام data ایجاد و فایل index.html را به عنوان صفحه اصلی در آن قرار میدهیم.
پس از وارد نمودن آدرس سایت نام پوشه را نیز در امتداد آن وارد می نماییم.
https://10.10.10.64/data/
همچنین میتوان مشخص نمود بصورت پیش فرض IIS چه فایلی را به عنوان صفحه اصلی در نظر بگیرد.
بدین منظور بر روی سرور خود در IIS کلیک نموده و گزینه Default Document را انتخاب نمایید.
صفحاتی که به عنوان صفحات اصلی میتوان در نظر گرفت در اینجا مشخص شده است. در صورتی که صفحه خاصی را مد نظر دارید کافیست از سمت راست توسط گزینه Add این کار را انجام دهید.
نکته : از بالا به پایین به ترتیب به دنبال صفحه اصلی با نام های مشخص شده در پوشه سایت شما گشته و اگر این فایل ها وجود داشت آن را بارگذاری می نماید.
پیشنهادات امنیتی IIS
- بر روی سرویس دهنده IIS، تنها IIS و عناصر مورد نیاز را نصب نموده و از نصب برنامه ها و ابزارهای پیاده سازی خودداری نمایید.
- تمام سرویس های غیر ضروری را غیر فعال نمائید .
- در رابطه با IUSER_Computername account ، گزینه های User cannot change password و Password Never Expires را انتخاب و فعال نمائید.
- در صورت عدم تمایل به ورود افراد گمنام (anonymous) به شبکه ، باید اکانت مورد نظر IUSER_Computername را غیر فعال نمود.
- برای هر وب سایت local admin groups ایجاد و اکانت مربوطه را مشخص نمائید.
- برای کاربران وب یک local group ایجاد و تنها اکانت های مورد نیاز و مجاز نظیر IUSER_Computername را در آن فعال نمائید.
- از تمام گروه های دیگر، account مربوط به IUSER_Computername را حذف نمائید.
- تمام مجوزهای NTFS مربوط به دایرکتوری Inetpub را حذف و تنها گروه ها و اکانت های مجاز را به آن نسبت دهید.
- یک ساختار منطقی برای دایرکتوری ایجاد نمائید. مثلا برای محتویات ایستا، فایل های asp، scripts و Html، اسامی دایرکتوری دیگری ایجاد و با یک ساختار مناسب با یکدیگر مرتبط گردند.
- مجوزهای لازم NTFS بر روی ساختار دایرکتوری ها را در صورت نیاز اعمال نمائید .
- تمام دایرکتوری های نمونه و اسکریپت هایی که نمونه برنامه ها را اجرا میکنند، حذف نمایید.
- مجوز Log on locally به کاربر اعطا و امکان log on as a batch service و Access this computer from the network از کاربر سلب گردد.