پیکربندی IIS با رعایت مسائل امنیتی ( بخش اول )
استفاده از شبکه های کامپیوتری از چندین سال قبل رایج و در سالیان اخیر روندی تصاعدی پیدا کرده است .اکثر شبکه های پیاده سازی شده در کشور مبتنی برسیستم عامل شبکه ای ویندوز می باشند . شبکه های کامپیوتری، بستر و زیر ساخت مناسب برای سازمان ها و موسسات را در رابطه با تکنولوژی اطلاعات فراهم می نماید . امروزه اطلاعات دارای ارزش خاص خود بوده و تمامی ارائه دهندگان اطلاعات با استفاده از شبکه های کامپیوتری زیر ساخت لازم را برای عرضه اطلاعات بدست آورده اند . عرضه اطلاعات توسط سازمان ها و موسسات می تواند بصورت محلی ویا جهانی باشد. با توجه به جایگاه والای اطلاعات از یکطرف و نقش شبکه های کامپیوتری ( اینترانت و یا اینترنت ) از طرف دیگر ، لازم است به مقوله امنیت در شبکه های کامپیوتری توجه جدی شده و هر سازمان با تدوین یک سیاست امنیتی مناسب ، اقدام به پیاده سازی سیستم امنیتی نماید . مقوله تکنولوژی اطلاعات به همان اندازه که جذاب و موثر است ، در صورت عدم رعایت اصول اولیه به همان میزان و یا شاید بیشتر ، نگران کننده و مسئله آفرین خواهد بود . بدون تردید امنیت در شبکه های کامپیوتری ، یکی از نگرانی های بسیار مهم در رابطه با تکنولوژی اطلاعات بوده که متاسفانه کمتر به آن بصورت علمی پرداخته شده است . در صورتیکه دارای اطلاعاتی با ارزش بوده و قصد ارائه آنان را بموقع و در سریعترین زمان ممکن داشته باشیم ، همواره می بایست به مقوله امنیت، نگرشی عمیق داشته و با یک فرآیند مستمر آن را دنبال نمود .
اغلب سازمان های دولتی و خصوصی در کشور، دارای وب سایت اختصاصی خود در اینترنت می باشند . سازمان ها و موسسات برای ارائه وب سایت ، یا خود امکانات مربوطه را فراهم نموده و با نصب تجهیزات سخت افزاری و تهیه پهنای باند لازم، اقدام به عرضه سایت خود در اینترنت نموده و یا از امکانات مربوط به شرکت های ارائه دهنده خدمات میزبانی استفاده می نمایند . وجه اشتراک دو سناریوی فوق و یا سایر سناریوهای دیگر، استفاده از یک سرویس دهنده وب است . بدون تردید سرویس دهنده وب یکی از مهمترین نرم افزارهای موجود در دنیای اینترنت محسوب می گردد . کاربرانی که به سایت یک سازمان و یا موسسه متصل و درخواست اطلاعاتی را می نمایند ، خواسته آنان در نهایت در اختیار سرویس دهنده وب گذاشته می شود . سرویس دهنده وب، اولین نقطه ورود اطلاعات و آخرین نقطه خروج اطلاعات از یک سایت است . بدیهی است نصب و پیکربندی مناسب چنین نرم افزار مهمی ، بسیار حائز اهمیت بوده و تدابیرامنیتی خاصی را طلب می نماید .
services (IIS)Internet Information ، یکی از سرویس دهندگان وب است که از آن برای برای نشر و توزیع سریع محتویات مبتنی بر وب ، برای مرورگرهای استاندارد استفاده می شود . نسخه پنج 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 کاربران نمونه هائی در این زمینه بوده که پاسخ مناسب به سوالات زیر در این رابطه راهگشا خواهد بود :
• آیا سرویس دهنده از طریق اینترنت قابل دستیابی است ؟
• آیا سرویس دهنده از طریق اینترانت قابل دستیابی است ؟
• چه تعداد وب سایت بر روی سرویس دهنده میزبان خواهند شد ؟
• آیا وب سایت ها نیازمند استفاده از محتویات بصورت اشتراکی می باشند ؟
• آیا سرویس دهنده امکان دستیابی را برای افراد ناشناس ( هر فرد ) فراهم نموده و یا صرفا افراد مجاز حق استفاده از سرویس دهنده را خواهند داشت ؟ و یا هر دو ؟
• آیا امکان استفاده و حمایت از (Secure Socket Layer)SSL وجود دارد ؟
• آیا سرویس دهنده صرفا برای دستیابی به وب از طریق 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 بوده و domaiPage | 2n-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) می بایست دارای اطلاعات زیر باشد :