اغلب سازمان های دولتی و خصوصی در کشور، دارای وب سايت اختصاصی خود در اينترنت می باشند . سازمان ها و موسسات برای ارائه وب سايت ، يا خود امکانات مربوطه را فراهم نموده و با نصب تجهيزات سخت افزاری و تهيه پهنای باند لازم، اقدام به عرضه سايت خود در اينترنت نموده و يا از امکانات مربوط به شرکت های ارائه دهنده خدمات ميزبانی استفاده می نمايند . وجه اشتراک دو سناريوی فوق و يا ساير سناريوهای ديگر، استفاده از يک سرويس دهنده وب است . بدون ترديد سرويس دهنده وب يکی از مهمترين نرم افزارهای موجود در دنيای اينترنت محسوب می گردد . کاربرانی که به سايت يک سازمان و يا موسسه متصل و درخواست اطلاعاتی را می نمايند ، خواسته آنان در نهايت در اختيار سرويس دهنده وب گذاشته می شود . سرويس دهنده وب، اولين نقطه ورود اطلاعات و آخرين نقطه خروج اطلاعات از يک سايت است . بديهی است نصب و پيکربندی مناسب چنين نرم افزار مهمی ، بسيار حائز اهميت بوده و تدابيرامنيتی خاصی را طلب می نمايد .در ادامه به بررسی نحوه پيکربندی سرويس دهنده وب 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 دارند .
قبل از پيکربندی مناسب 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 می بايست صرفا" برای دستيابی به وب سايت تعريف شده باشند و نبايد عضوی از ساير گروهها باشند .
مديريت IIS با چندين گروه
نسخه شماره چهار IIS ، امکان تعريف گروههای محلی بمنظور پيکربندی و تعريف گروههای مديريتی متفاوت برای سرويس های IIS را فراهم می نمود . رويکرد فوق در نسخه شماره پنج IIS ، تغيير يافته است . گروهها ی محلی می توانند و می بايست برای گروههای مديريتی متفاوت ايجاد گردند . تفاوت موجود بين گروههای محلی برای سرويس www و FTP صرفا" استفاده از مجوزهای NTFS خواهد بود . سرويس های SMTP و NNTP ، قابليت تنظيم گروههای محلی را بعنوان اپراتورهای مديريتی برای سرويس دهنده IIS فراهم می نمايد .
نصب تمام Patch ها برای سيستم عامل و IIS
مديران IIS ، می بايست همواره بررسی های لازم در خصوص آخرين نسخه های fixes و patch را انجام داده و پس از تهيه ، اقدام به نصب آنان نمايند . بدين منظور می توان از بخش Security سايت ماکروسافت ملاقات و برنامه های جديد را اخذ و نصب نمود .
دايرکتوری پيش فرض نصب IIS
پس از نصب IIS ، می بايست تغييرات لازم در خصوص مجوزهای دستيابی NTFS را در رابطه با دايرکتوری هائی که IIS نصب شده است ، انجام داد . گروه های Everyone و Guests بهمراه account مربوط به Guest می بايست حذف گردند . گروه Everyone بصورت پيش فرض دارای تمامی مجوزهای لازم در رابطه با دايرکتوری Inetpub است . کاربران غير مجاز با استفاده از ويژگی گروه فوق قادر به دستيابی به سيستم خواهند بود، بنابراين لازم است در اين راستا اقدام لازم ( حذف ) صورت پذيرد . دايرکتوری Inetpub ، بر روی درايو پيش فرض نصب می گردد . ( مثلا" درايو C ) . دايرکتوری جديد و يا ساختار موجود می بايست به پارتيشن ديگر منتقل و عملا" تمايزی بين سايت های در دسترس از محل سيستم های عملياتی را بوجود آورد . پيشنهاد می گردد Inetpub به نام دلخواه ديگری تغيير يابد .
دايرکتوری های IIS نسخه پنج را می توان در يک محل خاص ( سفارشی ) ديگر نيز نصب نمود( تحقق خواسته فوق صرفا" از طريق يک نصب سفارشی ميسر می گردد ) . بدين منظور از يک فايل پاسخ استفاده می شود. فايل پاسخ ( مثلا" iis5.txt) می بايست دارای اطلاعات زير باشد :
اطلاعات ضروری در فايل پاسخ بمنظور تغيير محل نصب IIS |
[Components] |
در ادامه از دستور زير برای نصب استفاده می گردد . ( از طريق خط دستور )
Sysocmgr/I:%windir%infsysoc.inf /u:a:iis5.txt |
جدول زير مجوزهای لازم NTFS و IIS در رابطه با دايرکتوری های مربوطه را نشان می دهد :
Type of |
Example Directories |
Data Examples |
NTFS File Permissions |
IIS 5.0 |
Static Content |
Inetpubwwwrootimages |
HTML, images, FTP |
Administrators (Full Control) |
Read |
FTP Uploads (if required) |
Inetpubftprootdropbox |
Directory used as a |
Administrators (Full Control) |
Write |
Script Files |
Inetpubwwwrootscripts |
.ASP |
Administrators (Full Control) |
Scripts only |
Other Executable and Include Files |
WebScriptsexecutables |
.exe, .dll, .cmd, .pl |
Administrators (Full Control) |
Scripts only |
Metabase |
WINNTsystem32inetsrv |
MetaBase.bin |
Administrators (Full Control) |
N/A |
دايرکتوری ها ئی که شامل فايل های فقط خواندنی هستند ( فايل های Html ، تصاوير، فايل های آماده برای Download توسط FTP و ... ) ، می بايست دارای مجوز فقط خواندنی بمنظور دستيابی گروه WebUsers باشند . هر نوع از فايل های فوق می تواند دارای دايرکتوری اختصاصی خود با مجوز فقط خواندنی باشند . مجوزهای لازم Read&Execute write و Modify را می بايست به گروهی که مسئوليت مديريت محتويات وب را برعهده دارد اعطاء گردد ( مثلا" گروه WebAdmin) . برای فايل های اجرائی ( اسکريپت ها ، فايل های batch و ... ) ، می بايست يک دايرکتوری اختصاصی ايجاد کرد . دايرکتوری های فوق صرفا" دارای مجوز Travesr Folder/Execute مربوط به NTFS برای کاربرانی می باشند که مجوز لازم بمنظور دستيابی به سايت را دارا می باشند ( کاربر IUSER_computername و ساير کاربران تعريف شده در گروه WebUsers ) . دايرکتوری فوق همچنين می بايست دارای مجوز های مربوط به IIS و از نوع Script only باشد. مجوز Scripts and Executables مربوط به IIS ، می بايست صرفا" به دايرکتوری هائی که به اين مجوز نياز دارند اعطاء گردد. مثلا" يک دايرکتوری که شامل فايل های باينری بوده و می بايست اين فايل ها توسط سرويس دهنده وب اجراء گردند .
تمام دايرکتوريهائی که دارای نمونه مثال هائی بوده و يا هر اسکريپت استفاده شده بمنظور اجرای برنامه های نمونه را می بايست حذف و يا انتقال داد . در زمان نصب IIS دايرکتوری های متعددی ايجاد که در آنها فايل های نمونه بهمراه اسکريپت ها قرار می گيرد. پيشنهاد می گردد دايرکتوری های فوق حذف و يا مکان آنها تغيير يابد . دايرکتوری های زير نمونه هائی در اين زمينه می باشند :
InetPubiissamples |
سرويس های IIS
در زمان نصب IIS ، چهار سرويس بر روی سيستم نصب خواهد شد :
-
www . سرويس فوق،بمنظور ايجاد يک سرويس دهنده وب و سرويس دهی لازم به درخواست سرويس گيرندگان برای صفحات وب استفاده می گردد .
-
FTP . سرويس فوق، بمنظور ارائه خدمات لازم در خصوص ارسال و دريافت فايل بر روی سرويس دهنده برای کاربران استفاده می گردد .
-
SMTP . سرويس فوق،امکان ارسال و دريافت نامه الکترونيکی برای سرويس گيرندگان را در پاسخ به فرم ها و برنامه های خاص ديگر فراهم می نمايد .
-
NNTP . سرويس فوق، بمنظور ميزبانی يک سرويس دهنده خبری USENET استفاده می گردد .
در زمان نصب IIS ، می توان تصميم به نصب برخی از سرويس ها و يا همه آنها گرفت . پس از نصب IIS ، در صورتيکه به وجود برخی از سرويس ها نياز نباشد، می توان آنها را غير فعال نمود. بدين منظور می بايست مراحل زير را دنبال کرد :
-
انتخاب گزينه Services از طريق مسير زير :
Programs => Administrative Tools => Services |
-
انتخاب سرويسی که قصد غير فعال کردن آن را داريم . در ادامه با فعال کردن کليد سمت راست موس ، گزينه Stop را بمنظور توقف سرويس فعال نمائيد .
-
بمنظور اطمينان از عدم اجرای سرويس غير فعال شده در زمان راه اندازی مجدد سيستم، سرويس را مشخص و پس از فعال کردن کليد سمت راست موس، گزينه Properties را انتخاب ودر بخش Startup type وضعيت اجرای سرويس را از حالت Automatic به Disable تغيير دهيد . شکل زير نحوه غير فعال نمودن سرويس www را نشان می دهد .
ايمن سازی متابيس
متابيس (Metabase) ، مقادير مربوط به پارامترهای پيکربندی برنامه IIS را ذخيره می نمايد . متابيس بمنظور استفاده در IIS طراحی و بمراتب سريعتر و انعطاف پذيرترنسبت به ريجستری ويندوز 2000 است . هر گره در ساختار متابيس ، يک کليد (key) ناميده شده و می تواند دارای يک و يا چندين مقدار مربوط به پيکربندی بوده که خصلت ناميده می شوند . کليدهای متابيس IIS به عناصر و قابليت های مربوط به IIS اختصاص داده شده و هر کليد شامل خصلت هائی است که تاثير مستقيمی بر روی سرويس و پتانسيل مربوطه ، خواهد داشت . ساختار استفاده شده در متابيس بصورت سلسله مراتبی بوده و تصويری مناسب از ساختار IIS است که بر روی سيستم نصب شده است . اکثر کليدهای پيکربندی IIS بهمراه مقادير مربوطه در نسخه های قبلی IIS ، در ريجستری سيستم ذخيره می گرديدند. در نسخه پنج ، تمام مقادير فوق در متابيس ذخيره می گردند . کليدهای ديگری نيز بمنظور افزايش کنترل انعطاف پذيری IIS در متابيس ذخيره می گردد . يکی از مزايای ساختار استفاده شده در متابيس ، اختصاص تنظميات متفاوت يک خصلت خاص برای نمونه های متفاوتی از کليد ها ی مشابه است . مثلا" خصلت MaxBandwidth ،حداکثر پهنای باند قابل دسترس را برای يک سرويس دهنده مشخص و می تواند به تراکنش های متعدد وب تعميم يابد . متابيس ، قادر به نگهداری مقادير متفاوت MaxBandwidth برای هر يک از سايت های وب می باشد .
متابيس در يک فايل خاص با نام Metabase.bin و در آدرس winntsystem32ineterv ذخيره می گردد . پس از استقرار IIS در حافظه ، متابيس نيز از روی ديسک خوانده شده و در حافظه مستقر می گردد . پس از غيرفعال شدن IIS ، متابيس مجددا" بر روی ديسک ذخيره خواهد شد . ( متابيس بدفعاتی که IIS اجراء خواهد شد بر روی ديسک ذخيره می گردد) . با توجه به نقش حياتی فايل فوق برای برنامه IIS ، حفاظت و کنترل دستيابی به آن دارای اهميت فراوان است . در صورتيکه فايل فوق ، با يک فايل ديگر ( نامعتبر) جايگزين گردد، عملکرد صحيح برنامه IIS بمخاطره خواهد افتاد . برنامه IIS سريعا" متاثر از تغييرات خواهد شد . (اولين مرتبه ای که IIS پس از اعمال تغييرات اجراء می گردد ) . در چنين مواردی ممکن است سرويس مربوطه از طريق سرويس دهنده ، اجراء نشود. پيشنهاد می گردد که فايل Metabsat.bin بر روی پارتيشننی از نوع NTFS ذخيره و با استفاده از امکانات امنيتی ويندوز 2000 آن را حفاظت کرد . مجوزهای پيش فرض برای فايل فوق ، System و Administrator Full Access می باشد . محدوديت دستيابی به System و local Administrators امنيتی قابل قبول در رابطه با فايل فوق را ايجاد و ضرورتی به تغيير و يا اضافه نمودن تنظيمات جديدی نخواهد بود .
بمنظورايجاد پوسته حفاظتی مطلوبتر امنيتی در رابطه با فايل فوق ، پيشنهاد می گردد فايل فوق برای کاربران غير مجاز مخفی شود . انتقال و يا تغيير نام فايل نيز می تواند امنيت فايل فوق ر ا مضاعف نما يد . بدين منظور می بايست در ابتدا برنامه IIS متوقف و پس از تغيير نام و يا انتقال فايل فوق ، تغييرات لازم را در کليد ريجستری زير اعمال نمود .
HKEY_LOCAL_MACHINESOFTWAREMicrosoftInetMgrParameters |
در ادامه يک مقدار جديد REG_SZ برای کليد فوق با نام MetadataFile ايجاد و مسير کامل فايل را که شامل نام درايو و نام فايل است ، بعنوان نام جديد فايل متابيس معرفی نمائيم . بدين ترتيب برنامه 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 a batch service و Access this computer from the network از کاربر سلب گردد .
در بخش دوم اين مقاله به بررسی نحوه تنظيم خصلت های متفاوت برنامه Internet Services Manager با رعايت مسائل امنيتی خواهيم پرداخت .
srco.ir
نظرات شما عزیزان: