.

سرویس دهنده وب مایکروسافت IIS

IIS چیست؟
استفاده از شبکه های کامپیوتری از چندین سال قبل رایج و در سالیان اخیر روندی تصاعدی پیدا کرده است .اکثر شبکه های پیاده سازی شده در کشور  مبتنی برسیستم عامل شبکه ای  ویندوز می باشند .  شبکه های کامپیوتری، بستر و زیر ساخت مناسب برای سازمان ها و موسسات را در رابطه با تکنولوژی اطلاعات فراهم می نماید . امروزه  اطلاعات  دارای ارزش خاص خود بوده و تمامی ارائه دهندگان اطلاعات با استفاده از شبکه های کامپیوتری زیر ساخت لازم را برای عرضه اطلاعات  بدست آورده اند . عرضه اطلاعات  توسط سازمان ها و موسسات می تواند بصورت محلی ویا  جهانی  باشد. با توجه به جایگاه والای اطلاعات از یکطرف و نقش شبکه های کامپیوتری ( اینترانت و یا اینترنت )  از طرف دیگر ، لازم است به مقوله امنیت در شبکه های کامپیوتری توجه جدی شده و هر سازمان با تدوین یک سیاست امنیتی مناسب ، اقدام به پیاده سازی  سیستم امنیتی نماید . مقوله تکنولوژی اطلاعات به همان اندازه که جذاب و موثر است ، در صورت عدم رعایت اصول اولیه  به همان میزان و یا شاید بیشتر ، نگران کننده و مسئله آفرین خواهد بود . بدون تردید امنیت در شبکه های کامپیوتری ، یکی از نگرانی های  بسیار مهم در رابطه با تکنولوژی اطلاعات بوده   که متاسفانه کمتر به آن  بصورتiis 7.5 علمی پرداخته شده است . در صورتیکه دارای اطلاعاتی  با ارزش بوده  و قصد ارائه آنان  را بموقع  و در سریعترین زمان ممکن  داشته باشیم ،  همواره می بایست به مقوله امنیت، نگرشی عمیق  داشته و با یک فرآیند  مستمر آن را دنبال نمود .
اغلب سازمان های دولتی و خصوصی در کشور، دارای وب سایت اختصاصی  خود در اینترنت می باشند . سازمان ها و موسسات برای ارائه وب سایت ، یا خود امکانات مربوطه را فراهم نموده و با نصب تجهیزات سخت افزاری و تهیه پهنای باند لازم،  اقدام به عرضه سایت خود در اینترنت نموده و یا از امکانات مربوط به شرکت های ارائه دهنده خدمات میزبانی استفاده می نمایند . وجه اشتراک دو سناریوی فوق و یا سایر سناریوهای دیگر، استفاده از یک سرویس دهنده وب است  . بدون تردید سرویس دهنده وب یکی از مهمترین نرم افزارهای موجود در دنیای اینترنت محسوب می گردد . کاربرانی که به سایت یک سازمان و یا موسسه متصل  و درخواست اطلاعاتی را  می نمایند ، خواسته  آنان در نهایت در اختیار سرویس دهنده وب  گذاشته می شود . سرویس دهنده وب،  اولین نقطه ورود اطلاعات  و آخرین نقطه خروج اطلاعات از یک سایت  است . بدیهی است نصب و پیکربندی مناسب چنین نرم افزار مهمی ، بسیار حائز اهمیت بوده  و تدابیرامنیتی خاصی را طلب می نماید .در ادامه  به بررسی  نحوه پیکربندی سرویس دهنده وب IIS در شبکه های مبتنی بر ویندوز با تمرکز بر مسائل امنیتی ، خواهیم پرداخت .
IIS)Internet Information services )، یکی از سرویس دهندگان وب است  که از آن برای برای نشر و توزیع سریع محتویات مبتنی بر وب ، برای مرورگرهای استاندارد استفاده می شود . نسخه های ویندوز 2000  Server و Advanced server  به منظور نصبIISمناسب و بهینه می باشند .سه نرم افزار و سرویس دیگر نیز با IIS در گیر می شوند  Certificate Server , Index server و Transaction server  .
امنیت در  IIS  متاثر از سیستم عامل است . مجوزهای فایل ها ،  تنظیمات ریجستری ،  استفاده از رمزعبور،  حقوق کاربران و سایر موارد مربوطه ارتباط مستقیم و نزدیکی با امنیت در IIS دارند .
قبل از پیکربندی مناسب IIS ،  لازم است که نحوه استفاده از سرویس دهنده دقیقا مشخص گردد . پیکربندی دایرکتوری های IIS ، فایل ها ،  پورت های TCP/IP  و Account کاربران نمونه هائی در این زمینه بوده که پاسخ مناسب به سوالات زیر در این رابطه راهگشا خواهد بود :
- آیا سرویس دهنده از طریق اینترنت قابل دستیابی است ؟
- آیا سرویس دهنده از طریق اینترانت قابل دستیابی است ؟
- چه تعداد وب سایت بر روی سرویس دهنده میزبان خواهند شد ؟
- آیا وب سایت ها  نیازمند استفاده از محتویات  بصورت اشتراکی می باشند ؟
- آیا سرویس دهنده امکان دستیابی را برای افراد ناشناس ( هر فرد ) فراهم نموده و یا صرفا افراد مجاز حق استفاده از سرویس دهنده را خواهند داشت ؟ و یا هر دو ؟
- آیا امکان استفاده و حمایت از SSL( Secure Socket Layer) وجود دارد ؟
- آیا سرویس دهنده صرفا برای دستیابی به وب از طریق HTTP استفاده می گردد ؟
- آیا سرویس دهنده ، سرویس FTP را حمایت می نماید ؟
- آیا کاربرانی وجود دارد که نیازمند عملیات خاصی نظیر کپی، فعال  نمودن، حذف و یا نوشتن فایل هائی بر روی سرویس دهنده  باشند ؟
موارد زیر در زمان نصب IIS پیشنهاد  می گردد :
- کامپیوتری که IIS بر روی آن نصب شده است را در یک محل امن فیزیکی قرار داده و صرفا افراد مجاز قادر به دستیابی فیزیکی به سرویس دهنده باشند .
- در صورت امکان،  IIS را بر روی یک سرویس دهنده Standalone نصب نمائید. در صورتیکه IIS بر روی یک سرویس دهنده از نوع Domain Controller نصب گردد و سرویس دهنده وب مورد حمله قرار گیرد، تمام سرویس دهنده بهمراه اطلاعات موجود در معرض آسیب قرار خواهند گرفت . علاوه بر مورد فوق،  نصب IIS بر روی یک سرویس دهنده از نوع Domain controller ، باعث افزایش حجم عملیات سرویس دهنده و متعاقبا کاهش کارآئی سیستم در ارائه سرویس های مربوط به وب خواهد شد .
- برنامه های کاربردی و یا ابزارهای پیاده سازی نمی بایست بر روی سرویس دهنده IIS نصب گردند .
- کامپیوتر مربوط به نصب IIS را به گونه ای مناسب پارتیشن نموده تا هر یک از سرویس ها نظیر www و یا FTP بر روی پارتیشن های مجزاء قرار گیرند .
- IIS امکان نصب برنامه ها را در مکانی دیگر بجز پارتیشن C فراهم نمی نماید ( مگراینکه یک نصب سفارشی داشته باشیم )  .موضوع فوق به  عملکرد سیستم عامل مرتبط می گردد . مجوزهای پیش فرض در رابطه با %Systemdrive%   اعمال می گردد ( مثلا درایو C)  . موضوع فوق می تواند باعث عدم صحت کارکرد مناسب برخی از سرویس های IIS گردد. می بایست مطمئن شد که مجوزهای سیستم عامل با عملیات مربوط به سرویس های IIS ، رابطه ای  ندارند .
- تمام پروتکل های پشته ای (Stack) غیر از TCP/IP را از روی سیستم حذف نمائید. ( در مواردیکه برخی از کاربران اینترانت نیازمند برخی از این نوع پروتکل ها می باشند می بایست با دقت اقدام به نصب و پیکربندی مناسب آن نمود ) .
- روتینگ IP ، به صورت پیش فرض غیرفعال است و می بایست به همان حالت باقی بماند . در صورت فعال شدن  روتینگ ، این امکان وجود خواهد داشت که داده هائی از طریق کاربران اینترانت به اینترنت ارسال گردد .
- نصب Client for Microsoft networking ، به منظور اجرای سرویس های HTTP,FTP,SMTP و NNTP ضروری خواهد بود . در صورتیکه ماژول فوق نصب نگردد، امکان اجرای سرویس های فوق   به صورت دستی و یا اتوماتیک وجود نخواهد داشت .
- در صورتیکه  تمایل به نصب سرویس های NNTP و SMTP ، می بایست سرویس File and Print Sharing for Microsoft نیز نصب گردند .
عملیات قبل از نصب IIS
در زمان نصب IIS ، یک  accountپیش فرض به منظور ورود کاربران گمنام ( ناشناس ) به شبکه ایجاد می گردد . نام پیش فرض برای account فوق ، IUSER_computernameبوده کهcomputername  نام کامپیوتری است که IIS بر روی آن نصب شده است account فوق ، می بایست دارای کمترین حقوق و مجوزهای مربوطه بوده  و  گزینه ها ی user cannot change password و password Never Expires  فعال شده باشدaccount فوق همچنین می بایست از نوع local account بوده و domain-wide account را شامل نگردیده و دارای مجور ورود به شبکه بصورت محلی باشد (log on locally) . مجوزهای  Access this computer from the network و یا log on as a batch job در رابطه باaccount ، فوق می بایست غیر فعال گردند .  در صورتیکه سیاست ارتباط با وب سایت ، صرفا کاربران مجاز باشد، پیشنهاد می گردد account فوق ، غیر فعال گردد . بدین ترتیب تمام کاربران با استفاده از نام و رمز عبور مربوطه  قادر به ورود به سایت خواهند بود .
گروه هائی برای فایل دایرکتوری و اهداف مدیریتی
حداقل دو گروه جدید که در IIS قصد استفاده از انان را داریم، می بایست ایجاد گردد : گروه  )WebAdmin  نام فوق کاملا اختیاری است ) . در گروه فوق،  کاربرانی که مسئولیت مدیریت محتویات WWW/FTP را دارند، تعریف می گردند . در صورتیکه سرویس دهنده ،  چندین سایت را میزبان شده است، برای هر سایت یک گروه مدیریتی ایجاد می گردد .  گروه  ) WebUserنام فوق کاملا اختیاری است ) . در گروه فوق لیست account افراد  مجاز برای ارتباط با  سایت ، تعریف می گردد. در حالت اولیه ، گروه فوق صرفا شامل IUSER_computername  است . از گروه های فوق برای تنظیمات مربوط به مجوزهای NTFS استفاده می گردد . IUSER_computernameنباید عضو گروهی دیگر باشد . به صورت پیش فرض IUSER_computernameعضو گروه های Guests، Everyone  و Users است  . پیشنهاد  می گردد account فوق ، از گروه Guests حذف و به گروه WebUsersاضافه گردد .( امکان حذف account فوق از سایر گروهها وجود ندارد ) . دقت گردد که تمام افراد  موجود در گروه WebUsersمی بایست صرفا برای دستیابی به وب سایت تعریف شده باشند و نباید عضوی از سایر گروهها باشند .  
نصب تمام Patch ها برای سیستم عامل و IIS
مدیران IIS ،  می بایست همواره بررسی های لازم در خصوص آخرین نسخه های  fixes و  patch  را انجام داده  و پس از تهیه ، اقدام به نصب آنان نمایند . بدین منظور می توان از بخش Security سایت ماکروسافت ملاقات و برنامه های جدید را اخذ و نصب نمود .
ایمن سازی متابیس
متابیس (Metabase) ،  مقادیر مربوط به پارامترهای  پیکربندی برنامه IIS  را  ذخیره می نماید . هر گره در ساختار متابیس ، یک کلید (key) نامیده شده و می تواند دارای یک و یا چندین مقدار مربوط به پیکربندی بوده که خصلت نامیده می شوند . کلیدهای متابیس IIS به عناصر و قابلیت های مربوط به IIS اختصاص داده شده و هر کلید شامل خصلت هائی است که تاثیر مستقیمی  بر روی سرویس و پتانسیل  مربوطه ، خواهد داشت . ساختار استفاده شده در متابیس بصورت سلسله مراتبی بوده و تصویری مناسب از ساختار IIS است که بر روی سیستم نصب شده است . اکثر کلیدهای پیکربندی IIS به همراه مقادیر مربوطه در نسخه های قبلی  IIS ، در ریجستری سیستم ذخیره می گردیدند. در نسخه پنج ، تمام مقادیر فوق در متابیس ذخیره می گردند . کلیدهای دیگری نیز  به منظور افزایش کنترل انعطاف پذیری IIS  در متابیس ذخیره می گردد . یکی از مزایای ساختار استفاده شده در متابیس ، اختصاص تنظمیات متفاوت یک خصلت خاص برای  نمونه های متفاوتی از کلید ها ی مشابه  است . مثلاخصلت MaxBandwidth ،حداکثر پهنای باند قابل دسترس را برای یک سرویس دهنده مشخص و می تواند به تراکنش های متعدد وب تعمیم یابد . متابیس ، قادر به نگهداری مقادیر متفاوت MaxBandwidth برای هر یک از سایت های وب می باشد .
متابیس در یک فایل خاص با نام Metabase.bin و در آدرس winnt\system32\ineterv \  ذخیره می گردد . پس از استقرار  IIS در حافظه ، متابیس نیز از روی دیسک خوانده شده و در حافظه مستقر می گردد . پس از غیرفعال شدن IIS ، متابیس مجددابر روی دیسک ذخیره خواهد شد . ( متابیس بدفعاتی که IIS اجراء خواهد شد بر روی دیسک ذخیره  می گردد) . با توجه به نقش حیاتی فایل فوق برای برنامه IIS  ، حفاظت  و کنترل دستیابی به آن دارای اهمیت فراوان است . در صورتیکه فایل فوق ،  با یک فایل دیگر ( نامعتبر)  جایگزین گردد، عملکرد صحیح برنامه IIS به مخاطره خواهد افتاد . برنامه IIS سریعا متاثر از تغییرات خواهد شد . (اولین مرتبه ای که IIS پس از اعمال تغییرات اجراء می گردد ) . در چنین مواردی ممکن است  سرویس مربوطه از طریق سرویس دهنده ، اجراء نشود. مجوزهای پیش فرض برای فایل فوق ،  System و Administrator Full Access می باشد . محدودیت دستیابی به System و local Administrators  امنیتی قابل قبول در رابطه با فایل فوق را ایجاد و ضرورتی به تغییر و یا اضافه نمودن تنظیمات جدیدی نخواهد بود .  
بمنظورایجاد پوسته حفاظتی مطلوبتر امنیتی در رابطه با فایل فوق ،  پیشنهاد  می گردد  فایل فوق  برای کاربران غیر مجاز  مخفی شود . انتقال و یا تغییر نام فایل نیز می تواند امنیت فایل فوق ر ا مضاعف نما ید . بدین منظور می بایست در ابتدا برنامه IIS متوقف و پس از تغییر نام و یا انتقال فایل فوق ،  تغییرات لازم را در کلید ریجستری  زیر اعمال نمود .  
پیشنهادات تکمیلی در رابطه با امنیت برنامه IIS
- بر روی سرویس دهنده IIS صرفاIIS و عناصر مورد نیاز را نصب و از نصب برنامه ها و ابزارهای پیاده سازی ممانعت به عمل آید .
- تمام سرویس های غیر ضروری را غیر فعال نمائید .
- در رابطه با IUSER_Computername  account  ،  گزینه های User cannot change password و Password Never Expires را انتخاب و فعال نمائید .
- در صورتیکه تمایلی  به ورود افراد گمنام (anonymous) به شبکه وجود نداشته باشد ،  می بایست account مربوطه را غیر فعال نمود (IUSER_Computername) .
- برای هر وب سایت local admin groups ایجاد و account مربوطه را مشخص نمائید .
- برای کاربران وب یک local group ایجاد و صرفاaccount های مورد نیاز و مجاز نظیر IUSER_Computername را در آن فعال نمائید .
- از تمام گروه های دیگر، account مربوط به IUSER_Computername را حذف نمائید .
- تمام مجوزهای NTFS مربوط به دایرکتوری Inetpub را حذف و صرفا گروه ها و account های مجاز را به آن نسبت دهید .
- یک ساختار منطقی برای دایرکتوری ایجاد نمائید . مثلا برای  محتویات ایستا ، فایل های  asp  ، scripts  و Html  ، اسامی دایرکتوری دیگری ایجاد و با یک ساختار مناسب به یکدیگر مرتبط گردند.
- مجوزهای لازم NTFS بر روی ساختار دایرکتوری ها  را در صورت نیاز اعمال نمائید .
- تمام دایرکتوری های نمونه و اسکریپت هائی که نمونه برنامه هائی را اجراء می نمایند ،  حذف نمائید .
- مجوز Log on locally به کاربر اعطاء و امکان log on as abatch service  و  Access this computer from the  network از کاربر سلب گردد .

  
نویسنده : گیسو ; ساعت ٢:٠٠ ‎ب.ظ روز ۱۳۸٩/۱٠/٢٦
تگ ها :