پیکربندی 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 ، امکان رهگیری و کشف اطلاعات ارسالی را کاهش خواهد داد . بدین منظور لازم است مراحل زیر دنبال گردد :
    مرحله اول : استفاده از یک
    Server Certificate
    مرحله دوم : استفاده از یک کانال ایمن در زمان دستیابی به منابع
    مرحله سوم : فعال نمودن
    Basic authentication و غیرفعال نمودن Anonymouse و Integrated Windows 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 گردد ( با توجه به عدم وجود مجوزهای لازم بمنظور دستیابی به یک منبع ) ، پاسخی برای سرویس گیرنده ارسال  که نشاندهنده عدم وجود مجوز لازم برای دستیابی به منبع مورد نظر است . همراه با اطلاعات فوق ، لیستی از مدل های متفاوت تائید اعتبار که توسط سرویس دهنده حمایت می گردد، نیز ارسال خواهد شد . مرورگر سرویس گیرنده در این راستا به کاربر پیامی را نمایش و از وی درخواست نام و رمز عبور را خواهد کرد .  در ادامه اطلاعات مورد نظر ( نام و رمز عبور کاربر ) برای سرویس دهنده ارسال خواهد شد ، در صورتیکه کاربر دارای مجوز لازم باشد ، امکان استفاده از منبع مورد نظر برای وی فراهم خواهد شد .

مدیریت فهرست (Directory )
علاوه بر مجوزهای مربوط به فایل و فهرست ها که در سطح سیستم عامل برقرار می گردد ،
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 خواهیم پرداخت .

  
نویسنده : ali gooliof ; ساعت ۱٢:٤۸ ‎ق.ظ روز ۱۳۸٧/٢/٢
تگ ها :