پيکربندی IIS با رعايت مسائل امنيتی ( بخش سوم )

در بخش اول اين مقاله، پيکربندیIIS و در بخش دوم ،نحوه تنظيم خصلت های متفاوت برنامه Internet Services Manager ، با رعايت مسائل امنيتی تشريح گرديد . در اين بخش به بررسی روش های کنترل دستيابی به سرويس دهنده که توسط تمامی سرويس ها ( www,FTP,SMTP,NNTP ) ، قابل استفاده خواهد بود ، پرداخته می گردد.

اولين سطح ايمنی در مدل امنيتی IIS ، امکان دستيابی به سرويس دهنده وب بر اساس آدرس های IP و يا Internet Domain Name مربوط به درخواست های سرويس گيرندگان است. در اين راستا می توان ، آدرس های IP و يا اسامی ماشين هائی خاص را مشخص ، تا زمينه دستيابی آنان به سرويس دهنده وب فراهم و يا امکان دستيابی از آنان سلب گردد. در زمان دريافت هر يک از بسته های اطلاعاتی ، آدرس IP و يا نام آنان با توجه به پيکربندی انجام شده در بخش "IP address and Domain name Restrictions " ، بررسی و بر اساس سياست های تعريف شده ، عکس العمل لازم ارائه خواهد شد . ( گزينه فوق در بخش Directory Security Tab مربوط به جعبه محاوره ای خصلت های سرويس www ، وجود دارد ). زمانيکه از آدرس های IP بمنظور کنترل دستيابی استفاده می گردد ، برخی از سرويس گيرندگان وب ، ممکن است از طريق يک سرويس دهنده Proxy و يا فايروال ، به سرويس دهنده وب دستيابی پيدا می نمايند، در چنين شرايطی آدرس های IP بسته های اطلاعاتی دريافتی برای سرويس دهنده Proxy و يا فايروال ، ارسال خواهند شد .
بمنظور پياده سازی برخی از روش های کنترل دستيابی به سرويس دهنده وب ، می توان از تکنولوژی هائی نظير SSL)Secure Sockets Layer) و امضاء الکترونيکی ، نيز استفاده کرد . SSL ، يک کانال ارتباطی نقطه به نقطه خصوصی ، يکپارچه و معتبر را ايجاد می نمايد . از امضاء الکترونيکی ، بمنظور بررسی هويت يک کاربر و يا يک سرويس دهنده و يا سرويس دهندگان وب و مرورگرها بمنظور معتبر سازی دوسويه ( متقابل ) ، تضمين صحت در ارسال صفحات و يکپارچگی اطلاعات موجود در آنها ، استفاده می گردد .

بمنظور شناسائی و تائيد کاربران ، می توان از چهار گزينه موجود در IIS استفاده کرد .
• Anonymouse Access . روش فوق ، متداولترين گزينه برای دستيابی به يک سرويس دهنده وب است. IIS ، بدين منظور account هائی با نام IUSR_Computername و IWAM_Computername را بصورت پيش فرض، ايجاد می نمايد. account فوق ، دارای مجوزهای زير خواهد بود :
Log on locally , access this computer from network and log as a batch job
• کاربران در زمان دستيابی به منابع سرويس دهنده بر روی وب،بصورت اتوماتيک توسط account فوق ، به شبکه وارد خواهند شد. در ادامه کاربران با توجه به مجوزهای تعريف شده در رابطه با account فوق ، قادر به دستيابی منابع موجود خواهند بود. نام account در نظر گرفته شده را می توان با استفاده از گزينه Edit تغيير داد . پيشنهاد می گردد ، مجوزهای Log on as a batch job و access this computer from network ، در رابطه با account فوق حذف گردد ( در صورتيکه ضرورتی به استفاده از آنان وجود ندارد ) .
نکته : زمانيکه سرويس IIS ، متوقف و مجددا" راه اندازی و يا سيستم راه اندازی مجدد (Reboot ) می گردد ، مجوزهای Log on as a batch job و access this computer from the network ، برای accout های IUSR_Computername و IWAM_Computername ، مجددا" در نظر گرفته خواهد شد (Restore ) . در صورتيکه تاکيد بر حذف مجوزهای فوق وجود داشته باشد ، می توان يک Local user account جديد را ايجاد و آن را بعنوان account پيش فرض Anonymouse برای سرويس IIS در نظر گرفت .( بخش Anonymouse access and authentication control مربوط به Directory Security Tab سرويس www و يا Account Tab مربوط به سرويس FTP ) . پس از انجام عمليات فوق ، می توان IUSR_Computername ، را حذف کرد.
• Basic Authentication ، تقريبا" تمامی مرورگرهای وب موجود ، از روش فوق حمايت می نمايند . در اين روش ، نام و رمز عبور کاربر بصورت متن (Clear text ) ، ارسال می گردد . بديهی است در چنين مواردی امکان تشخيص و کشف اطلاعات ارسالی برای افراديکه ترافيک موجود در شبکه را مانيتور می نمايند ، وجود خواهد داشت . در صورتيکه تاکيد بر استفاده از روش فوق وجود داشته باشد ، پيشنهاد می گردد که بهمراه آن از SSL استفاده گردد . ترکيب SSL با روش Basic Authentication ، امکان رهگيری و کشف اطلاعات ارسالی را کاهش خواهد داد . بدين منظور لازم است مراحل زير دنبال گردد :
• Digest Authentication ، روش فوق امکاناتی مشابه Basic Authentication را ارائه ولی از روش متفاوتی بمنظور ارسال اطلاعات حساس و معتبر ، استفاده می نمايد . سرويس دهنده ، اطلاعاتی را شامل نام و رمز عبور کاربر بهمراه اطلاعات اضافه ديگر و يک Hash ( محاسبه می گردد ) را برای سرويس گيرنده ارسال می دارد . در ادامه Hash ، بهمراه ساير اطلاعات اضافه برای سرويس دهنده ارسال می گردد . زمانيکه سرويس دهنده اطلاعات را دريافت می نمايد ، آنان را با نام و رمز عبور ترکيب و يک Hash را بدست می آورد . در صورتيکه hash های مربوطه با يکديگر مطابقت نمايند ، کاربر تائيد می گردد. در صورتيکه روش فوق فعال و ساير روش ها غير فعال گردند ، يک pop up box ، نمايش و کاربر می بايست نام و رمز عبور خود را جهت ورود به سايت مشخص نمايد . اطلاعات فوق ، بصورت رمزشده و وارونه ذخيره خواهند شد . بمنظور فعال نمودن ويژگی فوق ، مديران شبکه می بايست يک password policy را در اين رابطه تعريف تا امکان استفاده از روش فوق ، فراهم گردد . در صورت عدم تعريف Password policy ، امکان استفاده از روش فوق، وجود نخواهد داشت . بمنظور فعال نمودن Password Policy می بايست :
در ويندوز 2000 ، Computer Configuration|Windows Settings | Security Settings | Account Policies | Password policy را انتخاب و گزينه Store Passwords using reversible encryption for all users in the domain ، فعال گردد. ( گزينه فوق بصورت پيش فرض غير فعال است ) . پس از فعال شدن سياست فوق و زمانيکه کاربر رمز عبور و يا نام خود را تغيير و يا يک Account جديد ايجاد گردد ، رمز عبور بصورت رمز شده و وارونه ذخيره می گردد .
• Integrated Windows Authentication ، روش فوق از رمزنگاری مبتنی بر Hashing بمنظور تائيد رمز عبور استفاده می نمايد . نام و رمز عبور واقعی هرگز در شبکه ارسال نخواهد شد ، بنابراين امکان کشف و تشخيص آن توسط يک منبع ناامن و تائيد نشده ، وجود نخواهد داشت . تائيد کاربران می تواند با استفاده از پروتکل Kerberos V5 و پروتکل Challenge/response صورت پذيرد . روش فوق، گزينه ای مناسب برای استفاده در اکسترانت ها نخواهد بود ، (امکان فعاليت آن از طريق يک سرويس دهنده Proxy و يا ساير برنامه های فايروال وجود نخواهد داشت) . از روش فوق بمنظور برپاسازی اينترانت های ايمن ، استفاده می گردد.
پيکربندی IIS می تواند بگونه ای صورت پذيرد که امکان استفاده از ترکيب روش های تائيد اعتبار و Anonymouse در آن پيش بينی گردد . در چنين مواردی ، می توان اين امکان را برای يک سايت فراهم آورد که دارای بخش های متفاوت ايمن و غيرحساس باشد . زمانيکه از يک مدل Authentication بهمراه Anonymouse استفاده می گردد ، کاربران همواره و در حالت اوليه با استفاده از IUSR_Computername به سايت Log on خواهند نمود . زمانيکه درخواستی Fail گردد ( با توجه به عدم وجود مجوزهای لازم بمنظور دستيابی به يک منبع ) ، پاسخی برای سرويس گيرنده ارسال که نشاندهنده عدم وجود مجوز لازم برای دستيابی به منبع مورد نظر است . همراه با اطلاعات فوق ، ليستی از مدل های متفاوت تائيد اعتبار که توسط سرويس دهنده حمايت می گردد، نيز ارسال خواهد شد . مرورگر سرويس گيرنده در اين راستا به کاربر پيامی را نمايش و از وی درخواست نام و رمز عبور را خواهد کرد . در ادامه اطلاعات مورد نظر ( نام و رمز عبور کاربر ) برای سرويس دهنده ارسال خواهد شد ، در صورتيکه کاربر دارای مجوز لازم باشد ، امکان استفاده از منبع مورد نظر برای وی فراهم خواهد شد .

علاوه بر مجوزهای مربوط به فايل و فهرست ها که در سطح سيستم عامل برقرار می گردد ، IIS ، امکانی با نام Application level Permission را ارائه نموده است . در اين راستا ، امکان انتخاب گزينه هائی نظير : Read , Write , Directory Browsing ,Scripts only و Scripts and executables وجود داشته و می توان از آنان بهمراه فهرست های شامل محتويات مربوط به سرويس های www و FTP استفاده کرد .
• Read . مجوز فوق ،امکان مشاهده و ارسال محتويات برای مرورگر سرويس گيرنده را فراهم می نمايد .
• Write . مجوز فوق، به کاربرانی که مرورگرآنان دارای ويژگی PUT ( مربوط به پروتکل استاندارد HTTP 1.1 ) است ، امکان Upload نمودن فايل هائی برای سرويس دهنده و يا تغيير محتويات يک فايل write-enabled را خواهد داد . گزينه فوق ، در اختيار کاربران قرار داده نمی شود و صرفا" مديريت مربوطه به نوع خاص و محدودی از مجوز فوق ، نياز خواهد داشت .
• Directory Browsing ، مجوز فوق ، به يک سرويس گيرنده امکان مشاهده تمامی فايل های موجود در يک فهرست را خواهد داد . از مجوز فوق صرفا" در رابطه با سرويس دهندگان عمومی FTP استفاده و در ساير موارد ، استفاده ازمجوز فوق ، توصيه نمی گردد .
• Scripts . مجوز فوق ، امکان اجراء را در سطح اسکريپت ها محدود خواهد کرد . در موارديکه از برنامه های CGI و يا ASP استفاده می گردد ، استفاده از مجوز فوق ، لازم خواهد بود. انشعاب فايل های مربوط به اسکريپت ها می بايست قبلا" به برنامه های Scripting مربوطه ، map شده باشد .
• Scripts and Executables . مجوز فوق ، امکان اجرای برنامه های EXE و يا DLL را فراهم خواهد کرد( علاوه بر امکان اجرای فايل های ASP و CGI ) . با توجه به حساس بودن مجوز فوق ، استفاده از آن بجزء در موارد خاص و کاملا" کنترل شده ، توصيه نمی گردد .
مجوزهای فوق را می توان همزمان با نمايش جعبه محاوره ای مربوط به خصلت های www و FTP ، تنظيم نمود .

سرويس دهندگان مجازی ،اين امکان را فراهم می آورند که کامپيوتری که بر روی آن IIS اجراء شده است، قادر به حمايت از چندين Domain Names ( وب سايت ) باشد.در زمان پيکربندی يک سرويس دهنده مجازی برای ايجادسرويس دهنده Primary و هر يک از سرويس دهندگان مجازی ، به اطلاعاتی نظير:
( Host Header Names(NHN و يا آدرس های IP ، نياز خواهد بود. بدين ترتيب ، يک سرويس دهنده که بر روی آن IIS نصب و شامل صرفا" يک کارت شبکه است ، قادر به مديريت سايت های متعدد خواهد بود.
IIS ، امکان تعريف يک نام مستعار برای فهرست های حاوی اطلاعات مورد نياز برای انتشار بر روی سايت را خواهد داد . نام فوق ، بعنوان يک دايرکتوری مجازی شناخته شده و در آدرس های URL می توان از آنان استفاده کرد. دايرکتوری های مجازی از منظر ملاقات کننده سايت ، فهرست هائی هستند که از دايرکتوری اصلی wwwroot / ، انشعاب شده اند . در رابطه با دايرکتوری های مجازی نيز می توان سياست های امنيتی خاصی را اعمال نمود. در اين راستا می توان از مجوزهای Read,Write,Directory Browsing,Script only و Scripts and executables ، استفاده کرد. مجوز Read ، اين امکان را به يک سرويس گيرنده خواهد داد تا فايل های ذخيره شده در يک دايرکتوری مجازی و يا زيرفهرست مربوطه را Download نمايد . صرفا" دايرکتوری هائی که شامل اطلاعات مورد نياز برای نشر و يا Download می باشند ، می بايست دارای مجوز Read باشند . بمنظور ممانعت از Download نمودن فايل ها ی اجرائی و يا اسکريپت ها ، توصيه می گردد که آنان در دايرکتوری های مجزاء بدون در نظرگرفتن مجوز Read ، مستقر گردند، اين نوع دايرکتوری ها ی مجازی می بايست دارای مجوز Scripts only و يا Scripts and executables بوده تا سرويس گيرندگان وب قادر به اجرای آنان گردند .

در زمان پيکربندی سرويس دهنده وب ، موارد زير پيشنهاد می گردد :
• در رابطه با نوع دستيابی به سايت ، تصميم مناسب اتخاذ و متناسب با آن ، محدوديت های لازم بر اساس آدرس های IP و يا Internet Domains ، اعمال گردد .
• مشخص نمائيد که آيا ضرورتی به استفاده از SSL و Certificates در محيط مورد نظر، وجود دارد .
• يک روش موجود را برای " تائيد اعتبار " ، کاربران انتخاب نمائيد . روش Anonymouse متداولترين گزينه در اين زمينه است . در صورتی از Basic authentication استفاده گردد که سايت مورد نظر تکنولوژی SSL را حمايت می نمايد .
• دايرکتوری هائی را با مجوز Read ( از مجموعه مجوزهای NTFS ) ، برای گروه کاربران عمومی ( Webusers ) ايجاد نمائيد. اين دايرکتوری ها ، همچنين می بايست دارای مجوز Read only مربوط به IIS در زمان تنظيم سايت های FTP و www باشند . دايرکتوری ها ی فوق ، شامل اطلاعات لازم برای سرويس گيرندگان بمنظور مشاهده و يا Download ، خواهند بود.
• يک دايرکتوری با مجوز Read&Execute ( از مجموعه مجوزهای NTFS ) صرفا" در رابطه با گروه کاربران عمومی (Webusers ) ايجاد گردد . اين دايرکتوری همچنين می بايست دارای مجوز Script only ( مربوط به مجوزهای IIS ) در زمان پيکربندی سايت www گردد . دايرکتوری فوق ، شامل فايل های اجرائی نظير اسکريپت ها ، می باشد .
در بخش چهارم اين مقاله به بررسی نحوه پيکربندی سرويس های www و FTP خواهيم پرداخت .