IIS چیست؟
استفاده از شبکه های کامپیوتری از چندین سال قبل رایج و در سالیان اخیر
روندی تصاعدی پیدا کرده است .اکثر شبکه های پیاده سازی شده در کشور مبتنی
برسیستم عامل شبکه ای ویندوز می باشند . شبکه های کامپیوتری، بستر و زیر
ساخت مناسب برای سازمان ها و موسسات را در رابطه با تکنولوژی اطلاعات فراهم
می نماید . امروزه اطلاعات دارای ارزش خاص خود بوده و تمامی ارائه
دهندگان اطلاعات با استفاده از شبکه های کامپیوتری زیر ساخت لازم را برای
عرضه اطلاعات بدست آورده اند . عرضه اطلاعات توسط سازمان ها و موسسات می
تواند بصورت محلی ویا جهانی باشد. با توجه به جایگاه والای اطلاعات از
یکطرف و نقش شبکه های کامپیوتری ( اینترانت و یا اینترنت ) از طرف دیگر ،
لازم است به مقوله امنیت در شبکه های کامپیوتری توجه جدی شده و هر سازمان
با تدوین یک سیاست امنیتی مناسب ، اقدام به پیاده سازی سیستم امنیتی نماید
. مقوله تکنولوژی اطلاعات به همان اندازه که جذاب و موثر است ، در صورت
عدم رعایت اصول اولیه به همان میزان و یا شاید بیشتر ، نگران کننده و
مسئله آفرین خواهد بود . بدون تردید امنیت در شبکه های کامپیوتری ، یکی از
نگرانی های بسیار مهم در رابطه با تکنولوژی اطلاعات بوده که متاسفانه
کمتر به آن بصورت
علمی پرداخته شده است . در صورتیکه دارای اطلاعاتی با ارزش بوده و قصد
ارائه آنان را بموقع و در سریعترین زمان ممکن داشته باشیم ، همواره می
بایست به مقوله امنیت، نگرشی عمیق داشته و با یک فرآیند مستمر آن را
دنبال نمود .
اغلب سازمان های دولتی و خصوصی در کشور، دارای وب سایت اختصاصی خود در
اینترنت می باشند . سازمان ها و موسسات برای ارائه وب سایت ، یا خود
امکانات مربوطه را فراهم نموده و با نصب تجهیزات سخت افزاری و تهیه پهنای
باند لازم، اقدام به عرضه سایت خود در اینترنت نموده و یا از امکانات
مربوط به شرکت های ارائه دهنده خدمات میزبانی استفاده می نمایند . وجه
اشتراک دو سناریوی فوق و یا سایر سناریوهای دیگر، استفاده از یک سرویس
دهنده وب است . بدون تردید سرویس دهنده وب یکی از مهمترین نرم افزارهای
موجود در دنیای اینترنت محسوب می گردد . کاربرانی که به سایت یک سازمان و
یا موسسه متصل و درخواست اطلاعاتی را می نمایند ، خواسته آنان در نهایت
در اختیار سرویس دهنده وب گذاشته می شود . سرویس دهنده وب، اولین نقطه
ورود اطلاعات و آخرین نقطه خروج اطلاعات از یک سایت است . بدیهی است نصب و
پیکربندی مناسب چنین نرم افزار مهمی ، بسیار حائز اهمیت بوده و
تدابیرامنیتی خاصی را طلب می نماید .در ادامه به بررسی نحوه پیکربندی
سرویس دهنده وب 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 از کاربر سلب گردد .