0

آموزش های تخصصی شبکه و امنیت و ضد امنیت

 
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

حفاظت فايل ها توسط Asp.net 


حفاظت فايل ها توسط ASP.NET 
در زمان ايجاد يک وب سايت مبتنی بر داده که در آن از بانک اطلاعاتی اکسس استفاده می گردد ،می بايست تدابير لازم در خصوص حفاظت از فايل بانک اطلاعاتی ( فايلی با انشعاب mdb . ) اتخاذ گردد. در صورتی که فايل mdb . ، در يک دايرکتوری وب و برروی سرويس دهنده وب ، مستقر شده باشد ، افراديکه قادر به تشخيص نام فايل بانک اطلاعاتی می باشند ، می توانند فايل فوق را از طريق مرورگر download و محتوی آن را مشاهده نمايند. موضوع فوق در مواردی که بانک اطلاعاتی شامل داده هائی حساس نظير رمزهای عبور و اطلاعات شخصی است،بسيار نگران کننده و خطرناک خواهد بود. در اين راستا می توان از روش های متعددی به منظور حفاظت فايل بانک اطلاعاتی اکسس ( و يا هر فايل دلخواه ديگر ) استفاده نمود. يکی از مناسب ترين روش های موجود ، استقرار فايل در يک دايرکتوری با قابليت عدم دستيابی از طريق وب است . اکثر ميزبانان وب ، دارای فولدری خاص ( مثلا" با نام Databsae ) می باشند که دارای مجوز لازم ( خواندن ، نوشتن ) به منظور دستيابی به يک بانک اطلاعاتی اکسس می باشد .( امکان دستيابی به فولدر فوق از طريق وب وجود نخواهد داشت ) . 
در اين مقاله با نحوه استفاده از ASP.NET
 به منظور حفاظت فايل های بانک اطلاعاتی اکسس و يا فايل هائی با يک انشعاب دلخواه، آشنا می شويم . 

نحوه ارتباط IIS و ASP.NETپس از دريافت يک درخواست توسط سرويس دهنده وب IIS ، نوع انشعاب آن بررسی می گردد . با توجه به نوع انشعاب فايل درخواستی ، ممکن است IIS مستقيما" مسئوليت رسيدگی به درخواست را بر عهده گرفته و يا آن را در اختيار يک ISAPI extension قرار دهد. ISAPI extension ، يک کلاس کمپايل شده است که بر روی سرويس دهنده وب نصب و مسئوليـت آن برگرداندن Markup برای نوع فايل درخواستی ، می باشد. به صورت پيش فرض ، IIS درخواست را بررسی و بسادگی محتوی فايل درخواست شده را به عنوان پاسخ برمی گرداند. اين موضوع در رابطه با فايل های ايستا نظير فايل های HTML و CSS ، صدق می نمايد . مثلا" زمانی که درخواستی برای فايلی با انشعاب html. شده باشد ، IIS محتوی فايل HTML درخواستی را برای متقاضی ، ارسال می نمايد. برای فايل هائی که محتوی آنان بصورت پويا توليد می گردد ، يک ISAPI extension پيکربندی و مسئوليت پاسخگوئی به اينچنين درخواست هائی را برعهده می گيرد . مثلا" يک وب سايت که از صفحات کلاسيک ASP استفاده می نمايد ( فايل هائی با انشعاب asp. ) ، اين مسئوليت به يک ISAPI extension با نام asp.dll واگذار شده است . asp.dll ، صفحه asp درخواست شده را اجراء و HTML توليد شده را برمی گرداند . در صورتی که يک وب سايت از صفحات ASP.NET استفاده می نمايد ، IIS ، مسئوليت رسيگی به فايل هائی با انشعاب aspx . را به aspnet_isapi.dll واگذار نموده است (يک ISAPI extension که فرآيند توليد HTML برای صفحه درخواستی ASP.NET را انجام خواهد داد) . aspnet_isapi.dll در فريمورک دات نت اجراء نمی گردد( Unmanaged code ) .زمانی که IIS ، درخواست صفحات aspx . را در اختيار aspnet_isapi.dll قرار می دهد ، ISAPI extension ، درخواست مربوطه را در اختيار ASP.NET engine قرار داده که کد آن در فريمورک دات نت ، اجراء می گردد.(Managed code ).
ASP.NET engine در بسياری از موارد مشابه IIS عمل نموده و دارای يک دايرکتوری خاص به منظور mapping انشعابات فايل به ISAPI extension مورد نظر می باشد . در چنين مواردی ASP.NET Engine ، انشعابات فايل را به HTTP handler ، مپ می نمايد. کد نوشته شده HTTP handler ، به صورت managed code بوده و مسئوليت توليد markup برای يک نوع فايل خاص را برعهده دارد. مثلا" صفحات وب ASP.NET توسط PageHandlerFactory ، بررسی می گردند. PageHandlerFactory ، دارای آگاهی لازم در خصوص نحوه توليد HTML markup يک صفحه ASP.NET می باشد . 

بررسی HttpForbiddenHandler 
برنامه های وب ASP.NET دارای اطلاعات پيکربندی مشخص شده بر اساس يک فايل با فرمت XML می باشند : Web.Config . 
در فايل فوق ، اطلاعاتی مشابه زير قرار می گيرد : 


  •  
  • <LI dir=rtl>رشته های اتصال به بانک اطلاعاتی 
    <LI dir=rtl>اطلاعاتی در رابطه با نحوه تائيد کاربران و ليست نام و رمز عبور آنان ( در صورت ضرورت)
  • اطلاعات مربوط به مجوزها و ساير اطلاعات حساس

با توجه به جايگاه بسيار مهم اطلاعات موجود در فايل Web.config ، دستيابی و مشاهده آن توسط کاربران می تواند بسيار خطرناک و فاجعه آميز باشد .در صورت دستيابی به محتوی فايل Web.config مربوط به يک برنامه وب ، با پيامی مبنی بر عدم امکان مشاهده اين نوع فايل، مواجه خواهيم شد (This type of page not served) . شايد در اين رابطه سوالات متعددی در ذهن شما ايجاد شده باشد : چرا پس از درخواست مشاهده فايل Web.config ، محتوی آن نمايش داده نشده و در مقابل با يک پيام خاص مواجه خواهيم شد؟ از چه روشی به منظور حفاظت فايل فوق ، استفاده شده است ؟ آيا می توان روش استفاده شده به منظور حفاظت فايل Web.config را به ساير فايل ها نيز تعميم داد ؟
در IIS ، فايل هائی که دارای انشعاب config. می باشند به ASP.NET ISAPI extension ، مپ شده اند . ASP.NET engine ، درخواست های مربوط به فايل هائی با انشعاب Config. را به HttpForbiddenHandler ، مپ می نمايد . HttpForbiddenHandler ، در نهايت HTML لازم در مواردی که قصد مشاهده محتوی فايل Web.Config
 وجود داشته باشد را برمی گرداند. بنابراين با استفاده از HttpForbiddenHandler ، امکان حفاظت فايل هائی با انشعاب Config. ، فراهم می گردد. از رويکرد فوق به منظور حفاظت فايل هائی با انشعاب .cs, .vb, .webinfo, .vbproj, .csproj, .resx ، نيز استفاده می شود.با استفاده از روش فوق می توان فايل های بانک اطلاعاتی اکسس ( فايل های با انشعاب mdb. ) و يا هر نوع فايل دلخواه ديگر را حفاظت نمود.

حفاظت فايل های mdb
به منظور حفاظت فايل های بانک اطلاعاتی اکسس ، می توان از روش بکارگرفته شده برای حفاظت فايل های Config
. ، استفاده نمود. بدين منظور مراحل زير می بايست دنبال گردد: 


  •  
  • پيکربندی IIS بگونه ای که فايل هائی با انشعاب mdb . به ASP.NET ISAPI extension مپ گردند. 
    به منظور پيکربندی IIS در جهت mapping فايل هائی با انشعاب mdb. به ASP.NET ISAPI Extension ، می بايست امکان دستيابی فيزيکی به سرويس دهنده وب ، وجود داشته باشد. پس از دستيابی به سرويس دهنده ، برنامه مديريتی IIS را فعال ( از طريق منوی Administrative Tools ) و بر روی وب سايت مورد نظر کليک سمت راست نموده و گزينه Properties را انتخاب می نمائيم . در ادامه Home Directory Tab را انتخاب و پس از فعال نمودن دکمه Configuration ، جعبه محاوره ای Application Configuration ، نمايش داده می شود: 
    برای افزودن يک mapping جديد ، بر روی Add button ، کليک می نمائيم .در ادامه شاهد نمايش يک جعبه محاوره ای جديد خواهيم بود که امکان درج يک ISAPI extension جديد را فراهم می نمايد. در اين رابطه می توان حوزه عملکرد mapping را مشخص نمود ( تمامی درخواست های HTTP و يا صرفا" يک نوع خاص HTTP ). برای افزودن يک mapping برای فايل هائی با انشعاب mdb . ، مقدار mdb. را به عنوان extension وارد نموده و aspnet_isapi.dll ISAPI extension را انتخاب می نمائيم .
    ( در مسير $WINDOWS_DIR$\Microsoft.Net\Framework\$VERSION$ )


  •  
  • پيکربندی ASP.NET به گونه ای که فايل هائی با انشعاب mdb . به HttpForbiddenHandler ، مپ گردند . 
    بدين منظور دستورات زير به فايل Web.config مربوط به برنامه وب ، اضافه می گردد : 
    Web.Config File : Just for a Web Application
    <httpHandlers>
    <add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" />
    </httpHandlers>
    <httpHandlers> می بايست درون المان <system.web> ، قرار گيرد . 
    افزودن بخش <httpHandlers> به يک فايل Web.Config باعث می شود که فايل هائی با انشعاب mdb. به HttpForbiddenHandler مربوط به يک برنامه وب مپ گردند ، در صورتی که قصد استفاده از mapping فوق را در تمامی برنامه های وب ASP.NET
     موجود بر روی سرويس دهنده وب داشته باشيم ، ، می توان کد زيررا به بخش <httpHandlers> مربوط به فايل machine.config اضافه نمود ( فايل machine.config در دايرکتوری $WINDOWS_DIR$\Microsoft.Net\Framework\$VERSION$\CO NFIG قرار دارد ). 
    Machine.config File : All Web Application on the web server 
    <httpHandlers>
    <add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" />
    </httpHandlers>

خلاصه 
در اين مقاله با نحوه استفاده از ASP.NET HTTP handlers به منظور حفاظت فايل هائی با يک انشعاب خاص ، آشنا شديم . بدين منظور لازم است دو مرحله دنبال گردد: در اولين مرحله ، انشعاب فايل در 
IIS به ASP.NET ISAPI extension ، مپ گردد . در مرحله دوم می بايست پيکربندی ASP.NET engine را در خصوص mapping انشعاب مشابه به HttpForbiddenHandler ، نيز انجام داد. به منظور حفاظت يک فايل با انشعاب خاص ، می بايست دو مرحله اشاره شده را انجام داد . در صورتيکه هر يک از مراحل بدرستی پيکربندی نگردد، امکان مشاهده محتوی فايل توسط کاربران وجود خواهد داشت .

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:31 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

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


  • <LI dir=rtl>آيا سرويس دهنده از طريق اينترنت قابل دستيابی است ؟ 
    <LI dir=rtl>آيا سرويس دهنده از طريق اينترانت قابل دستيابی است ؟ 
    <LI dir=rtl>چه تعداد وب سايت بر روی سرويس دهنده ميزبان خواهند شد ؟ 
    <LI dir=rtl>آيا وب سايت ها نيازمند استفاده از محتويات بصورت اشتراکی می باشند ؟ 
    <LI dir=rtl>آيا سرويس دهنده امکان دستيابی را برای افراد ناشناس ( هر فرد ) فراهم نموده و يا صرفا" افراد مجاز حق استفاده از سرويس دهنده را خواهند داشت ؟ و يا هر دو ؟ 
    <LI dir=rtl>آيا امکان استفاده و حمايت از SSL)Secure Socket Layer) وجود دارد ؟ 
    <LI dir=rtl>آيا سرويس دهنده صرفا" برای دستيابی به وب از طريق HTTP استفاده می گردد ؟ 
    <LI dir=rtl>آيا سرويس دهنده ، سرويس FTP را حمايت می نمايد ؟
  • آيا کاربرانی وجود دارد که نيازمند عمليات خاصی نظير کپی، فعال نمودن، حذف و يا نوشتن فايل هائی بر روی سرويس دهنده باشند ؟

موارد زير در زمان نصب IIS پيشنهاد می گردد :


  • <LI dir=rtl>کامپيوتری که IIS بر روی آن نصب شده است را در يک محل امن فيزيکی قرار داده و صرفا" افراد مجاز قادر به دستيابی فيزيکی به سرويس دهنده باشند . 
    <LI dir=rtl>در صورت امکان، IIS را بر روی يک سرويس دهنده Standalone نصب نمائيد. در صورتيکه IIS بر روی يک سرويس دهنده از نوع Domain Controller نصب گردد و سرويس دهنده وب مورد حمله قرار گيرد، تمام سرويس دهنده بهمراه اطلاعات موجود در معرض آسيب قرار خواهند گرفت . علاوه بر مورد فوق، نصب IIS بر روی يک سرويس دهنده از نوع Domain controller ، باعث افزايش حجم عمليات سرويس دهنده و متعاقبا" کاهش کارآئی سيستم در ارائه سرويس های مربوط به وب خواهد شد . 
    <LI dir=rtl> برنامه های کاربردی و يا ابزارهای پياده سازی نمی بايست بر روی سرويس دهنده IIS نصب گردند . 
    <LI dir=rtl>کامپيوتر مربوط به نصب IIS را بگونه ای مناسب پارتيشن نموده تا هر يک از سرويس ها نظير www و يا FTP بر روی پارتيشن های مجزاء قرار گيرند . 
    <LI dir=rtl>IIS امکان نصب برنامه ها را در مکانی ديگر بجز پارتيشن C فراهم نمی نمايد ( مگراينکه يک نصب سفارشی داشته باشيم ) .موضوع فوق به عملکرد سيستم عامل مرتبط می گردد . مجوزهای پيش فرض در رابطه با %Systemdrive% اعمال می گردد ( مثلا" درايو C) . موضوع فوق می تواند باعث عدم صحت کارکرد مناسب برخی از سرويس های IIS گردد. می بايست مطمئن شد که مجوزهای سيستم عامل با عمليات مربوط به سرويس های IIS ، رابطه ای ندارند . 
    <LI dir=rtl>تمام پروتکل های پشته ای (Stack) غير از TCP/IP را از روی سيستم حذف نمائيد. ( در موارديکه برخی از کاربران اينترانت نيازمند برخی از اين نوع پروتکل ها می باشند می بايست با دقت اقدام به نصب و پيکربندی مناسب آن نمود ) . 
    <LI dir=rtl>روتينگ IP ، بصورت پيش فرض غيرفعال است و می بايست به همان حالت باقی بماند . در صورت فعال شدن روتينگ ، اين امکان وجود خواهد داشت که داده هائی از طريق کاربران اينترانت به اينترنت ارسال گردد . 
    <LI dir=rtl>نصب 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]
iis_common = on
iis_inetmgr = on
iis_www = on
iis_ftp = on
iis_htmla = on
iis_doc = on
iis_pwmgr = on
iis_smtp = on
iis_smtp_docs = on
mts_core = on
msmq = off
[InternetServer]
PathFTPRoot={put your drive and install location here, i.e. f:\FTPROOT}
PathWWWRoot={put your drive and install location here, i.e. f:\WWWRoot}

در ادامه از دستور زير برای نصب استفاده می گردد . ( از طريق خط دستور ) 


Sysocmgr/I:%windir%\inf\sysoc.inf /u:a:\iis5.txt

جدول زير مجوزهای لازم NTFS و IIS در رابطه با دايرکتوری های مربوطه را نشان می دهد :


Type of
Data
Example Directories
Data Examples
NTFS File Permissions
IIS 5.0
Permissions

Static Content
\Inetpub\wwwroot\images
\Inetpub\wwwroot\home
\Inetpub\ftproot\ftpfiles

HTML, images, FTP
downloads, etc.

Administrators (Full Control)
System (Full Control)
WebAdmins (Read & Execute
,Write, Modify)
Authenticated Users (Read)
Anonymous (Read)

ReadFTP Uploads
(if required)
\Inetpub\ftproot\dropbox
Directory used as a
place for users to store
documents for review
prior to the Admin
making them available
to everyone

Administrators (Full Control)
WebAdmins or FTPAdmins
(Read & Execute, Write, Modify)
Specified Users (Write)

WriteScript Files\Inetpub\wwwroot\scripts
.ASP
Administrators (Full Control)
System (Full Control)
WebAdmins(Read & Execute,
Write, Modify)
Authenticated Users: special
access (Execute)
Anonymous: special access
(Execute)

Scripts onlyOther
Executable and
Include Files
\WebScripts\executables
\WebScripts\include

.exe, .dll, .cmd, .pl
.inc, .shtml, .shtm

Administrators (Full Control)
System (Full Control)
WebAdmins (Read & Execute,
Write, Modify)
Authenticated Users: special
access (Execute)
Anonymous: special access
(Execute)

Scripts only
Or
Scripts and
Executables**
**(Depending on
necessity)

Metabase\WINNT\system32\inetsrv
MetaBase.bin
Administrators (Full Control)
System (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 دايرکتوری های متعددی ايجاد که در آنها فايل های نمونه بهمراه اسکريپت ها قرار می گيرد. پيشنهاد می گردد دايرکتوری های فوق حذف و يا مکان آنها تغيير يابد . دايرکتوری های زير نمونه هائی در اين زمينه می باشند : 


\InetPub\iissamples
\InetPub\AdminScripts

سرويس های IIS 
در زمان نصب IIS ، چهار سرويس بر روی سيستم نصب خواهد شد :


  • <LI dir=rtl>www . سرويس فوق،بمنظور ايجاد يک سرويس دهنده وب و سرويس دهی لازم به درخواست سرويس گيرندگان برای صفحات وب استفاده می گردد . 
    <LI dir=rtl>FTP . سرويس فوق، بمنظور ارائه خدمات لازم در خصوص ارسال و دريافت فايل بر روی سرويس دهنده برای کاربران استفاده می گردد . 
    <LI dir=rtl>SMTP . سرويس فوق،امکان ارسال و دريافت نامه الکترونيکی برای سرويس گيرندگان را در پاسخ به فرم ها و برنامه های خاص ديگر فراهم می نمايد .
  • NNTP . سرويس فوق، بمنظور ميزبانی يک سرويس دهنده خبری USENET استفاده می گردد .

در زمان نصب IIS ، می توان تصميم به نصب برخی از سرويس ها و يا همه آنها گرفت . پس از نصب IIS ، در صورتيکه به وجود برخی از سرويس ها نياز نباشد، می توان آنها را غير فعال نمود. بدين منظور می بايست مراحل زير را دنبال کرد : 


  • انتخاب گزينه Services از طريق مسير زير :

Programs => Administrative Tools => Services

  • <LI dir=rtl>انتخاب سرويسی که قصد غير فعال کردن آن را داريم . در ادامه با فعال کردن کليد سمت راست موس ، گزينه Stop را بمنظور توقف سرويس فعال نمائيد .
  • بمنظور اطمينان از عدم اجرای سرويس غير فعال شده در زمان راه اندازی مجدد سيستم، سرويس را مشخص و پس از فعال کردن کليد سمت راست موس، گزينه Properties را انتخاب ودر بخش Startup type وضعيت اجرای سرويس را از حالت Automatic به Disable تغيير دهيد . شکل زير نحوه غير فعال نمودن سرويس www را نشان می دهد .

ايمن سازی متابيس 
متابيس (Metabase) ، مقادير مربوط به پارامترهای پيکربندی برنامه IIS را ذخيره می نمايد . متابيس بمنظور استفاده در IIS طراحی و بمراتب سريعتر و انعطاف پذيرترنسبت به ريجستری ويندوز 2000 است . هر گره در ساختار متابيس ،
 يک کليد (key) ناميده شده و می تواند دارای يک و يا چندين مقدار مربوط به پيکربندی بوده که خصلت ناميده می شوند . کليدهای متابيس IIS به عناصر و قابليت های مربوط به IIS اختصاص داده شده و هر کليد شامل خصلت هائی است که تاثير مستقيمی بر روی سرويس و پتانسيل مربوطه ، خواهد داشت . ساختار استفاده شده در متابيس بصورت سلسله مراتبی بوده و تصويری مناسب از ساختار IIS است که بر روی سيستم نصب شده است . اکثر کليدهای پيکربندی IIS بهمراه مقادير مربوطه در نسخه های قبلی IIS ، در ريجستری سيستم ذخيره می گرديدند. در نسخه پنج ، تمام مقادير فوق در متابيس ذخيره می گردند . کليدهای ديگری نيز بمنظور افزايش کنترل انعطاف پذيری IIS در متابيس ذخيره می گردد . يکی از مزايای ساختار استفاده شده در متابيس ، اختصاص تنظميات متفاوت يک خصلت خاص برای نمونه های متفاوتی از کليد ها ی مشابه است . مثلا" خصلت MaxBandwidth ،حداکثر پهنای باند قابل دسترس را برای يک سرويس دهنده مشخص و می تواند به تراکنش های متعدد وب تعميم يابد . متابيس ، قادر به نگهداری مقادير متفاوت MaxBandwidth برای هر يک از سايت های وب می باشد . 
متابيس در يک فايل خاص با نام Metabase.bin و در آدرس winnt\system32\ineterv \ ذخيره می گردد . پس از استقرار IIS در حافظه ، متابيس نيز از روی ديسک خوانده شده و در حافظه مستقر می گردد . پس از غيرفعال شدن IIS ، متابيس مجددا" بر روی ديسک ذخيره خواهد شد . ( متابيس بدفعاتی که IIS اجراء خواهد شد بر روی ديسک ذخيره می گردد) . با توجه به نقش حياتی فايل فوق برای برنامه IIS ، حفاظت و کنترل دستيابی به آن دارای اهميت فراوان است . در صورتيکه فايل فوق ، با يک فايل ديگر ( نامعتبر) جايگزين گردد، عملکرد صحيح برنامه IIS بمخاطره خواهد افتاد . برنامه IIS سريعا" متاثر از تغييرات خواهد شد . (اولين مرتبه ای که IIS پس از اعمال تغييرات اجراء می گردد ) . در چنين مواردی ممکن است سرويس مربوطه از طريق سرويس دهنده ، اجراء نشود. پيشنهاد می گردد که فايل Metabsat.bin بر روی پارتيشننی از نوع NTFS ذخيره و با استفاده از امکانات امنيتی ويندوز 2000 آن را حفاظت کرد . مجوزهای پيش فرض برای فايل فوق ،System و Administrator Full Access می باشد . محدوديت دستيابی به System و local Administrators امنيتی قابل قبول در رابطه با فايل فوق را ايجاد و ضرورتی به تغيير و يا اضافه نمودن تنظيمات جديدی نخواهد بود . 
بمنظورايجاد پوسته حفاظتی مطلوبتر امنيتی در رابطه با فايل فوق ، پيشنهاد می گردد فايل فوق برای کاربران غير مجاز مخفی شود . انتقال و يا تغيير نام فايل نيز می تواند امنيت فايل فوق ر ا مضاعف نما يد . بدين منظور می بايست در ابتدا برنامه IIS متوقف و پس از تغيير نام و يا انتقال فايل فوق ، تغييرات لازم را در کليد ريجستری زير اعمال نمود . 


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetMgr\Para meters

در ادامه يک مقدار جديد REG_SZ برای کليد فوق با نام MetadataFile ايجاد و مسير کامل فايل را که شامل نام درايو و نام فايل است ، بعنوان نام جديد فايل متابيس معرفی نمائيم . بدين ترتيب برنامه IIS آگاهی لازم در خصوص نام و آدرس فايل متابيس را پيدا و در زمان را اندازی از آن استفاده خواهد کرد . 
پيشنهادات تکميلی در رابطه با امنيت برنامه IIS 


  • <LI dir=rtl>بر روی سرويس دهنده IIS صرفا" IIS و عناصر مورد نياز را نصب و از نصب برنامه ها و ابزارهای پياده سازی ممانعت بعمل آيد . 
    <LI dir=rtl>تمام سرويس های غير ضروری را غير فعال نمائيد . 
    <LI dir=rtl>در رابطه با IUSER_Computername account ، گزينه های User cannot change password و Password Never Expires را انتخاب و فعال نمائيد . 
    <LI dir=rtl>در صورتيکه تمايلی به ورود افراد گمنام (anonymous) به شبکه وجود نداشته باشد ، می بايست account مربوطه را غير فعال نمود (IUSER_Computername) . 
    <LI dir=rtl>برای هر وب سايت local admin groups ايجاد و account مربوطه را مشخص نمائيد . 
    <LI dir=rtl>برای کاربران وب يک local group ايجاد و صرفا" account های مورد نياز و مجاز نظير IUSER_Computername را در آن فعال نمائيد . 
    <LI dir=rtl>از تمام گروه های ديگر، account مربوط به IUSER_Computername را حذف نمائيد . 
    <LI dir=rtl>تمام مجوزهای NTFS مربوط به دايرکتوری Inetpub را حذف و صرفا" گروه ها و account های مجاز را به آن نسبت دهيد . 
    <LI dir=rtl>يک ساختار منطقی برای دايرکتوری ايجاد نمائيد . مثلا" برای محتويات ايستا ، فايل های asp ، scripts و Html ، اسامی دايرکتوری ديگری ايجاد و با يک ساختار مناسب بيکديگر مرتبط گردند. 
    <LI dir=rtl>مجوزهای لازم NTFS بر روی ساختار دايرکتوری ها را در صورت نياز اعمال نمائيد . 
    <LI dir=rtl>تمام دايرکتوری های نمونه و اسکريپت هائی که نمونه برنامه هائی را اجراء می نمايند ، حذف نمائيد .
  • مجوز Log on locally به کاربر اعطاء و امکان log on as a batch service و Access this computer from the network از کاربر سلب گردد .

در بخش دوم اين مقاله به بررسی نحوه تنظيم خصلت های متفاوت برنامه Internet Services Manager با رعايت مسائل امنيتی خواهيم پرداخت .

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:33 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

 

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

در بخش اول اين مقاله، پيکربندی IIS با رعايت مسائل امنيتی تشريح گرديد . در بخش دوم ، به بررسی نحوه تنظيم خصلت های متفاوت برنامه Internet Services Manager با رعايت مسائل امنيتی خواهيم پرداخت .
کنسول مديريتی ماکروسافت (Microsoft Management Console :MMC، يک برنامه رابط کاربر گرافيکی با نام کنسول را ارائه می نمايد .هدف از ارائه کنسول فوق، ارائه محيط لازم بمنظور انجام تمام عمليات مديريتی از طريق کنسول مديريت است( تمام عمليات قابل دسترس، تابعی از کنسول مديريت می باشند) .اين نوع فرآيند ها، Snap-ins ناميده می شود . MMC خود دارای هيچگونه رفتار مديريتی نبوده ولی محيط لازم برای Snap-ins را فراهم می نمايد.بدين ترتيب کنترل مديريتی و راهبردی محيط مربوطه ، متمرکز می گردد . در زمان نصب برنامه IIS ، يک Snap-ins با نام ISM(Internet Service Manager) ارائه و در اختيار مديران سيستم قرار خواهد گرفت . بمنظور فعال نمودن برنامه ISM از مسير زير استفاده می کنيم :


Start => Programs => Administrative Tools =>Internet Service Manager 

شکل زيرصفحه اصلی برنامه ISM را نشان می دهد .


معرفی برنامه ISM)Internet Service Manager)
زمانيکه برنامه IIS فعاليت خود را آغاز می نمايد، يک کنسول MMC اجرای خود را آغاز و بصورت خودکار Snap-in مربوط به ISM را فعال و در حافظه مستقر می نمايد . صفحه مربوط به Server Properties ، دارای دو گزينه است : Internet Information Services ( که بصورت پيش فرض فعال است ) و Server Extensions . در صفحه مربوط به IIS ، سه جعبه محاوره ای عمده وجود دارد :


Master Properties , Enable Bandwidth Throttling , Computer MIME Map

درموارديکه قصد ايجاد چندين وب سايت بر روی سرويس دهنده را داشته باشيم ، تنظيم هر يک از خصلت های فوق، بسيار مفيد خواهد بود . خصلت های تعريف شده، بصورت اتوماتيک به تمام وب سايت های موجود بر روی سرويس دهنده ،نسبت داده می شود( توارث) . بدين ترتيب در زمان مربوط به پيکربندی هر يک از سايت های موجود بر روی سرويس دهنده ،صرفه جوئی خواهد شد . در صورتيکه برخی از سايت ها نيازمند تنظيمات خاص خود باشند ، می توان در زمان پيکربندی هر يک از سايت ها ، موارد دلخواه را اعمال نمود . 
بمنظور دستيابی به جعبه محاوره ای خصلت اصلی مربوط به سرويس دهنده IIS ، مراحل زير را دنبال نمائيد :


  • <LI dir=rtl>نام سرويس دهنده IIS را در برنامه ISM ، انتخاب نمائيد . 
    <LI dir=rtl>از طريق منوی Action گزينه Properties را انتخاب نمائيد .
  • سرويس WWW و يا FTP را از طريق منوی مربوطه انتخاب و دکمه Edit را بمنظور پيکربندی Master Properties سرويس مربوطه ، فعال نمائيد .

سرويس WWW 
از جعبه محاوره ای Master Properties ، بمنظور تنظيم مقادير پيش فرض برای تمام سايت های موجود بر روی سرويس دهنده استفاده می شود . با انتخاب گزينه Edit در صفحه Master Properties ، می توان پيکربندی عمومی خصلت های مربوط به وب سايت( وب سايت ها ) را انجام داد . در صفحه فوق، گزينه های متفاوتی وجود دارد . چهار گزينه به خصلت هائی مربوط می گردد که دارای تاثير امنيتی در رابطه با عملکرد يک وب سايت می باشند : 


Web site ,Operators , Home Directory , Directory Security .

  • <LI dir=rtl>Web site Tab . در اين جعبه محاوره ای ،Enable Logging تنها آيتمی است که با مسائل امنيتی مرتبط بوده و بصورت پيش فرض نيز فعال می باشد . با فعال بودن ( شدن ) گزينه فوق ، اطلاعات متفاوتی در رابطه با استفاده کنندگان از تمام وب سايت های موجود بر روی سرويس دهنده ثبت می گردد . 
    <LI dir=rtl>Operators Tab . با استفاده از امکان فوق، می توان گروهها و يا account هائی با مجوز خاص را بمنظور انجام عمليات مديريتی در رابطه با تمام سايت های موجود بر روی سرويس دهنده ، مشخص کرد . در صورتيکه سرويس دهنده ، مسئوليت پشتيبانی از چندين وب سايت را برعهده داشته باشد،می بايست برای هر وب سايت، يک گروه مجزا بمنظور مديريت محتويات ، ايجاد شود . 
    <LI dir=rtl>Home Directory Tab. در اين محل می توان ، گزينه مربوط به ثبت (log) ملاقات های انجام شده در رابطه با سايت های موجود بر روی سرويس دهنده را فعال نمود . با فعال شدن گزينه ثبت ملاقات کنندگان، می توان همواره اين اطمينان را داشت که تمام سايت ها و حتی سايت هائی که بعدا" ايجاد می گردند ، بصورت پيش فرص قادر به ثبت ملاقات کنندگان خود، خواهند بود . ثبت ملاقات کنندگان، از اصول اوليه برای تشخيص رفتار مزاحمين در رابطه با وب سايت ها خواهد بود . با تنظيم گزينه فوق در اين مکان ، مديريت سرويس دهنده وب ضرورتی ندارد که برای هر سايتی که ايجاد می گردد،گزينه ثبت ملاقات کنندگان را فعال نمايد . مجوزهای Read , Write و Directory Browsing می بايست به همان حالت پيش فرض باقيمانده و ضرورتی به تنظيم آنها در اين محل نخواهد بود . (برای هر سايتی که در آينده ايجاد می گردد ، می توان مجوزهای مربوطه را متناسب با سياست های موجود تنظيم و پيکربندی کرد ) . مجوز Read امکان مشاهده سايت را به ملاقات کنندگان ، مجوز Write امکان نوشتن اطلاعات در فهرستی که سايت نصب شده است و مجوز Directory Browsing امکان مشاهده ليستی از تمام فايل های موجود در يک فهرست خاص را برای کاربر، فراهم می نمايد.پيشنهاد می گردد ، در صفحه Master Properties ، تمام گزينه های فوق غير فعال گردند ( عدم انتخاب ) . در صفحه Home Directory ، ليست مربوط به مجوزهای اجراء نيز وجود دارد . پيشنهاد می گردد در اين مقطع مقدار آن None در نظر گرفته شود . در صورت نياز به اختصاص مجوزهای فوق ، می توان اين عمليات را بصورت خاص برای برای هر يک از وب سايت های موجود بر روی سرويس دهنده انجام داد .
  • Directoty Security Tab . روش های تاييد اعتبار با توجه به اينکه محدوده عملياتی و مجاز کاربران ( کنترل دستيابی به فايل هائی خاص ،فهرست ها و اسکريپت ها ) را مشخص می نمايند، دارای اهميت زيادی می باشند .تنظيم و انتخاب روش های تاييد اعتبار کاربران به نوع استفاده از سايت بر می گردد ( آيا سايت بر روی اينترنت و يا اينترانت است ؟) . بمنظور مشاهده صفحه مربوط به Authentication Methods گزينه Edit را از طريق ناحيه Anonymouse access and authentications control ، انتخاب نمائيد . مجوز Anonymous Access ، می تواند به بصورت پيش فرض در اختيار در تمام وب سايت های موجود بر روی سرويس دهنده قرارگرفته و يا اين امکان از آنها سلب گردد. در صورتيکه سايت از طريق اينترانت و يا يک شبکه داخلی ( يک شبکه مبتنی بر ويندوز) استفاده می گردد، می بايست گزينه فوق، غير فعال گردد . بدين ترتيب کاربران شبکه ، می بايست با استفاده از نام و رمز عبور مربوطه به شبکه وارد تا زمينه استفاده آنان از امکانات موجود فراهم گردد . در صورتيکه سرويس دهنده از طريق اينترنت استفاده می گردد، اکثر وب سايت ها امکان دستيابی بصورت Anonymous را فراهم می نمايند . بجزء روش دستيابی Anonymouse ، از سه روش تاييد اعتبار ديگر نيز می توان استفاده کرد :

توضيحات 
روش
روش فوق، امکان حرکت و انتقال نام و رمز عبور در طول شبکه را بصورت کاملا" مشخص و متن شفاف فراهم می نمايد . بدين ترتيب يک مزاحم اطلاعاتی قادر به شناسائی account های معتبر، بمنظور نفوذ در سايت خواهد بود. 
Basic Authentication
روش فوق، برای سرويس دهندگان Windows Domain ، مشابه Basic Authentication با اين تفاوت است که در مقابل استفاده از نام و رمز عبور بصور متن شفاف ، يک رمز عبور Hash شده بمنظور ارتقاء سطح اعتبارسنجی ارسال می گرد .اين روش صرفا" توسط مرورگرهائی که HTTP 1.1 را حمايت می نمايند، قابل استفاده می باشد ( نظير مرورگر IE5 ) .جهت استفاده از روش فوق، سرويس دهنده IIS می بايست در يک Domain ويندوز 2000 قرار داشته و رمزهای عبور در فايل های متنی و بر روی کنتترل کننده Domain ذخيره گردند .بنابراين کنترل کننده Domain ، می بايست بدرستی ايمن و حفاظت گردد . 
Digest authentication
مشابه روش Challange/Respones در IIS 4.0 مربوط به ويندوز NT است. روش فوق، صرفا" از طريق مرورگرهای وب شرکت ماکروسافت قابل استفاده خواهد بود .
Integrated windows authentication

انتخاب يک روش اعتبار سنجی ، مبتنی برسياست های امنيتی تدوين شده بوده و نمی توان يک راه حل جامع را معرفی تا تمام وب سايت ها از آن تبعيت نمايند . 
سرويس FTP 
صفحه اصلی مربوط به تنظيمات خصلت های FTP ، دارای گزينه های بمراتب کمتری نسبت به سرويس WWW است . بمنظور فعال نمودن صفحه فوق ، از طريق IIS Server Properties سرويس FTP را انتخاب و در ادامه دکمه Edit را فعال نمائيد . 



  • <LI dir=rtl>FTP Site Tab . پيشنهاد می گردد که امکان Logging در اين بخش فعال تا اگر در آينده و در رابطه با يک سايت اين موضوع فراموش گرديد، با مشکلاتی مواجه نگرديم .با توجه به نوع سرويس FTP ، تعداد ارتباطات همزمان مجاز بهمراه زمان timeout را می توان در اين بخش تنظيم کرد . 
    <LI dir=rtl>Security Tab . مشابه سرويس www ، می توان امکان دستيابی Anonymous را برای سرويس FTP در اين بخش مشخص نمود . در صورتيکه سايت از طريق اينترنت استفاده می گردد وتمايل به فعال شدن مجوز دستيابی anonymous وجود داشته باشد ، می توان آن را در اين بخش تنظيم نمود . پيشنهاد می گردد که امکان Allow only anonymous connection انتخاب گردد . عملکرد Allow IIS to control password مشابه گزينه Enable automatic password synchronization در نسخه شماره چهار IIS است . بدين ترتيب امکان يکسان سازی رمز عبور موجود در اين صفحه با مقدار موجود در Computer Management ، بمنظور کنترل رمز عبور کاربران و گروه ها انجام خواهد شد . account مربوط به IUSR_computername می بايست بر روی ماشينی که بر روی آن IIS نصب شده است موجود باشد .(وضعيت فوق بصورت پيش فرض بوده و نبايد آن را تغيير داد) . از يک نام و رمز عبور تعريف شده در Domain ويندوز بمنظور FTP استفاده نمی گردد . دومين بخش صفحه فوق، شامل ليستی بمنظور مشخص نمودن FTP site operators است . معرفی و مشخص نمودن گروه و يا account مربوطه با مجوزهای لازم بمنظور انجام عمليات مديريتی برای تمام سرويس دهندگان FTP موجود بر روی سرويس دهنده در اين بخش انجام می شود.در زمان پيکربندی يک سايت، گروه و account ايجاد شده، بصورت اتوماتيک مشمول سايت جديد شده ( از ليست گروه و کاربران مجاز که قبلا" ايجاد شده اند ، می توان در رابطه با سايت جديد نيز استفاده کرد )و می توان به ليست تعريف شده ، گروه و يا کاربران جديدی را اضافه و يا حذف نمود . در صورتيکه سرويس دهنده ، مسئول پاسخگوئی به چندين سايت FTP است ، پيشنهاد می گردد برای هر سايت، يک گروه مديريتی جداگانه ايجاد تا امکان مديريت محتويات سايت برای مسئول مربوطه فراهم گردد . 
    <LI dir=rtl>Home Directory Tab . در اين محل صرفا" يک گزينه مرتبط با مسائل امنيتی وجود دارد: Log visits . گزينه فوق، خوشبختانه بصورت پيش فرض فعال است . پيشنهاد می گردد گزينه فوق به همين وضعيت باقی بماند . ثبت ملاقات کنندگان سايت روشی مناسب بمنظور تشخيص رفتار مزاحمين و ساير موارد مشابه در رابطه با مهاجمان اطلاعاتی است . .
  • Directory Security Tab. در اين بخش امکان تعريف محدوديت دستيابی بر اساس TCP/IP ، وجود دارد .در اين راستا می توان، امکان دستيابی به سرويس دهنده را برای تمام کامپيوترها فراهم و يا اين امکان را از آنها سلب نمود. در صورتيکه سرويس دهنده از طريق اينترنت استفاده می گردد،مديريت سايت می بايست امکان دستيابی به تمام کامپيوترها را انتخاب نمايد ( مقدار پيش فرض ) در صورتيکه سايت بصورت اينترانت استفاده می گردد ، می توان از رويکرد اشاره شده در رابطه با اينترنت استفاده و يا ليستی از کاربران و گروهها ی مجاز را بمنظور دستيابی به سايت مشخص نمود . در چنين حالتی، گزينه Denied Access انتخاب و در ليست مربوطه (Except ) ، کاربران و گروه های مجاز مشخص می گردند .

Server Property Server Extensions
دومين بخش صفحه Master Properties به Server Extensions بر می گردد . IIS ،امکان نشراطلاعات از راه دور را فراهم می نمايد. ويژگی فوق، برای برنامه FrontPage مناسب است . بدين ترتيب يک مولف، قادر به ايجاد تغييرات لازم در رابطه با يک صفحه وب و ارسال آن بر روی سرويس دهنده ،از راه دور می باشد . وضعيت فوق از لحاظ امنيتی يک ريسک بشمار می رود . در اين بخش می توان تنظيمات لازم را بمنظور بهره برداری از ويژگی فوق، انجام داد . گزينه های موجود در اين بخش که به مسائل امنيتی مرتبط می باشند، در ناحيه Permission قرار دارند.در صورت استفاده از ويژگی فوق، می بايست گزينه های Log authoring actions ,Require SSL for authoring و Manage Permissinos manually فعال گردند . 



  • <LI dir=rtl>Log authoring actions . با انتخاب و فعال نمودن گزينه فوق ، اطلاعات متنوعی در رابطه با فرد ارسال کننده اطلاعات ، نظير: نام ارسال کننده ، زمان ارسال، نام وب ميزبان از راه دور و موارد ديگر، ثبت می گردد . 
    <LI dir=rtl>Manage permissions manually . تنظيمات مربوط به ابزارهای مديريتی FrontPage server extension ( نظير FronPage MMC) را غير فعال می نمايد . بنابراين ابزارهای فوق ، قادر به تغيير و اصلاح تنظيمات امنيتی مربوط به سايت انتخاب شده نخواهند بود. بمنظور اطمينان از اينکه افراد ديگر ( مديريت و يا ساير کاربران ) امکان تغيير تنظيمات امنيتی را نخواهند داشت ، توصيه می گردد حتما" گزينه فوق، فعال تا امکان تنظيمات امنيتی سيستم از برنامه های مربوطه، سلب گردد . 
    <LI dir=rtl>Require SSL for authoring . با انتخاب گزينه فوق ، نشر اطلاعات برروی سايت، با استفاده از پروتکل SSL انجام و يک سطح اميدوارکننده از لحاظ امنيتی را شاهد خواهيم بود .
  • Allow authors to upload Executables . اين امکان را به مديران مربوطه خواهد داد که اسکريپت ها و يا فايل های اجرائی را برای اجراء بر روی سرويس دهنده ، ارسال نمايند . گزينه فوق می بايست غير فعال شده باقی بماند .

خلاصه 
جدول زير خلاصه تنظيمات Master Properties در رابطه با سرويس WWW ,FTP و Server Extension را با رعايت مسائل ايمنی نشان می دهد :
تنظيمات پيشنهادی برای خصلت های اصلی WWW
Web site Tab
Enable logging 
Home directory Tab
Disable Read, Write, Directory browsing options
Enable Log visits 
None = Execute Permissions drop down box

Directory security Tab
If will NOT allow Anonymous access, Disable
Anonymous access 
Else Enable it.

تنظيمات پيشنهادی برای خصلت های اصلی FTP
FTP site Tab
Set number of connections for max users on FTP server
Set maximum seconds for timeout , 600 seconds is reasonable
Enable logging 

Home directory Tab
Enable Log visits 
Security Accounts Tab
Enable Allow Anonymous Connections
Enable Allow only anonymous connections


تنظيمات پيشنهادی برای خصلت های اصلی Server Extensions
Enable Log authoring actions 
Enable Require SSL for authoring 
Enable manage permissions manually 
Disable Allow authors to upload executable

در بخش سوم اين مقاله به بررسی نحوه پيکربندی و مديريت سرويس های متفاوت IIS با رعايت مسائل امنيتی خواهيم پرداخت

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:35 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

 

پيکربندی 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 بمنظور کنترل دستيابی استفاده می گردد ، برخی از سرويس گيرندگان وب ، ممکن است از طريق يک سرويس دهنده ***** و يا فايروال ، به سرويس دهنده وب دستيابی پيدا می نمايند، در چنين شرايطی آدرس های IP بسته های اطلاعاتی دريافتی برای سرويس دهنده ***** و يا فايروال ، ارسال خواهند شد . 
بمنظور پياده سازی برخی از روش های کنترل دستيابی به سرويس دهنده وب ، می توان از تکنولوژی هائی نظير 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 ، را حذف کرد.


  • <LI dir=rtl>Basic Authentication ، تقريبا" تمامی مرورگرهای وب موجود ، از روش فوق حمايت می نمايند . در اين روش ، نام و رمز عبور کاربر بصورت متن (Clear text ) ، ارسال می گردد . بديهی است در چنين مواردی امکان تشخيص و کشف اطلاعات ارسالی برای افراديکه ترافيک موجود در شبکه را مانيتور می نمايند ، وجود خواهد داشت . در صورتيکه تاکيد بر استفاده از روش فوق وجود داشته باشد ، پيشنهاد می گردد که بهمراه آن از SSL استفاده گردد . ترکيب SSL با روش Basic Authentication ، امکان رهگيری و کشف اطلاعات ارسالی را کاهش خواهد داد . بدين منظور لازم است مراحل زير دنبال گردد :
    مرحله اول : استفاده از يک Server Certificate 
    مرحله دوم : استفاده از يک کانال ايمن در زمان دستيابی به منابع 
    مرحله سوم : فعال نمودن Basic authentication و غيرفعال نمودن Anonymouse و Integrated Windows authentication برای سايت مورد نظر. 

    <LI dir=rtl>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 صورت پذيرد . روش فوق، گزينه ای مناسب برای استفاده در اکسترانت ها نخواهد بود ، (امکان فعاليت آن از طريق يک سرويس دهنده ***** و يا ساير برنامه های فايروال وجود نخواهد داشت) . از روش فوق بمنظور برپاسازی اينترانت های ايمن ، استفاده می گردد.

پيکربندی 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 استفاده کرد . 


  • <LI dir=rtl> Read . مجوز فوق ،امکان مشاهده و ارسال محتويات برای مرورگر سرويس گيرنده را فراهم می نمايد .
    <LI dir=rtl> Write . مجوز فوق، به کاربرانی که مرورگرآنان دارای ويژگی PUT ( مربوط به پروتکل استاندارد HTTP 1.1 ) است ، امکان Upload نمودن فايل هائی برای سرويس دهنده و يا تغيير محتويات يک فايل write-enabled را خواهد داد . گزينه فوق ، در اختيار کاربران قرار داده نمی شود و صرفا" مديريت مربوطه به نوع خاص و محدودی از مجوز فوق ، نياز خواهد داشت . 
    <LI dir=rtl>Directory Browsing ، مجوز فوق ، به يک سرويس گيرنده امکان مشاهده تمامی فايل های موجود در يک فهرست را خواهد داد . از مجوز فوق صرفا" در رابطه با سرويس دهندگان عمومی FTP استفاده و در ساير موارد ، استفاده ازمجوز فوق ، توصيه نمی گردد .
    <LI dir=rtl>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 بوده تا سرويس گيرندگان وب قادر به اجرای آنان گردند . 

خلاصه 
در زمان پيکربندی سرويس دهنده وب ، موارد زير پيشنهاد می گردد : 


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

در بخش چهارم اين مقاله به بررسی نحوه پيکربندی سرويس های www و FTP خواهيم پرداخت .

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:37 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

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

آنچه تاکنون گفته شده است : 
بخش اول : پيکربندیIIS 
بخش دوم نحوه تنظيم خصلت های متفاوت برنامه Internet Services Manager 
بخش سوم : روش های کنترل دستيابی به سرويس دهنده 
در بخش چهارم به بررسی نحوه تنظيم و پيکربندی سرويس وب خواهيم پرداخت . 
بمنظور پيکربندی وب سايت ، برنامه ISM را فعال و در ادامه بر روی وب سايت مورد نظر مستقر و با فشردن دکمه سمت راست موس ، گزينه Properties را انتخاب نمائيد . در ادامه جعبه محاوره ای مربوط به پيکربندی وب سايت نمايش و امکان انجام تنظيمات مورد نظر فراهم خواهد شد . در ادامه به تشريح هر يک از امکانات موجود در اين بخش خواهيم پرداخت .


Web site Tab: در اين بخش می توان تنظيمات زير را انجام داد :

  • <LI dir=rtl>Web site Identification . در اين بخش می توان يک مشخصه ( نام نسبت داده شده به وب سايت قابل استفاده در زمان نمايش درخت ISM ) را برای وب سايت تعريف نمود. همچنين در اين بخش می توان آدرس IP مربوط به اينترفيس کارت شبکه مسئول پاسخگوئی به سايت ، يک پورت TCP و پورت SSL را مشخص نمود. در بخش Advanced options ، می توان چندين نام domain و يا host header را به يک آدرس IP ، نسبت داد ( mapping ) . 
    <LI dir=rtl>
    Connections . گزينه فوق، امکان اعمال محدوديت در رابطه با تعداد دستيابی همزمان به يک وب سايت را فراهم می نمايد . با استفاده از گزينه های موجود در اين بخش می توان، يک زمان Timeout را مشخص کرد. پيشنهاد می گردد ، گزينه فوق انتخاب و مقدار مورد نظر به آن نسبت داده شود تا پيشگيری لازم در خصوص تهاجم اطلاعاتی از نوع غير فعال کردن سرويس ، ايجاد گردد.
  • Enable Logging .پيشنهاد می گردد که گزينه فوق ، فعال گردد. پس از فعال شدن گزينه فوق،اطلاعات مربوط به ملاقات کنندگان سايـت،ثبت خواهد شد.

Operators Tab . در اين بخش می توان تنظيمات زير را انجام داد :

  • Web Site Operators . از امکانات موجود در اين بخش می توان بمنظور مشخص نمودن گروه / کاربران مورد نظر ، جهت مديريت وب سايت، استفاده کرد. Account فوق ، می بايست يک گروه باشد ( در صورتيکه سرويس دهنده در يک domain باشد ) . account های موجود در گروه ضرورتی به دارا بودن مجوزهای مديريتی نخواهند داشت . اپراتورها ، صرفا" قادر به اعمال تغييرات در رابطه با خصلت هائی می باشند که محدوده اثر آنان همان وب سايت ، خواهد بود . اين نوع کاربران قادر به دستيابی به خصلت هائی که مربوط به عملکرد تمام IIS ،سرويس دهنده ويندوز 2000 که IIS را ميزبان نموده و يا شبکه ای که سيستم بر روی آن اجراء می گردد ، نخواهند بود. نمونه عملياتی را که يک اپراتور وب می تواند انجام دهد ، عبارتند از : 
    - مديريت محتويات وب ( تغيير ، اضافه و حذف ) 
    - فعال نمودن Logging 
    - تغيير اسناد پيش فرض وب 
    - تنظيم مجوزهای دستيابی سرويس دهنده وب 
    کاربرانی که عضوء گروه Administrators ويندوز 2000 می باشند ، قادر به انجام عمليات مرتبط با IIS ، زير خواهند بود : 
    - تغيير در ايزولاسيون برنامه ( جدا سازی برنامه ) 
    - ايجاد دايرکتوری های مجازی و يا تغيير مسير آنان 
    - تغيير نام و رمز عبور Anonymous 
    - تغيير مشخصه و يا پيکربندی يک وب سايـت

Home Directory Tab . با استفاده از امکانات موجود در اين بخش می توان ، تنظيمات متعددی را انجام داد . تنظيمات مربوط به کنترل عرضه محتويات وب ، مجوزهای دستيابی ، پيکربندی و اشکال زدائی ASP ، نمونه هائی در اين زمينه می باشند. تمامی تنظيمات مرتبط با امنيت از طريق A directory located on this computer ، پوشش داده می شوند.
Access Permissions . مجموعه مجوزهای موجود در اين محل می بايست با مجوزهای NTFS مطابقت نمايند . عمليات مربوط به پيکربندی دايرکتوری ها و تعريف مجوزهای مناسب برای سايت ها ، با عنوان :" عمليات قبل ازنصب " در بخش اول اين مقاله اشاره گرديد .
کنترل محتويات : در اين رابطه می توان تنظيمات زيررا انجام داد :

  • <LI dir=rtl>Script Source access . با انتخاب گزينه فوق ، کاربران قادر به دريافت فايل های Source خواهند بود. در صورتيکه گزينه Read انتخاب گردد ، کاربران قادر به خواندن Source و در صورتيکه Write انتخاب گردد ، امکان بازنويسی Source در اختيار کاربران قرار خواهد گرفت . Script Source access ، شامل دستيابی به Source اسکريپت ها نظير اسکريپت های استفاده شده در يک برنامه ASP است . پيشنهاد می گردد ، گزينه فوق به همان صورت پيش فرض ( انتخاب نشده ) باقی بماند . ويژگی فوق، صرفا" در زمانيکه قصد نشر و ارائه اطلاعات از راه دور را داشته باشيم ، مفيد و ضروری خواهد بود ( نظير WebDAV ) 
    <LI dir=rtl>Directory browsing . با انتخاب گزينه فوق ، ليستی از دايرکتوری ها و فايل های موجود بر روی سيستم بصورت hypertext ، برای کاربران نمايش داده خواهد شد.پيشنهاد می شود ، گزينه فوق فعال نگردد.
  • Log visits . پيشنهاد می گردد ، گزينه فوق فعال باشد( بصورت پيش فرض فعال است) . با فعال شدن گزينه فوق ، اطلاعات مربوط به تمامی کاربران ( ملاقات کنندگان سايت ) ثبت خواهد شد.

- Application Settings . يک برنامه ، دايرکتوری ها و فايل های موجود بهمراه يک دايرکتوری است که نقطه شروع برنامه را مشخص می نمايد.در اين بخش می توان تنظيمات زير را انجام داد :

  • <LI dir=rtl>Application protection . گزينه فوق باعث ايزوله نمودن يک برنامه مبتنی بر وب از طريق استقرار آن در مکانی متمايز از ساير برنامه ها و سرويس دهنده وب ، می گردد . پيشنهاد می گردد ، مقدار گزينه فوق ، medium و يا high در نظر گرفته شود. در صورتيکه مقدار medium انتخاب گردد ، حفاظت اعمال شده باعث پيشگيری برنامه ها از مسائل بوجود آمده تصادفی و سهوی مرتبط با نرم افزار سرويس دهنده وب ، خواهد شد. در صورتيکه مقدار گزينه فوق ، high در نظر گرفته شود ، برنامه بطورکامل در فضائی جداگانه از حافظه اجراء و در اين حالت بر روی ساير برنامه ها تاثير نخواهد گذاشت .
  • Execute Permissions . تنظيمات موجود در اين بخش ، اجراء برنامه های موجود در دايرکتوری را کنترل می نمايند . در اين رابطه می توان از تنظيمات زير استفاده کرد : 
    - none . باعث ممانعت در اجرای برنامه ها و يا اسکريپت ها می گردد .
    - Scripts . محدوديت اجراء در رابطه با اسکريپت ها اعمال خواهد شد ( انشعابات فايلی که قبلا" به برنامه های اسکريپت ، نسبت داده شده اند ) . دايرکتوری هائی که مجوز فوق ، به آنها داده می شود، می بايست ، امکان Read مربوط به کاربران ناشناس ( Anonymouse ) ، از آنها سلب گردد. در صورتيکه مجوز Read به account فوق ، داده شود، امکان مشاهده اطلاعات همراه در اسکريپت ها ، برای کاربران فراهم خواهد شد.( برخی از اطلاعات ممکن است حساس باشند نظير : رمز عبور ) 
    - Scripts and Executables . گزينه فوق، امکان اجرای هر نوع برنامه ای ( اسکريپت و فايل های باينری نظير فايل های exe . و يا dll .) را فراهم می نمايد . در زمان واگذاری مجوز فوق ، می بايست حساسيت خاصی را مد نظر داشت . مجوز فوق، صرفا" می بايست در رابطه با دايرکتوری هائی واگذار گردد که از فايل های باينری موجود در آنان سرويس دهنده وب استفاده می نمايد. در صورتيکه کاربران سايت نيازمند مجوز فوق در رابطه با يک دايرکتوری خاص می باشند ، مطمئن شويد که آنان دارای مجوز write مربوط به NTFS در ارتباط با کاربران anonymous سايت مورد نظر نخواهند بود . مجوز فوق ، شرايط لازم برای استقرار کدهای اجرائی بر روی سرويس دهنده را فراهم و ممکن است کدهای فوق ، کدهای مخربی باشند که زمينه شروع يک تهاجم اطلاعاتی را فراهم نمايند.

- Application Configuration . برای تنظيم جزئيات بيشتر مرتبط با برنامه ها ، می توان از امکان ( دکمه ) Configuration استفاده کرد . در ادامه يک جعبه محاوره ای جداگانه نمايش که دارای گزينه های :App Mappings , App Options , App Debugging و Process Options ( در صورتيکه مقدار High در رابطه با application protection انتخاب شده باشد ) . است .

  • <LI dir=rtl>App options Tab . از طريق امکانات موجود در اين بخش می توان ، اقدام به پيکربندی وب سايت ، دايرکتوری مجازی و level دايرکتوری نمود . 
    - Enable session state و Session timeout . با انتخاب گزينه فوق ، ASP برای هر کاربری که به برنامه ASP دستيابی پيدا می نمايد يک Session ايجاد می نمايد . بدين ترتيب امکان تشخيص کاربر در بين چندين صفحه ASP موجود در برنامه ، فراهم می گردد . زمانيکه کاربر صفحه ای را درخواست ننمايد و يا صفحه را در مدت زمان تعريف شده ( Session timeout ) ، بازخوانی ( Refresh ) ننمايد ، Session متوقف خواهد شد . 
    - با مقداردهی ASP Script timeout ، در صورتيکه يک اسکريپت در زمان تعريف شده اجرای خود را به اتمام نرساند ، يک entry در Event log ويندوز 2000 ايجاد و به اجرای اسکريپت خاتمه داده می شود . تنظيم مقدار Timeout باعث پيشگيری از بروز تهاجم اطلاعاتی از نوع غير فعال نمودن سرويس می گردد ( انکار سرويس ) 
    - پيشنهاد می گردد ، گزينه Enable parent paths ، غير فعال باشد . بدين ترتيب اسکريپت های ASP امکان استفاده از مسيرهای Relative نسبت به دايرکتوری مادر دايرکتوری جاری را نخواهند داشت . ( گرامر " .. " ) . در صورتيکه دايرکتوری مادر امکان Execute را فراهم نموده باشد ، يک اسکريپت می تواند تلاشی را در جهت اجرای يک برنامه غير مجاز در دايرکتوری مادر ، آغاز نمايد..
  • Process Options Tab . در اين رابطه گزينه Write Unsuccessful client requests to event log ( صرفا" در حالتيکه ايزولاسيون High در رابطه با حفاظت برنامه انتخاب شده باشد) ، ارائه خواهد شد .

Documents Tab . پيشنهاد می گردد ، مديريت سيستم ( شبکه ) همواره يک سند پيش فرض را مشخص تا تمامی کاربران در زمان دستيابی به سايت آن را مشاهده نمايند. بدين ترتيب از نمايش ناخودآگاه ساختار دايرکتوری ، پيشگيری بعمل می آيد . وضعيت فوق زمانی انجام خواهد شد که گزينه Directory browsing فعال شده باشد . 


Directory Security Tab. خصلت های امنيتی را می توان در رابطه با وب سايت ، دايرکتوری ، دايرکتوری مجازی و يا Level فايل ، اعمال نمود.

  • <LI dir=rtl>
    Anonymous access and Authenticated access ، در رابطه با گزينه فوق در بخش دوم مقاله ، توضيحاتی ارائه گرديده است .
  • IP Address and Domain Name Restrictions ، مديران سيستم می توانند با استفاده از گزينه فوق ، کاربران مجاز به استفاده از وب سايت را بر اساس آدرس IP مربوطه ، مشخص نمايند. در اين رابطه دو گزينه ارائه می گردد : Granted Access و Denied Access . با انتخاب گزينه Gtanted Access ، تمامی کامپيوترها، مجاز به استفاده از منابع موجود بر روی سيستم خواهند بود بجزء آنهائيکه آدرس IP آنان مشخص شده است . Denied Access ، امکان دستيابی به منابع سيستم را صرفا" ( فقط) برای کامپيوترهائی که آدرس IP آنان مشخص شده است ، ميسر می سازد . در چنين حالتی درخواست های دريافتی از ساير کامپيوترها ، ناديده گرفته خواهد شد . زمانيکه آدرس های IP را مشخص می نمائيم ، دارای سه گزينه ديگر خواهيم بود: Single Computer ، در اين حالت مديريت شبکه ( سيستم ) صرفا" يک آدرس IP را مشحص می نمايد . Group of computers ، در اين حالت مديريت network ID و Sbunet mask را مشخص و در زمانيکه Domain name انتخاب می گردد ، يک پيام هشداردهنده نمايش داده می شود . (انتخاب فوق باعث کاهش کارآئی سيستم خواهد شد) . در چنين حالتی برای هر درخواست اتصال ، می بايست از DNS Reverse lookup ، استفاده گردد .


  • Secure Communications ، از گزينه فوق ، بمنظور پيکربندی ويژگی های SSL قابل دسترس بر روی سرويس دهنده وب ، استفاده می گردد . با انتخاب گزينه فوق ، تمامی ترافيک بين سرويس گيرنده و سرويس دهنده بصورت رمز شده انجام خواهد شد . پس از پيکربندی لازم ، ملاقات کنندگان سايت ، می بايست از مرورگرهائی استفاده نمايند که از Secure Communications ، حمايت می نمايند. ( جزئيات مربوطه در مقالات آتی ارائه می گردد ) .

Server Extensions Tab . برنامه IIS 5.0 ، امکان توليد و نشر اطلاعات از راه دور را فراهم می نمايد. پيشنهاد می گردد ، برای هر يک از وب سايت های موجود بر روی سرويس دهنده IIS ، گزينه enable authoring ، غير فعال گردد . ويژگی فوق ، امکان تغيير در يک صفحه وب و در نهايت Upload نمودن آن بر روی وب سايت را در اختيار برنامه Frontpage ، قرار خواهد داد .


در بخش پنجم اين مقاله ، به بررسی سرويس FTP ، خواهيم پرداخت

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:45 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

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

آنچه تاکنون گفته شده است : 
بخش اول : پيکربندیIIS 
بخش دوم نحوه تنظيم خصلت های متفاوت برنامه Internet Services Manager 
بخش سوم : روش های کنترل دستيابی به سرويس دهنده 
بخش چهارم :نحوه تنظيم و پيکربندی سرويس وب 
در اين بخش به نحوه تنظيم و پيکربندی سرويس FTP خواهيم پرداخت . 
با استفاده از سرويس FTP) File Transfer Protocol) ، سرويس گيرندگان قادر به ارسال و يا دريافت اطلاعات به / از يک سرويس دهنده FTP می باشند . با اينکه برخی از قابليت ها و توانائی های FTP بر روی اينترنت، توسط سرويس وب ( www ) ارائه و جايگزين شده است ولی استفاده از سرويس FTP ، همچنان امری متداول است . پيشنهاد می گردد ، پيکربندی سرويس دهنده FTP بگونه ای انجام گردد که امکان ارسال فايل توسط سرويس گيرندگان به سرويس دهنده ( Uploading ) از کاربران سلب و عملا" امکان چنين فعاليتی وجود نداشته باشد . در صورتيکه با توجه به سياست های سازمان به پتانسيل اشاره شده نياز باشد ، يک دايرکتوری مجزاء مثلا" با نام Incoming \ را برای دريافت فايل های ارسالی توسط سرويس گيرندگان ايجاد و می بايست تنظيمات امنيتی خاصی را از منظر نوع دستيابی به آن تعريف و پيکربندی نمود. دايرکتوری فوق ، می بايست تحت نظارت و مشاهده دائم با توجه به سياست های امنيتی تعريف شده در سازمان قرار داشته باشد .

سازماندهای دايرکتورهای FTP 
بمنظور کنترل و هدايت مناسب سرويس دهنده FTP ، پيشنهاد می گردد که دايرکتوری ها بر اساس سياست های مشخص شده ای برای کاربران ايجاد و سازماندهی گردند . برای دريافت فايل ، اسامی دايرکتوری ها می بايست نشاندهنده محتويات دايرکتوری باشد . مثلا" درايورهای مربوط به دستگاهها ( Device Drivers ) می توانند بر اساس دايرکتوری هائی سازماندهی گردند که مرتبط و هماهنگ شده با اسامی سيستم عامل مربوطه باشد . در رابطه با اين نوع دايرکتوری ها ، می بايست سطح دستيابی مجاز ، فقط خواندنی ( Read only ) در نظر گرفته شود. برای ذخيره سازی موقت فايل های ارسالی توسط سرويس گيرندگان و قبل از اينکه آنان را در دايرکتوری مستقر نمائيم که امکان Download عمومی آنان فراهم گردد ، می بايست يک دايرکتوری موقت را ايجاد و پس از استقرار فايل های ارسالی توسط کاربران در آن و بررسی مسائل امنيتی ، فايل های ارسالی تائيد شده را در دايرکتوری مربوط به Download عمومی ، مستقر نمود. دايرکتوری موقت ، می بايست صرفا" دارای مجوز نوشتن ( Write ) برای Account مربوط به anonymous باشد . دايرکتوری FTP که برای Download نمودن کاربران پيکربندی می گردد ، صرفا" می بايست دارای مجوز "فقط خواندنی " باشد . رويکرد فوق ، ممکن است زمينه ساز مسائل اندکی نيز باشد چراکه کاربران ناشناس ( anonymous ) قادر به مشاهده فايل های Upload شده توسط ساير کاربران نمی باشند ولی اين امر آنان را در مقابل تغيير و يا حذف فايل ها ،محفاظت خواهد کرد( فايل های ارسالی توسط ساير کاربران در يک دايرکتوری موقت ذخيره که ساير کاربران امکان مشاهده آن را نخواهند داشت ، پس از بررسی لازم در خصوص فايل های ارسالی و استقرار آنان توسط مديريت سايت در دايرکتوری عمومی در نظر گرفته شده برای Download ، امکان استفاده از آنان برای ساير کاربران نيز فراهم خواهد شد ) . رويکرد فوق ، همچنين سايت FTP را در مقابل کاربران غير مجازی که اقدام به ارسال و ذخيره سازی نرم افزارهای غيرقانونی و يا ابزارهای hacking می نمايند ، حفاظت می نمايد . مديريت سايت ، می بايست بصورت مستمر فايل های ارسالی توسط کاربران به دايرکتوری موقت را بررسی و پس از اطمينان از مسائل امنيتی وساير موارد مورد نظر ، آنان را دايرکتوری مختص Download، مستقر نمايد . دايرکتوری فوق ، صرفا" می بايست دارای مجوز فقط خواندنی باشد . 

FTP site Tabخصلت های موجود در اين بخش مشابه خصلت های موجود در web site Tab می باشند ولی کاربرد آنان در رابطه با سرويس FTP خواهد بود .در اين رابطه مديريت سايت می تواند ، مشخصه ای را برای سايت FTP ، کنترل تعداد اتصالات و تنظيم يک زمان ارتباط Timeout تعريف و مشخص نمايد . توصيه می گردد که گزينه Enable logging انتخاب و برای مشخص نمودن زمان Timeout ، مقداری در نظر گرفته شود که اولا" باعث استفاده مطلوب و بهينه از سايت شده و ثانيا" بتوان حملات از نوع Denial of Service : DoS ( غيرفعال نمودن و ايجاد اختلال در ارائه سرويس و خدمات به کاربران مجاز) را کنترل و تشخيص داد . 


Security Accounts Tab 
با استفاده از امکانات موجود در اين بخش ، می توان دستيابی anonymous و اپراتورهای سايت FTP را مشخص و پيکربندی نمود. پيشنهاد می گردد که Allow only anonymous connections ، انتخاب تا محدوديت دستيابی صرفا" مرتبط با اتصالات anonymous گردد . پس از انتخاب گزينه فوق ، کاربران قادر به log on نمودن با نام و رمز عبور واقعی خود نخواهند بود ( در چنين حالتی اطلاعات مربوط به account کاربر بصورت شفاف و بدون رمزنگاری ارسال خواهد شد ) . بدين ترتيب ، سرويس دهنده FTP در مقابل برخی حملات که ممکن است از account مديريت سيستم و يا يکی از کاربران مجاز سوءاستفاده گردد ، محفاظت خواهد شد ( account های فوق، می توانند دارای مجوزهای خاصی در ارتباط با دستيابی به سرويس دهنده باشند ) . در اين رابطه لازم است به اين نکته نيز اشاره گردد که حتی با انتخاب گزينه فوق ، محدوديتی در رابطه با log on نمودن کاربران مجاز با استفاده از نام و رمز عبور مربوطه بوجود نخواهد آمد . کاربری که به براساس عادت در مواجهه با نمايش پيام FTP ، نام و رمز عبور خود را برای ورود به سايت وارد می نمايد ، می بايست به اين مسئله توجه نمايد که حتی اگر درخواست وی پذيرفته نگردد ، ولی با توجه به ارسال اطلاعات مرتبط با account وی بصورت شفاف و بدون اعمال هرگونه رمزنگاری، می تواند زمينه بروز مشکلات امنيتی در ارتباط با سرويس دهنده FTP را بدنبال داشته باشد.زمانيکه کاربران بعنوان anonymous به سايت log on می نمايند ، از آدرس پست الکترونيکی آنان بعنوان رمز عبور استفاده می گردد . سرويس دهنده FTP در ادامه از account با نام IUSR_computername بعنوان logon account بمنظور بررسی مجوزهای مورد نظر ، استفاده خواهد کرد . لازم است به اين نکته نيز اشاره گردد که Integrated windows authentication در رابطه با سرويس FTP وجود ندارد. در قسمت پائين پنجره مربوط به Security Accounts Tab ، امکانات لازم بمنظور مشخص نمودن account مربوطه به مديريت سايت FTP وجود دارد .


در اين رابطه لازم است گزينه Allow IIS to control password ، بمنظور تطبيق account مربوط به anonymous و رمز عبور ( عموما" بصورت IUSR_computername ) با account ايجاد شده در بخش users مربوط به Computer management ، انتخاب گردد . در صورتيکه IUSR_computername شامل account مربوط به anonymous نباشد ، می بايست مطمئن گرديد که account تعريف شده يک account بر روی کامپيوتر محلی ( local computer ) است . بدين ترتيب ، در صورت عدم دستيابی به Domain controller ، سرويس دهنده وب قابل دسترس خواهد بود .(در صورتيکه account مربوط به anonymous يک domain account در نظر گرفته شده باشد ) .
Messages Tabبا استفاده از امکانات موجود در اين بخش می توان سه نوع پيام را بمنظور نمايش برای کاربران مشخص نمود: Welcome ( ورود به سايت FTP ) ، پيام Exit بمنظور خروج يک کاربر از سايـت و پيام حداکثر تعداد ارتباطات ( Maximum Connections ) . پيشنهاد می گردد که از يک پيام خوش آمد گوئی که به شکل يک Banner امنيتی می باشد ،استفاده گردد .از پيام های خروجی می توان بمنظور نمايش هشدارها ئی بر اساس توقف ارتباط کاربر استفاده گردد . در موارديکه حداکثر تعداد ارتباط به سايت FTP محقق می گردد ، می توان با ارائه يک پيام مناسب کاربران را نسبت به وضعيت بوجود آمده ، آگاه نمود . 


Home Directory Tab 
از امکانات موجود در اين بخش بمنظور مشخص نمودن مکان ( آدرس ) محتويات ارائه شده ( يک دايرکتوری بر روی کامپيوتر ، يک فولدر به اشتراک گذاشته شده در شبکه و يا يک URL redircetions ) استفاده می گردد. مسير محلی دايرکتوری ، مجوزهای دستيابی و سبک نمايش ليست دايرکتوری که IIS برای سرويس گيرنده ارسال می نمايد را نيز می توان در اين بخش مشخص نمود. پيشنهاد می گردد که دايرکتوری فوق ، صرفا" دارای مجوز "فقط خواندنی" باشد. در صورتيکه ضروری است که امکان ارسال فايل ( Upload ) در اختيار کاربران قرار گيرد،پيشنهاد می گردد دو دايرکتوری مجزای ديگر تحت دايرکتوری ftproot ، ايجاد گردد . يکی از دايرکتوری ها دارای مجوز دستيابی "فقط خواندنی " در ارتباط با ذخيره اطلاعات قابل دسترس برای تمامی کاربران بمنظور download و دايرکتوری ديگر ، دارای مجوز صرفا" " فقط نوشتن " برای ارسال فايل های کاربران بر روی سرويس دهنده FTP باشد . ( دايرکتوری دوم صرفا" محلی موقت برای استقرار فايل های ارسالی کاربران خواهد بود ) . در ادامه يکی از مديران سيستم ( و يا web operator ) می تواند دارای مسئوليت بررسی داده و فايل های ارسالی در دايرکتوری فوق شده و پس از حصول اطمينان از عدم وجود مسائل امنيتی و ساير موارد مرتبط ، اقدام به استقرار فايل های ارسالی در دايرکتوری اول بمنظور در اختيار گذاشتن آنان برای Download توسط ساير کاربران نمايد . 


Directory Security Tab 
با استفاده از امکانات موجود در اين بخش می توان سياست دستيابی به سايت FTP را بر اساس آدرس های IP مشخص نمود. در اين رابطه دو گزينه وجود دارد : Granted Access و Denied Access . با انتخاب گزينه Granted Access ، تمامی کامپيوترها قادر به دستيابی به منابع موجود خواهند شد ، بجزء کامپيوترهائی که آدرس IP آنان مشخص شده است . با انتخاب گزينه Denied Access ، صرفا" آندسته از کامپيوترهائی که آدرس IP آنان مشخص خواهد شد ، قادر به دستيابی به منابع موجود بوده و تمامی درخواست های ديگر ناديده گرفته خواهد شد . در موادريکه آدرس های IP مشخص می گردد ، سه گزينه ديگر نيز موجود می باشد : single computer و group of computers ( در اين حالت network ID و Subnet mask مشخص خواهد شد ) و يا Domain Name ( درانتخاب گزينه فوق ، می بايست دقت لازم را انجام داد. پس از انتخاب اين گزينه ، يک پيام هشداردهنده مبنی بر کاهش کارآئی سرويس دهنده با توجه به ضرورت انجام يک DNS reverse lookup در ارتباط با هر درخواست اتصال، نمايش داده خواهد شد) . در صورتيکه مجموعه ای تعريف شده از کاربران وجود دارد که می بايست به آنان مجوز دستيابی به دايرکتوری ftp داده شود ، پيشنهاد می گردد، گزينه Denied Access انتخاب گردد . بدين ترتيب ، صرفا" کامپيوترهای مشخص شده قادر به دستيابی به داده موجود بر روی دايرکتوری ftp بوده و از دستيابی ديگران جلوگيری بعمل خواهد آمد.

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:46 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

امنيت برنامه های وب ( بخش اول ) 
هر برنامه کامپيوتری که برای اجراء در محيط شبکه، طراحی و پياده سازی می گردد ، می بايست توجه خاصی به مقوله امنيت داشته باشد .برنامه های وب از زيرساخت شبکه ( اينترانت ، اينترانت ) برای ارائه خدمات خود به کاربران استفاده نموده و لازم است نحوه دستيابی کاربران به اين نوع از برنامه ها ، کنترل و با توجه به سياست های موجود ، امکان دستيابی فراهم گردد .در ابتدا می بايست کاربران شناسائی و پس از تائيد هويت آنان ، امکان دستيابی به برنامه با توجه به مجوزهای تعريف شده ، فراهم گردد. ASP.NET ( پلات فرم مايکروسافت برای طراحی و پياده سازی برنامه های وب ) ، از سه روش عمده به منظور شناسائی کاربران و اعطای مجوزهای لازم در جهت دستيابی و استفاده از يک برنامه وب ، استفاده می نمايد :


  • <LI dir=ltr>
    Windows Authentication
    <LI dir=ltr>
    Forms Authentication
  • Passport Authentication

در مجموعه مقالاتی که ارائه خواهد شد به بررسی هر يک از روش های فوق در جهت پياده سازی امنيت در برنامه های وب خواهيم پرداخت . در بخش اول اين مقاله ، به بررسی نحوه برخورد ASP.NET با کاربران ناشناس ( Anonymous ) ، روش های متفاوت شناسائی کاربران و پارامترهای لازم در خصوص انتخاب يک استراتژی به منظور شناسائی کاربران با توجه به نوع برنامه ها ، خواهيم پرداخت .
شناسائی و تائيد کاربران 
Authentication ، فرآيندی است که بر اساس آن کاربران شناسائی می گردند . Authorization ، فرآيند اعطای دستيابی به کاربران با توجه به هويت آنان می باشد . با تلفيق Authentication و Authorization، امکان ايمن سازی برنامه های وب در مقابل افراد مزاحم و غير مجاز ، فراهم می گردد .

دستيابی از طريق کاربران ناشناس ( Anonymous ) 
اغلب سايت های وب از روش دستيابی "Anonymous" ، استفاده می نمايند . در چنين مواردی ، اطلاعات موجود بر روی سايت جنبه عمومی داشته و امکان دستيابی تمامی کاربران به اطلاعات وجود خواهد داشت . اين نوع سايت ها ، ضرورتی به بررسی مجاز بودن کاربران برای استفاده از منابع موجود ، نخواهند داشت . برنامه های وب ASP.NET ، امکان دستيابی Anonymous را به منابع موجود بر روی سرويس دهنده توسط Impersonation ارائه می نمايند . Impersonation ، فرآيند نسبت دهی يک Account به يک کاربر ناشناس است . Account دستيابی Anonymous بصورت پيش فرض ، IUSER_computername ، می باشد. با استفاده از Account فوق ، امکان کنترل کاربران ناشناس که به منابع موجود بر سرويس دهنده دستيابی دارند ، وجود خواهد داشت . به منظور مشاهده و تغيير مجوزهای دستيابی در نظر گرفته شده برای Account فوق از برنامه Computer Management استفاده می گردد : 


  • <LI dir=rtl>ورود به شبکه ( Logon ) به عنوان مديريت شبکه 
    <LI dir=rtl>اجرای Computer Management ( از طريق : Start | Programs | Administrator Tools ) 
    <LI dir=rtl>انتخاب فولدر Users به منظور نمايش ليست کاربران
  • مشاهده گروههائی که Account فوق به عنوان عضوی از آنان می باشد( کليک بر روی Member of ) . کاربران Anonymous ، بصورت پيش فرض ، عضوی از گروه Guests بوده که دارای مجوزهای اندکی می باشد. ASP.NET از ASP.NET Account ( با توجه به تنظيمات پيش فرض) ، به منظور اجرای برنامه وب استفاده می نمايد . بدين ترتيب ، در صورتيکه برنامه ای سعی در انجام عملياتی نمايد که در ليست مجوزهای ASP.NET Account وجود نداشته باشد ، يک مورد خاص امنيتی بوجود آمده و امکان دستيابی آن تائيد نخواهد شد.

به منظور اعمال محدوديت در دستيابی کاربران ناشناس می توان از تنظيمات مربوط به مجوزهای فايل ويندوز استفاده نمود . برای ايمن سازی ، سرويس دهنده می بايست دارای سيستم فايل NTFS باشد . سيستم های فايل FAT و يا FAT32 ، ايمن سازی در سطح فايل را ارائه نمی نمايند . 
دستيابی از طريق کاربران تائيد شده 
دستيابی Anonymous ، گزينه ای مناسب برای دستيابی به اطلاعات عمومی و عام است . در صورتيکه برنامه های وب شامل اطلاعاتی خاص و خصوصی باشند ، می بايست در ابتدا کاربران شناسائی و در ادامه با توجه به مجوزهای تعريف شده ، امکان دستيابی فراهم گردد. در برنامه های وب ASP.NET از سه روش عمده به منظور Authentication و Authorization کاربران استفاده می گردد : 


  • <LI dir=rtl>Windows integrated authentication : در روش فوق ، شناسائی و تائيد کاربران بر اساس ليست کاربران تعريف شده بر روی سرويس دهنده انجام خواهد شد. در ادامه با توجه به مجوزها و امتيازات نسبت داده شده به هر Account ، امکان دستيابی و يا عدم دستيابی به منابع موجود بر روی سرويس دهنده ، فراهم می گردد. 
    <LI dir=rtl>Forms authentication : در روش فوق ، کاربران به يک فرم وب Logon ، هدايت می گردند . در ادامه ، اطلاعات مربوط به نام و رمز عبور آنان اخذ و فرآيند شناسائی و تائيد بر اساس يک لسيت کاربران و يا از طريق يک بانک اطلاعاتی که برنامه حمايت می نمايد ، انجام خواهد شد.
  • Passport authentication : در روش فوق ، کاربران جديد به يک سايت که توسط مايکروسافت ميزبان شده است ، هدايت می گردند .پس از ريجستر شدن کاربران ، امکان دستيابی آنان به چندين سايت ، فراهم خواهد شد( تمرکز در شناسائی کاربران و استفاده از سايت های متعدد با توجه به تائيد بعمل آمده ) .

هر يک از رويکردهای فوق ، به همراه روش دستيابی Anonymous ، دارای مزايای مختص به خود بوده و برای نوع خاصی از برنامه های وب ، مناسب می باشند : 


  • <LI dir=rtl>نوع برنامه : برنامه وب عمومی اينترنت 
    روش تائيد کاربران : Anonymous 
    توضيحات : روش عمومی دستيابی برای اغلب سايت های وب ، می باشد. در اين روش ، ضرورتی به Logon وجود نداشته و با استفاده از مجوزهای سيستم فايل NTFS ، می توان ايمن سازی منابعی را که قصد اعمال محدوديت در رابطه با دستيابی به آنان وجود دارد را انجام داد .
     
    <LI dir=rtl>نوع برنامه : برنامه وب اينترانت 
    روش تائيد کاربران : Windows integrated
    توضيحات : در روش فوق ، سيستم معتبر سازی ويندوز ، کاربران شبکه را از طريق کنترل کننده Domain ، تائيد می نمايد. امکان دستيابی به منابع برنامه های وب بر اساس مجوزهای تعريف شده بر روی سرويس دهنده ، برای هر يک از کاربران فراهم می گردد . 

    <LI dir=rtl>نوع برنامه : برنامه های وب تجاری 
    روش تائيد کاربران : Forms 
    توضيحات : برنامه هائی که نيازمند دريافت اطلاعات مالی می باشند ، می بايست از روش فوق به منظور اخذ و ذخيره سازی اطلاعات ، استفاده نمايند .
  • نوع برنامه : برنامه های متعدد تجاری 
    روش تائيد کاربران : Passport 
    توضيحات : در روش فوق ، کاربران يک مرتبه Sign in نموده ( از طريق يک مرکز تائيد کاربران ) و امکان دستيابی و استفاده آنان از تمامی برنامه هائی که از Passport SDK استفاده می نمايند ، وجود خواهد داشت . اطلاعات کاربران در يک Passport profile نگهداری خواهدشد ( در مقابل استفاده از يک بانک اطلاعاتی محلی ) .

استفاده از Authentication در فايل های HTM و يا HTML 
سه روش تائيد کاربران که توسط ASP.NET ارائه شده است ، صرفا" در رابطه با فايل هائی که به عنوان بخشی از برنامه وب می باشند ، بکار گرفته می شود .فرم های وب ( فايل هائی با انشعاب aspx . ) ، ماژول ها ( فايل هائی با انشعاب asax . ) ، نمونه هائی در اين زمينه می باشند. فرآيند فوق ، صفحات HTML ( فايل هائی با انشعاب HTM و يا HTML )
 را شامل نمی گردد و مسئوليت آن بصورت پيش فرض به IIS ( در مقابل ASP.NET ) واگذار شده است. در صورتيکه فصد تائيد کاربرانی ( استفاده از يکی از روش های Windows,Forms و Passport ) را داشته باشيم که به صفحات HTML از طريق برنامه وب دستيابی دارند ، می بايست اين نوع فايل ها به ASP.NET executable ، مپ گردند .به منظور مپ نمودن فايل های html به ASP.NET executable ، پس از اجرای IIS مراحل زير را دنبال می نمائيم : 


  • انتخاب فولدر شامل برنامه وب و Properties از طريق Action Menu . در ادامه برنامه IIS ، جعبه محاوره ای Properties را نمايش خواهد داد .


  • بر روی Directory Tab کليک نموده و در ادامه گزينه Configuration را انتخاب می نمائيم . IIS در ادامه جعبه محاوره ای Application Configuration را نمايش خواهد داد :


  • بر روی دکمه Add کليک نموده و در ادامه IIS جعبه محاوره ای Add/Edit Application Extension Mapping را نمايش خواهد داد .


  • <LI dir=rtl>بر دکمه Browse کليک نموده و فايل aspnet_isapi.dll را انتخاب می نمائيم .فايل فوق در دايرکتوری Windows Microsoft .Net Framework قرار داشته و مسير آن مشابه زير است :
    Path for aspnet_isapi.dll
    C:\windows\Microsoft.NET\Framework\versionnumber\a spnet_isap i.dll
    <LI dir=rtl>htm. را در فيلد File Extension تايپ می نمائيم .
  • مراحل فوق ، برای فايل های با انشعاب html ، تکرار می گردد.

در بخش دوم اين مقاله به بررسی Windows Authentication خواهيم پرداخت

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:50 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

امنيت برنامه های وب ( بخش دوم ) 
در بخش اول اين مقاله ، به نحوه برخورد ASP.NET با کاربران ناشناس ( Anonymous ) ، روش های متفاوت شناسائی کاربران و پارامترهای لازم در خصوص انتخاب يک استراتژی به منظور شناسائی کاربران با توجه به نوع برنامه ها ، اشاره گرديد.در بخش دوم اين مقاله به بررسی Windows Authentication خواهيم پرداخت . 
همانگونه که در بخش اول اين مقاله اشاره گرديد ، برنامه های وب ASP.NET از سه روش عمده به منظور تائيد کاربران استفاده می نمايند :


  • <LI dir=ltr>
    Windows Authentication
    <LI dir=ltr>
    Forms Authentication
  • Passport Authentication

در Windows Authentication ، برنامه های وب مسئوليتی را در ارتباط با تائيد کاربران برعهده نگرفته و اين وظيفه تماما" به سيستم عامل ويندوز ، واگذار می گردد. فرآيند تائيد کاربران در روش فوق، بصورت زير است : 


  • <LI dir=rtl>کاربر درخواستی مبنی بر دريافت يک صفحه وب ايمن را از برنامه وب ، می نمايد .
    <LI dir=rtl>پس از دريافت درخواست توسط سرويس دهنده وب ، IIS عمليات بررسی صلاحيت کاربر را انجام خواهد داد . در اين راستا ، اطلاعات ارائه شده توسط کاربر در زمان logon ( نام و رمز عبور) ، با اطلاعات موجود بر روی سرويس دهنده وب و يا Domain ، مقايسه می گردد .
    <LI dir=rtl>در صورتيکه پس از بررسی مدارک ارائه شده توسط کاربر ( نام و رمز عبور ) ، وی به عنوان کاربر غير مجاز تشخيص داده شود ، درخواست وی ناديده گرفته خواهد شد .
    <LI dir=rtl>کامپيوتر سرويس گيرنده ، يک جعبه محاوره ای Logon را توليد و از کاربر درخواست درج اطلاعات مورد نياز ( نام و رمز عبور ) ، می گردد . پس از درج اطلاعات درخواستی توسط کاربر و ارسال آنان برای سرويس دهنده ، مجددا" IIS بررسی لازم در خصوص صحت آنان را انجام خواهد داد . در صورتيکه صحت اطلاعات ارسالی کاربر ( نام و رمز عبور ) تائيد گردد ، IIS درخواست اوليه کاربر را به سمت برنامه وب هدايت می نمايد .
  • در آخرين مرحله و پس از بررسی و تائيد صلاحيت کاربر ، صفحه وب درخواستی برای کاربر ارسال می گردد .

مهمترين مزيت روش Windows Authentication ، استفاده مشترک از يک مدل امنيتی به منظور دستيابی به منابع موجود در شبکه و برنامه های وب است . پس از تعريف و اعطای مجوزهای لازم به کاربر ، امکان دستيابی وی به منابع موجود در شبکه و برنامه های وب بر اساس يک سيستم امنيتی مشابه و يکسان ، فراهم می گردد . 
در زمان ايجاد يک پروژه جديد برنامه وب توسط ويژوال استوديو دات نت ، از روش Windows Authentication بصورت پيش فرض به منظور تائيد کاربران استفاده می گردد .پس از ايجاد يک پروژه جديد برنامه وب در ويژوال استوديو دات نت ، فايل Web.Config بصورت اتوماتيک ايجاد می گردد . ( يک فايل XML که اطلاعات متفاوتی را در ارتباط با پيکربندی رنامه وب در خود ذخيره می نمايد ) . محتوی پيش فرض اين فايل بصورت زير است ( صرفا" بخشی که با موضوع اين مقاله ارتباط دارد ، منعکس می گردد ) :


Web.Config default setting 
<authentication mode="Windows" /> 
<authorization>
<allow users="*" /> <!-- تمامی کاربران -->
</authorization>

در بخش مربوط به عنصر authentication ، سياست تائيد کاربران برنامه های وب مخشص می گردد . برای مشخص نمودن سياست فوق از خصلت mode مربوط به عنصر authentication ، استفاده شده که می تواند يکی از مقادير : Windows , Forms ,Passport و يا None را دارا باشد . در بخش authorization ، سياست های مربوط به کاربران مجاز برنامه وب مشخص می گردد . در اين رابطه می توان ، امکان دستيابی و يا عدم دستيابی به برنامه های وب را با مشخص نمودن کاربران و يا با توجه به وظايف آنان ، فراهم نمود. ( استفاده از کاراکتر " * " ، به معنی همه کاربران بوده و کاراکتر "؟" به منزله کاربران ناشناس و غيرمجاز است) . برای آشنائی با عملکرد روش Windows Authentication ، مراحل زير را دنبال می نمائيم : 


  • بخش authorization در فايل Web.Config را بصورت زير تغيير می نمائيم :

Authorization element
<authorization>
<deny users="�" />
</authorization>

  • تگ های زير را که يک جدول HTML را تعريف می نمايند ، در فرم وب شروع برنامه وب ، قرار می دهيم :

HTML Table in Startup web form
<TABLE id="tblUser">
<tr>
<TD><STRONG>آيا کاربر تائيد شده است ؟</STRONG></TD>
<TD><Span runat="server" id="spnAuthenticated"></Span></TD>
</tr>
<tr>
<TD><STRONG>نام کاربر </STRONG></TD>
<TD><Span runat="server" id="spnUserName"></Span></TD>
</tr>
<tr>
<TD><STRONG>نوع تائيد کاربر</STRONG></TD>
<TD><Span runat="server" id="spnAuthenticationtype"></Span></TD>
</tr>
</TABLE>

  • به حالت Design view سوئيچ نموده و کد زير را در فايل Code Behind فرم وب شروع برنامه ، قرار می دهيم :

Web form's code-behind file 
Private Sub Page_Load( ByVal sender As System.Object,ByVal e As System.EventArgs ) Handles Mybase.Load
spnAuthenticated.InnerText = User.Identity.IsAuthenticated
spnUserName .InnerText = User.Identity.Name
spnAuthenticationType.InnerText = User.Identity.AuthenticationType 
End Sub

  • پس از اجرای پروژه بصورت محلی ، ASP.NET تائيد کاربر را بر اساس نام و رمز عبوری که برای ورود به ويندوز استفاده شده است ، انجام خواهد د اد .


  • پس از اجرای پروژه از راه دور ( مثلا" دستيابی از طريق اينترنت ) ، ASP.NET يک جعبه محاوره ای رادر مرورگر نمايش داده تا از طريق آن نام و رمز عبور کاربر دريافت گردد .

در صورتيکه نام و رمز عبور درج شده توسط کاربر با تعاريف انجام شده در Domain شبکه ، مطابقت نمايد ، ASP.NET کاربر را تائيد و مجوز لازم به منظور استفاده از برنامه وب صادر خواهد شد . در اين رابطه ASP.NET ، يک authorization certificate را به شکل يک کوکی صادر که در حين Session کاربر ، نگهداری و از آن استفاده می گردد. Session کاربر، پس از اتمام زمان Time out و يا بستن مرورگر ، خاتمه می يابد . برنامه وب اجرای خود را متناسب با مجوزهای تعريف شده در ارتباط با Account آغاز می نمايد . 
روش Windows integrated authentication در يک شبکه مبتنی بر Domain بهتر کار خواهد کرد . شبکه هائی که از Workgroup استفاده می نمايند ( در مقابل استفاده از Domain ) دارای محدوديت های خاص خود به منظور استفاده از ويژگی های امنيتی ، می باشند. شبکه های مبتنی بر Domain ، از يک کنترل کننده Domain به منظور تائيد و معتبرسازی کاربران شبکه ، استفاده می نمايد .
با استفاده از امکانات ارائه شده در فايل Web.Config می توان يک لايه امنيتی مضاعف را ايجاد نمود . دراين راستا ، می توان تنظيمات لازم به منظور دستيابی و يا عدم دستيابی کاربران و يا گروه های خاصی از کاربران را نيز انجام داد . 

اعمال محدوديت برای کاربران خاص ( دستيابی و يا عدم دستيابی ) 
در موارديکه از روش Windows integrated authentication استفاده می گردد ، ASP.NET ، ليست تائيد موجود در فايل Web.Config را به منظور آگاهی از صلاحيت کاربران شبکه برای استفاده ازبرنامه وب ، بررسی می نمايد. کاراکترهای "*" و "؟" دارای معانی خاصی در ليست تائيد می باشند : کاراکتر "* " ، نشاندهنده تمامی کاربران و کاراکتر "؟"، نشاندهنده کاربران غير مجاز( ناشناس) می باشد . مثلا" ليست تائيد زير در Web.Config ، امکان دسـتيابی تمامی کاربران ناشناس به برنامه وب را حذف و می بايست تمامی کاربران به منظور استفاده از برنامه وب ،تائيد گردند . 


Authorization element
<authorization>
<deny users="�" />
</authorization>

به منظور اعمال محدوديت در دستيابی کاربرانی خاص ،می توان از عنصر <allow> استفاده و اسامی تمامی کاربران مجاز را با صراحت مشخص نمود (اسامی توسط ويرگول از يکديگر تفکيک می گردند) . پس از معرفی کاربران مجاز با استفاده از عنصر <allow> ، می بايست با بکارگيری عنصر <deny> ، امکان دستيابی به برنامه توسط کاربران غير مجاز، سلب می گردد .


Authorization element
<authorization>
<allow users="Ali Reaz , Reza Ali " /> 
<deny users="*" />
</authorization>

ليست مجاز فوق ، امکان دستيابی دو کاربر که اسامی آنان با صراحت مشخص شده است را به برنامه وب خواهد داد. ساير کاربران ، امکان دستيابی به برنامه وب را دارا نخواهند بود ( نقش عنصر deny در مثال فوق ) علاوه بر ليست مجاز فوق که اسامی دو کاربر را مشخص و آنان را برای استفاده از برنامه وب مجاز می نمايد ، دو کاربر فوق ، می بايست دارای Account لازم در Domain شبکه نيز باشند . 
تائيد کاربران بر اساس نوع وظيفه 
برای تائيد کاربران به منظور استفاده از يک برنامه می توان ، مجوزهای لازم را بر اساس وظيفه آنان در سازمان ، صادر و امکان دستيابی و يا عدم دستيابی را برای آنان فراهم نمود. در ويندوز NT و XP ، وظايف به اسامی مپ شده تا از اين طريق امکان شناسائی گروه های کاربران ، فراهم گردد. ويندوز، چندين گروه را بصورت اتوماتيک از قبل ايجاد می نمايد : Administrators ,Users و Guests . در اين رابطه می توان از عنصر <roles> در ليست استفاده کنندگان مجاز برنامه وب در فايل Web.Config استفاده و امکان دستيابی به يک برنامه را با توجه به وظايف کاربر ، فراهم نمود. مثلا" ليست زير، امکان دستيابی به برنامه وب را صرفا" برای کاربرانی که به عنوان Administrator به شبکه وارد می شوند ، فراهم می نمايد.


Authorization element
<authorization>
<allow roles ="Administrators" />
<deny users="*" />
</authorization>

پس از تائيد کاربر و صدور مجوز لازم به منظور استفاده از برنامه وب ، می توان با استفاده از خصلت Identity مربوط به شی User ، هويت کاربر ( نام و نوع وظيفه ) را از طريق برنامه شناسائی نمود.خصلت فوق، يک شی را که شامل اطلاعات مربوط به نام و وظيفه کاربراست را برمی گرداند . 


Web form's code-behind file 
Private Sub Page_Load( ByVal sender As System.Object,ByVal e As System.EventArgs ) Handles Mybase.Load
spnAuthenticated.InnerText = User.Identity.IsAuthenticated
spnUserName .InnerText = User.Identity.Name
spnAuthenticationType.InnerText = User.Identity.AuthenticationType 
End Sub

به منظور آگاهی و انجام عمليات لازم با توجه به نوع وظيفه کاربر که از برنامه وب استفاده می نمايد ، می توان از متد IsInRole شی User ، استفاده نمود . 


IsInRole method
If User.IsInRole("Administrators") Then 
'انجام عمليات دلخواه 
End If

استفاده از تنظيمات IIS به همراه Windows Authentication 
تنظيمات Authorization در فايل Web.Config با تنظيمات انجام شده در IIS با يکديگر Overlap می شوند . در صورتيکه Authorization هم در فايل Web.Config و هم توسط IIS تنظيم شده باشد ، در ابتدا تنظيمات IIS بررسی و در ادامه تنظيمات موجود در فايل Web.Config ، مورد توجه قرار خواهند گرفت. به منظور مشاهده تنظيمات authorization در IIS مراحل زير را دنبال می نمائيم :


  • <LI dir=rtl>در IIS بر روی فولدر برنامه وب کليک سمت راست نموده و در ادامه گزينه Properties را انتخاب می نمائيم . برنامه IIS در ادامه جعبه محاوره ای Properties مربوط به فولدر را نمايش خواهد داد . 
    <LI dir=rtl>بر روی Directory Security Tab کليک و در ادامه دکمه Edit را در گروه Anonymous Access And Authentication Control کليک می نمائيم . IIS ، جعبه محاوره ای Authentication Methods را نمايش خواهد داد .
    <LI dir=rtl>اولين گروه از تنظيمات در جعبه محاوره ای ، کنترل دستيابی Anonymous را انجام می دهد ( همه کاربران ). غير فعال نمودن گزينه فوق ، معادل <"�" = deny User > در فايل Web.config است.
  • Check Box های موجود در قسمت دوم جعبه محاوره ای ، مجاز بودن برنامه به منظور استفاده از Basic و يا Digest Authentication را علاوه بر Windows Authentication ، مشخص می نمايد. روش های فوق ، ايمنی بمراتب کمتری را نسبت به Windows Integrated ارائه می نمايند .می توان چندين روش authentication را در IIS فعال نمود . در صورتيکه چندين روش فعال شده باشد ، می توان با استفاده از متد AuthenticationType مربوط به شی Identity ، از روش استفاده شده به منظور تائيد کاربر ، آگاهی يافت .

AuthenticationType method
Response.Write(User.Identity.AuthenticationType)

در بخش سوم اين مقاله به بررسی روش Forms Authentication ، خواهيم پرداخت

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:53 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

امنيت برنامه های وب ( بخش سوم ) 


آنچه تاکنون گفته شده است :

  • بخش اول : مفاهيم اوليه و روش های متفاوت تائيد کاربران
  • بخش دوم : بررسی Windows Authentication

در بخش سوم اين مقاله به بررسی Forms Authentication خواهيم پرداخت . 
همانگونه که در بخش اول اين مقاله اشاره گرديد ، برنامه های وب ASP.NET از سه روش عمده به منظور تائيد کاربران استفاده می نمايند :


  • <LI dir=ltr>
    Windows Authentication
    <LI dir=ltr>
    Forms Authentication
  • Passport Authentication

در Forms Authentication ، برنامه IIS مسئوليتی را در ارتباط با تائيد کاربران برعهده نگرفته و تنظيمات امنيتی IIS در رابطه با برنامه وب ، دستيابی Anonymous می باشد . فرآيند تائيد کاربران در روش فوق، بصورت زير است : 


  • زمانيکه سرويس گيرنده درخواست يک صفحه ايمن را می نمايد ، IIS کاربر را به عنوان Anonymous، تائيد و در ادامه درخواست وی را برای ASP.NET ارسال می نمايد .
  • ASP.NET ، بررسی لازم در خصوص وجود يک کوکی خاص بر روی کامپيوتر سرويس گيرنده را انجام خواهد داد .
  • در صورتيکه کوکی ، موجود نبوده و يا غيرمعتبر باشد ، ASP.NET درخواست کاربر را ناديده گرفته و برای وی يک صفحه Logon را ارسال می نمايد ( مثلا" Login.aspx ).
  • کاربر اطلاعات لازم ( نام و رمز عبور ) را در صفحه Logon.aspx ( به عنوان نمونه ) درج و در ادامه دکمه Submit موجود بر روی فرم را به منظور ارسال اطلاعات برای سرويس دهنده ، فعال می نمايد.
  • IIS ، مجددا" کاربر را به عنوان Anonymous، تائيد و درخواست وی را برای ASP.NET ارسال می نمايد .
  • ASP.NET ، تائيد کاربر را بر اساس اطلاعات ارسالی ( نام و رمز عبور ) انجام و يک کوکی را ايجاد می نمايد .
  • در نهايت ، صفحه وب ايمن درخواست شده به همراه کوکی جديد برای سرويس گيرنده ارسال می گردد. ماداميکه کوکی معتبر باشد ، کاربر قادر به درخواست و مشاهده ساير صفحات وب می باشد.

 فرآيند فوق را می توان به دو حالت متفاوت تعميم و مورد توجه قرار داد : 


  • <LI dir=rtl> حالت اول : درخواست يک صفحه ايمن از سرويس دهنده ، توسط يک کاربر غيرمجاز و تائيد نشده 
    مرحله اول : پس از درخواست يک سرويس گيرنده برای دستيابی به يک صفحه ايمن ، درخواست ارسالی وی در ابتدا توسط IIS بررسی و با توجه به اينکه تنظيمات IIS بصورت Anonymous پيکربندی شده تا امکان استفاده از Forms Authentication فراهم گردد ، درخواست کاربر ، مستقيما" برای ماژول ASP.NET Forms 
    Authentication ارسال می گردد . 
    مرحله دوم : ASP.NET ، بررسی لازم در خصوص وجود ( داشتن ) يک کوکی 
    Authentication را انجام خواهد داد . با توجه به اينکه کاربر اولين مرتبه است که درخواست اطلاعاتی را نموده و دارای يک کوکی نمی باشد ، سرويس گيرنده به صفحه Logon ، هدايت می گردد . 
    مرحله سوم : کاربراطلاعات ضروری ( نام و رمز عبور ) خود را در صفحه Logon درج و پس ازارسال آنان ،فرآيند بررسی اطلاعات ارسالی آغاز می گردد. در يک برنامه بزرگ ، بررسی اطلاعات کاربر از طريق يک بانک اطلاعاتی شامل مشخصات کاربران انجام می شود . 
    مرحله چهارم : در صورتيکه اطلاعات ارسالی کاربر ( نام و رمز عبور ) ، پس از بررسی توسط برنامه وب ، معتبر شناخته نگردند ، مجوز دستيابی برای کاربر صادر نشده و امکان دستيابی وی سلب می گردد . 
    مرحله پنجم : در صورتيکه پس از بررسی اطلاعات ارسالی، اعتبار وصحت آنان تائيد گردد ، يک کوکی تائيد ايجاد و در ادامه به کاربر مجوز لازم به منظور دستيابی به صفحه ، اعطاء می گردد .(هدايت کاربر به صفحه درخواست اوليه ) .
  • حالت دوم : درخواست يک صفحه ايمن از سرويس دهنده ، توسط يک کاربر مجاز و تائيد شده 
    مرحله اول : پس از درخواست يک صفحه ايمن توسط سرويس گيرنده ، کوکی 
    Authentication بهمراه درخواست وی برای سرويس دهنده ، ارسال می گردد. 
    مرحله دوم :درخواست ارسالی توسط سرويس گيرنده در ابتدا توسط IIS دريافت و با توجه به تنظيمات انجام شده ( دسيتابی Anonymous ) ، درخواست وی مستقيما" برای ASP.NET Forms 
    Authentication ارسال می گردد .
    مرحله سوم : ماژول ASP.NET Forms 
    Authentication ، بررسی لازم در خصوص کوکی را انجام و در صورتيکه کوکی معتبر باشد ، سرويس گيرنده تائيد و امکان دستيابی و مشاهده صفحه وب درخواستی برای وی ، فراهم می گردد .

در روش Forms Authentication ، بصورت اتوماتيک يک فرم وب طراحی شده به منظور اخذ اطلاعات مربوط به نام و رمز عبور کاربران ، نمايش داده می شود . کد مرتبط با فرم وب ، عمليات تائيد و معتبرسازی کاربر را بر اساس ليست ذخيره شده در فايل Web.Config برنامه و يا از طريق يک بانک اطلاعاتی جداگانه ، انجام می دهد. مزيت مهم Forms Authentication ، عدم ضرورت عضويت کاربران در Domain شبکه به منظور دستيابی به برنامه وب ، می باشد .
فعال نمودن Forms Authenticationبه منظور استفاده از روش فوق ، می بايست مراحل زير را دنبال نمود :


  • <LI dir=rtl>مقداردهی Authentication mode در فايل Web.config به Forms 
    <LI dir=rtl>ايجاد يک فرم وب به منظور اخذ اطلاعات کاربران ( Logon Page ) 
    <LI dir=rtl>ايجاد يک فايل و يا بانک اطلاعاتی به منظور ذخيره نام و رمز عبور کاربران 
    <LI dir=rtl>نوشتن کد لازم به منظور افزودن کاربر جديد به فايل و يا بانک اطلاعاتی کاربران
  • نوشتن کد لازم به منظور تائيد کاربران با استناد به فايل و يا بانک اطلاعاتی کاربران

Forms Authentication ، از کلاس های موجود در namespace با نام System.Web.Security استفاده می نمايد . به منظور استفاده از کلاس های فوق، می بايست در ويژوال بيسک دات نت از عبارت Imports و در ويژوال سی شارپ از Using استفاده گردد ( در ابتدای هر ماژول که عمليات تائيد را انجام خواهد داد : Imports System.Web.Security ) . 
مقداردهی Authentication mode 
نوع تائيد کاربران در يک برنامه وب ، می بايست با استفاده از عنصر <authentication> در فايل Web.config مشخص گردد. به منظور تنظيم برنامه مورد نظر خود برای استفاده از Forms Authentication ، تغييرات زير را در فايل Web.Config ، اعمال می نمائيم : 


Web.Config setting for Forms Authentication
<authentication mode="Forms">
<forms loginUrl = Login.aspx" >
<credentials passwordFormat = "Clear" >
<user name = "Ali" Password ="110" />
<user name = "Kaveh" Password ="111" />
</credentials>
</forms>
</authentication>

کد فوق، يک نوع ساده از تائيد کاربران به روش Forms را نشان می دهد . در اين رابطه ، اغلب از تعاريف و تنظيمات پيش فرض و يک ليست کاربران مجاز، استفاده شده است. از عناصر متفاوتی در ارتباط با Forms Authentication در فايل Web.Config استفاده می گردد.هر يک از عناصر دارای خصلت های خاص خود می باشند : 


  • <LI dir=rtl> عنصر <authentication> 
    خصلت Mode ، با استفاده از خصلت فوق ، روش تائيد و شناسائی کاربران مشخص می گردد. با مقدار دهی خصلت فوق به Forms ، روش Forms Authentication انتخاب خواهد شد.

    <LI dir=rtl>عنصر <forms>
    خصلت name . از خصلت فوق به منظور مشخص نمودن نام کوکی که اطلاعات مربوط به نام و رمز عبور را ذخيره می نمايد ، استفاده می شود . مقدار پيش فرض ، authaspx . می باشد . در صورتيکه بيش از يک برنامه بر روی سرويس دهنده از روش Forms Authentication استفاده می نمايند ، می بايست برای هر يک از آنان نام منحصربفردی در نظر گرفته شود . 
    خصلت loginUrl .از خصلت فوق به منظور مشخص نمودن نام فرم وب Login برای کاربران تائيد نشده ، استفاده می گردد . مقدار پيش فرض خصلت فوق، Default.aspx است .
    خصلت protection . با استفاده از خصلت فوق روش حفاظت کوکی Authentication که بر روی کامپيوتر سرويس گيرنده ذخيره می گردد ، مشخص خواهد شد. مقدار پيش فرض خصلت فوق ، All بوده که عمليات رمزنگاری و بررسی اعتبار و صحت داده در رابطه با آن اعمال می گردد. ساير گزينه های موجود در اين راستا ، Encryption,Validation و None می باشد . 
    خصلت timeout . با استفاده از خصلت فوق ، مدت زمان نگهداری کوکی Authentication بر روی ماشين کاربر مشخص می گردد . مقدار پيش فرض 30 دقيقه است . ASP.NET ، پس از دريافت يک درخواست جديد توسط کاربر و مشروط به گذشت بيش از نصف زمان تعريف شده ، کوکی را تجديد ( Renew ) خواهد کرد . 
    خصلت path . با استفاده از خصلت فوق ، مسير مورد نظر به منظور ذخيره سازی کوکی بر روی ماشين کاربر مشخص می گردد . مقدار پيش فرض ، "\" است . 

    <LI dir=rtl>عنصر <credentials> 
    خصلت passwordFormat ، با استفاده از خصلت فوق ، الگوريتم لازم به منظور رمزنگاری رمز عبور کاربر ، مشخص می گردد . مقدار پيش فرض ، SHA1 می باشد . ساير گزينه های موجود در اين رابطه ، MD5 و Clear ( بدون رمزنگاری ) می باشد .
  • عنصر <users> 
    خصلت name ، با استفاده از خصلت فوق ، نام کاربر مشخص می گردد.
    خصلت password ، با استفاده از خصلت فوق ، رمز عبور کاربر مشخص می گردد.

عنصر <credentilas> ، امکان ذخيره سازی ليست کاربران را در Web.Config فراهم می نمايد . رويکرد فوق ، روشی ساده به منظور تعريف کاربران مجاز يک برنامه وب می باشد . در چنين مواردی ، مديريت سيستم می تواند بسادگی و در صورت لزوم نام و رمز عبور کاربران ديگری را به ليست مجاز کاربران ، اضافه نمايد . مکانيزم فوق ، در مواردی که قصد داشته باشيم ، امکان تعريف نام و رمز عبور را در اختيار کاربران قرار دهيم ، گزينه مناسبی نبوده و می بايست از يک فايل و يا بانک اطلاعاتی به منظور ذخيره سازی اطلاعات کاربران ، استفاده گردد. 
در بخش چهارم اين مقاله با نحوه ايجاد بانک اطلاعاتی ، درج مشخصات کاربران و تائيد آنان با استناد به اطلاعات مندرج در بانک اطلاعاتی ، خواهيم پرداخت

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:55 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

امنيت برنامه های وب ( بخش چهارم ) 


آنچه تاکنون گفته شده است :

  • بخش اول : مفاهيم اوليه و روش های متفاوت تائيد کاربران
  • بخش دوم : بررسی Windows Authentication
  • بخش سوم : بررسی Forms Authentication

همانگونه که در بخش سوم اين مقاله اشاره گرديد ، به منظور استفاده از روش Forms Authentication ، می بايست مراحل زير را دنبال نمود :


  • <LI dir=rtl>مقداردهی Authentication mode در فايل Web.config به Forms <LI dir=rtl>ايجاد يک فرم وب به منظور اخذ اطلاعات کاربران ( Logon Page ) <LI dir=rtl>ايجاد يک فايل و يا بانک اطلاعاتی به منظور ذخيره نام و رمز عبور کاربران <LI dir=rtl>نوشتن کد لازم به منظور افزودن کاربر جديد به فايل و يا بانک اطلاعاتی کاربران
  • نوشتن کد لازم به منظور تائيد کاربران با استناد به فايل و يا بانک اطلاعاتی کاربران

در بخش سوم اين مقاله به بررسی اولين مرحله ( مقداردهی Authentication mode در فايل Web.config به Forms ) ، اشاره گرديد . در ادامه به بررسی ساير مراحل لازم به منظور استفاده از روش Forms Authentication ، خواهيم پرداخت . 


Web.Config setting for Forms Authentication
<authentication mode="Forms">
<forms loginUrl =" Login.aspx" >
<credentials passwordFormat = "SHA1" >
<user name = "Srco.ir" Password ="110" />
<user name = "SakhaRavesh" Password ="111" />
</credentials>
</forms>
</authentication>

ايجاد يک فرم وب Logon 
به منظور تائيد کاربران بر اساس روش Forms Authentication ، نيازمند استفاده از يک فرم وب بوده که با استفاده از آن امکان Logon کاربران ، فراهم گردد. فرم وب با استفاده از عنصر <forms> در فايل Web.Config ، مشخص شده و می تواند صرفا" شامل دو Text box و يک Button و يا شامل فيلدهای اطلاعاتی بيشتری به منظور اخذ اطلاعات کاربران باشد .


Login.aspx
<%@ Page Language="vb" Codebehind="Login.aspx.vb" Inherits="Web1.Login" codePage="65001" %>
<HTML>
<HEAD>
<title>صفحه تائيد کاربران برنامه</title>
<meta name="vs_showGrid" content="True">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
</HEAD>
<BODY bgColor="#ffffff">
. ... 
<asp:Button id="btnSingIn" runat="server" Text="Sign in"></asp:Button>
<asp:TextBox id="txtUserName" runat="server" Width="99px"></asp:TextBox>
<asp:TextBox id="txtPassword" runat="server" Width="100px" TextMode="Password"></asp:TextBox>
...
Login.aspx.vbImports System.Web.Security
Public Class Login 
... 

Private Sub btnSingIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSingOn.Click

If FormsAuthentication.Authenticate(txtUserName.Text, txtPassword.Text) Then
FormsAuthentication.RedirectFromLoginPage(txtUserN ame.Text, True)
Else
txtPassword.Text = ""
If CInt(ViewState("Tries")) > 
1 Then
Response.Redirect("Denied.htm")
Else
ViewState("Tries") = CInt(ViewState("Tries")) + 1
End If
End If
End Sub
...
فEnd Class

توضيحات 


  • <LI dir=rtl>کلاس FormsAuthentication بخشی از namespace با نام System.Web.Security می باشد ، بنابراين می بايست با استفاده از Imports ( در ويژوال بيسک دات نت ) آن را به برنامه Include نمائيم ( درويژوال سی شارپ ، استفاده از Using ) . 
    <LI dir=rtl>متد Authenticate مربوط به کلاس FormsAuthentication با مراجعه به ليست کاربران تعريف شده توسط عنصر<credentials> فايل Web.Config ، بررسی لازم در خصوص نام ورمز عبور کاربر را انجام می دهد.
    <LI dir=rtl>متد RedirectFromLoginPage مربوط به کلاس FormsAuthentication ، صفحه شروع برنامه وب را نمايش خواهد داد.
  • در صورتيکه نام و رمز عبور کاربر معتبر نباشد ، به کاربر دو مرتبه ديگر فرصت Logon داده خواهد شد و در صورتيکه صلاحيت کاربر تائيد نگردد ، يک پيام خطاء نمايش داده می شود. صفحه گزارش خطاء از نوع HTM می باشد.( به هيچکدام از فرم های وب موجود در برنامه ، امکان دستيابی وجود نخواهد داشت ). در صورتيکه کاربر با استفاده از روش فوق به صفحه ديگر هدايت می شود ، می بايست از محل استقرار فايل فوق در محيطی خارج از حوزه برنامه مطمئن گرديد .

در مثال فوق ، صفحه شروع برنامه Webform1.aspx ( در بخش دوم اين مقاله ) در نظر گرفته شده است . پس از Logon موفقيت آميز، کاربر به صفحه فوق هدايت خواهد شد . زمانيکه کاربر بر روی دکمه sign in کليک می نمايد ، تائيد کاربر بر اساس نام و رمز عبور انجام و برای وی يک مجوز صادر خواهد شد. بدين ترتيب، کاربر امکان دستيابی به بخش های متفاوت برنامه را بدست می آورد .ماحصل اجرای صفحه فوق ، به صورت زير است : 


از کلاس FormsAuthentication به منظور Sign out ، و يا حذف کوکی Authentication از روی ماشين کاربر استفاده می گردد.کد زير دستيابی کاربر به برنامه را خاتمه داده و استفاده مجدد از برنامه توسط وی را ملزم به Login مجدد ، می نمايد . 


End User's access to an application
Imports System.Web.Security 
Private Sub butSignOut_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butSignOut.Click 
FormsAuthentication.SignOut ( ) 
Response.Redirect( "UserInfo.aspx") 
End Sub

تائيد کاربران با استفاده از يک بانک اطلاعاتی 
در بخش قبل با فرآيند تائيد کاربران با استفاده از ليست تعريف شده کاربران موجود در فايل Web.Config ، آشنا شديم . متد Authenticate مربوط به کلاس FormsAuthentication ، به منظور خواندن اطلاعات از فايل فوق بصورت اتوماتيک ، پيکربندی شده است . رويکردد فوق ، گزينه ای مناسب در مواردی است که مسئوليت تعريف اسامی و رمز عبور کاربران به مدير سيستم واگذار شده باشد . در صورتيکه قصد داشته باشيم ، امکان تعريف نام و رمز عبور را در اختيار کاربران قرار دهيم ، می بايست اطلاعات مربوط به کاربران خارج از فايل Web.config ذخيره گردد. اعمال تغييرات در فايل Web.config در زمان اجراء ، باعث Restart شدن برنامه شده و Reset تمامی متغيرهای Session و Application استفاده شده توسط برنامه می گردد. دراين رابطه می توان ، اسامی کاربران را در هر نوع فايلی ذخيره نمود . بديهی است استفاده از يک بانک اطلاعاتی، مزايای خاص خود را بدنبال خواهد داشت :


  • <LI dir=rtl>اسامی کاربران می تواند به عنوان کليد اوليه و به منظور ذخيره سازی ساير اطلاعات کاربران استفاده گردد . <LI dir=rtl>بانک های اطلاعاتی دارای کارآئی مطلوب به منظور دستيابی به اسامی و رمز عبور کاربران می باشند .
  • افزودن ، تغيير و دستيابی به رکوردهای بانک اطلاعاتی با استفاده از استانداردهای SQL انجام خواهد شد .

زمانيکه اسامی و رمز عبور کاربران در يک فايل و يا بانک اطلاعاتی ذخيره می گردد ، می توان با استفاده از متد HashPasswordeForStoringInConfigFile مربوط به کلاس FormsAuthentication ، آنان را رمز نمود. در اين رابطه از الگوريتم های SHA1 و يا MD5 به منظور رمزنگاری داده استفاده می گردد : 


Encrypting User names and passwords
Password = FormsAuthentication.HashPasswordForStoringInConfigFile ( Password , "SHA1")

افزودن کاربران به يک بانک اطلاعاتی 
به منظور افزودن کاربران به يک بانک اطلاعاتی ، اطلاعات مربوط به کاربران شامل نام و رمز عبور را از طريق دو TextBox اخذ و در ادامه با ايجاد يک Event Procedure ، آنان را به بانک اطلاعاتی اضافه نموده و در نهايت پيام مناسبی که نشاندهنده درج اطلاعات کاربر در بانک اطلاعاتی سيستم می باشد ، نمايش داده خواهد شد . روتين زير با فراخوانی تابع AddUser ، نام و رمز عبور کاربر را به بانک اطلاعاتی اضافه می نمايد . 


َAdding User to a database
Private Sub butNewUser_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butNewUser.Click 
If AddUser(txtName.Text, txtPassword.Text) Then
spnNote.InnerText = "کاربر جديد به بانک اطلاعاتی کاربران اضافه گرديد "
Else
spnNote.InnerText = "کاربری با اين مشخصات وجود دارد "
End If" 
End If 
End Sub

تابع AddUser ، که در روتين فوق استفاده شده است ، در ابتدا رمز عبور کاربر را رمز نموده و در ادامه با استفاده از دستور SQL INSERT ، نام و رمز عبور را در بانک اطلاعاتی ذخيره می نمايد .درصورتيکه رمز عبور در نظر گرفته شده توسط کاربر، قبلا" توسط کاربر ديگر تعريف و در بانک اطلاعاتی موجود باشد ، بلاک Exeption -handling ، خطاء را تشخيص داده و مقدار False را مبنی بر عدم افزودن اطلاعات کاربر در بانک اطلاعاتی ، برمی گرداند .


َAddUser Function 
Private Function AddUser ( Byval UserName As String , ByVal Password As String ) As Boolean 
Dim bSuccess As Boolean 
Password = FormsAuthentication.
HashPasswordForStoringInConfigFile ( Password , "SHA1") 
Dim oleCommand As New OleDbCommand ( "INSERT INTO Users " + "Values ( '" + UserName + '" + Password + "')",oledbUsers) 
Try 
oledbUsers.Open ( ) 
If oleCommand.ExecuteNonQuery ( ) Then bSuccess = True 
oledbUsers.Close ( ) 
Catch 
bSuccess =False 
oledbUsers.Close ( ) 
End Try 
Return bSuccess 
End Function

در زمان تائيد کاربران با استفاده از ليست مشخص شده کاربران در فايل Web.Config ، از متد Authenticate استفاده می گردد. در موارديکه برای تائيد کاربران از بانک اطلاعاتی استفاده می گردد ، می بايست کد لازم به منظور يافتن و مقايسه نام و رمز عبور کاربران ، نوشته گردد . روتين زير ، از تابع CheckPassword به منظور تائيد نام و رمز عبور استفاده نموده و در صورتيکه صلاحيت کاربر تائيد گردد به وی امکان دستيابی به برنامه داده خواهد شد. 


َAuthenticating Users from a database
Private Sub butSignOn_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butSignOn.Click 
If CheckPassword(txtName.Text, txtPassword.Text) Then
FormsAuthentication.RedirectFromLoginPage(txtName. Text, True)
Else
spnNote.InnerText = "نام و يا رمز عبور اشتباه است ، مجددا سعی نمائيد"
ViewState("tries") = ViewState("tries") + 1
If ViewState("Tries") > 3 Then
Response.Redirect("Denied.htm")
End If
End If
End Sub

تابع CheckPassword ، در ابتدا رمز عبور کاربر را با استفاده از الگوريتم مشخص شده ، رمز می نمايد. در ادامه ، رکورد بانک اطلاعاتی بر اساس نام جستجو و پس از يافتن رکورد مربوطه، مقايسه بين رمز عبور رمز شده در مقابل رمز عبور موجود در بانک اطلاعاتی ، انجام خواهد شد . دستيابی به بانک اطلاعاتی از طريق يک بلاک Exception handling انجام تا پيشگيری لازم در خصوص مسئله Locking ، انجام شود .


َCheckPassword Function
Private Function CheckPassword ( Byval UserName As String , ByVal Password As String ) As Boolean 
Dim bSuccess As Boolean 
Password = FormsAuthentication.
HashPasswordeForStoringInConfigFile ( Password , "SHA1") 
Dim oleCommand As New OleDbCommand ( "SELECT * FROM Users" + "WHERE UserName='" + txtName.Text + "'" , oledbUsers )
Try 
oledbUsers.Open ( ) 
Dim rdrUsers As OledbDataReader = oleCommand.ExecuteReader ( ) 
While rdrUsers.Read( ) 
If Password =rdrUsers.Item("Password") Then bSuccess = True 
End While 

If oleCommand.ExecuteNonQuery ( ) Then bSuccess = True 
oledbUsers.Close ( ) 
Catch 
bSuccess =False 
oledbUsers.Close ( ) 
End Try 
Return bSuccess 
End Function

تمامی کاربران با توجه به تنظيمات انجام شده در بخش <authentication> فايل Web.config ، بصورت اتوماتيک به صفحه LoginBaseDb.aspx هدايت خواهند شد . 


Web.Config file setting for <authentication> element 
<authentication mode="Forms"> 
<forms name="Test1Cookie" loginUrl ="LoginBaseDB.aspx" timeout="15"></forms>
</authentication>

صفحه LoginBaseDb.aspx : 


در صورت درج نام و رمز عبور غيرمعتبر و فشردن دکمه "ورود به سايت " توسط کاربر ، يک پيام خطاء نمايش داده می شود ( در صورت تائيد نام و رمز عبور ، امکان دستيابی کاربر به برنامه فراهم می گردد) .


پس از درج نام و رمز عبور و فشردن دکمه " کاربر جديد " ، مشخصات کاربر در بانک اطلاعاتی کاربران ذخيره می گردد .


در بخش پنجم اين مقاله به بررسی روش Passport Authentication خواهيم پرداخت . 

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  12:56 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

امنيت برنامه های وب ( بخش پنچم ) 


آنچه تاکنون گفته شده است :

  • بخش اول : مفاهيم اوليه و روش های متفاوت تائيد کاربران
  • بخش دوم : بررسی Windows Authentication
  • بخش سوم : بررسی Forms Authentication
  • بخش چهارم : بررسی Forms Authentication

در بخش پنجم اين مقاله به بررسی Passport Authentication خواهيم پرداخت . 
همانگونه که در بخش اول اين مقاله اشاره گرديد ، برنامه های وب ASP.NET از سه روش عمده به منظور تائيد کاربران استفاده می نمايند :


  • <LI dir=ltr>
    Windows Authentication
    <LI dir=ltr>
    Forms Authentication
  • Passport Authentication

زمانيکه از سرويس وب Passport مايکروسافت به منظور تائيد کاربران استفاده می گردد ، مسئوليت تائيد کاربران از IIS و برنامه وب سلب شده و اين وظيفه به سايت Passport.com واگذار می گردد. در روش Passport Authentication ، شناسائی کاربران بر اساس سرويس وب ارائه شده توسط Passport.com صورت می پذيرد . در روش فوق ، تائيد کاربران متمرکز و پس از تائيد آنان ، امکان استفاده از ساير سايت هائی که از Passport Authentication استفاده می نمايند ، وجود خواهد داشت .اطلاعات کاربران در يک پروفايل و بر روی سايت Passport.com ذخيره و ساير سايت های متقاضی که نيازمند تائيد کاربر به منظور ارائه خدمات خود می باشند ، می توانند ازاطلاعات کاربران استفاده نمايند . مهمترين ويژگی روش Passport Authentication ، استفاده از يک نام و رمز عبور به منظور استفاده از سايت های متعدد می باشد . فرآيند تائيد کاربران در روش فوق، بصورت زير است : 


  • <LI dir=rtl>پس از درخواست يک صفحه ايمن توسط سرويس گيرنده ، درخواست وی در ابتدا برای IIS ارسال می گردد. 
    <LI dir=rtl>IIS ، کاربر را به عنوان Anonymous تائيد و درخواست وی را برای ASP.NET ارسال می نمايد . 
    <LI dir=rtl>ASP.NET ، بررسی لازم در خصوص وجود يک کوکی خاص را بر روی سرويس گيرنده انجام خواهد داد . در صورتيکه کوکی مورد نظر بر روی کامپيوتر سرويس گيرنده موجود نباشد ، درخواست کاربر ناديده گرفته شده و وی به وب سايت Passport.com به منظور تائيد صلاحيت ، هدايت می گردد . 
    <LI dir=rtl> سايت Passport.com ، يک فرم Login را توليد و برای سرويس گيرنده ارسال می نمايد .سرويس گيرنده اطلاعات Logon را در آن درج و مجددا" اطلاعات را برای سايت Passport.com ارسال می نمايد . 
    <LI dir=rtl>در صورتيکه اطلاعات درج شده توسط کاربر ( نام و رمز عبور) با اطلاعات موجود در بانک اطلاعاتی پاسپورت مطابقت نمايد ، Passport.com سرويس گيرنده را تائيد و يک کوکی به همراه اطلاعات ذيربط ( مشابه يک بليط ) برای وی ارسال می نمايد . 
    <LI dir=rtl>درخواست سرويس گيرنده مجددا" برای سرويس دهنده و اين مرتبه به همراه مجوز صادر شده توسط Passport.com ، ارسال می گردد. IIS ، مجددا" سرويس گيرنده را به عنوان Anonymous تائيد و درخواست وی را برای برنامه وب ASP.NET ارسال می نمايد . 
    <LI dir=rtl>برنامه وب ASP.NET تائيد کاربر را بر اساس مجوز صادر شده برای وی توسط Passport.com ، انجام داده و صفحه وب درخواستی را برای سرويس گيرنده ارسال می نمايد .
  • پس از تائيد کاربر توسط Passport.com ، امکان دستيابی وی به ساير وب سايت هائی که از روش Passport Authentication استفاده می نمايند ، وجود خواهد داشت .

فعال نمودن روش Passport Authentication 
به منظور استفاده از روش Passport Authentication در يک برنامه وب ، می بايست Passport SDK را بر روی سيستم نصب نمود. ( برای دريافت نرم افزار می توان از آدرس http://msdn.microsoft.com/download ، استفاده نمود ) . برای فعال نمودن روش PassportAuthentication مراحل زير را دنبال می نمائيم : 


  • <LI dir=rtl>نصب Passport SDK . ( با اينکه نرم افزار فوق به همراه ويژوال استوديو ارائه نشده است ،ولی فريمورک دات نت دارای کلاس های لازم به منظور کار با Passport SDK پس از نصب آن می باشد ) . 
    <LI dir=rtl>اعمال تغييرات لازم در فايل Web.config : نوع Authentication به Passport و مقدار عنصر Authorization به Deny برای کاربران تائيد نشده 
    <LI dir=rtl>استفاده از رويداد PassportAuthentication_OnAuthenticate به منظور دستيابی به پروفايل اطلاعات کاربران و شناسائی آنان
  • پياده سازی روتين Sign-out به منظور حذف کوکی های Passport از روی ماشين کاربران

فايل Web.config زير ، روش Passport Authentication را فعال و تمامی کاربران را ملزم به تائيد به منظور استفاده از برنامه وب می نمايد . 


Web.Config setting 
<authentication mode="Passport" /> 
<authorization>
<adeny users="�" /> 
</authorization>

زمانيکه برنامه وب بصورت محلی و با توجه به تنظيمات فوق ، اجراء می گردد ، کاربر مستقيما" به صفحه Signin پاسپورت هدايت می گردد. در صورتيکه نسخه unlicense نرم افزار Passpport SDK ، نصب شده باشد ، صفحه Signin مشابه صفحه ارائه شده در زمان بکارگيری واقعی يک سايت نخواهد بود. پس از Sign in کاربر ، Passport کوکی تائيد کاربر را بر روی ماشين سرويس گيرنده ذخيره و وی را به صفحه اوليه درخواستی هدايـت و يک پروفايل اطلاعاتی در ارتباط با کاربر را ذخيره می نمايد . به منظور دستيابی به پروفايل فوق می توان از رويداد PassportAuthentication_OnAuthenticate ، در Global.asax استفاده نمود : 


Global.asax module 
Imports System.Web.Security
Private Sub PassportAuthentication_OnAuthenticate( ByVal Sender As Object , ByVal e As PassportAuthenticationEventArgs )
If e.Identity.IsAuthenticated Then 
Response.Write(" Name : " & e.Identity.Item("FirstName") &" " & e.Identity.Item("LastName") & "<br>") 
Response.Write("Address : " & e.Identity.Item("City") & " " & e.Identity.Item("PostalCode") & "<br>" )
Response.Write("Email : " & e.Identity.Item("PreferredEmail") & "<br>" )
Response.Write("Passport ID : " & e.Identity.Name & "<br>" )
End If 
End Sub

کد فوق ، نام ، آدرس و ساير اطلاعات کاربر را از طريق پروفايل مربوطه دريافت و آنان را نمايش می دهد.
مجوز صادر شده Passport به همراه اطلاعات پروفايل در پنج کوکی جداگانه بر روی ماشين سرويس گيرنده ، ذخيره می گرندد. پس از Sign out کاربر از برنامه وب ، می بايست کوکی های فوق حذف گردند . رويداد زير ، نحوه عمليات Sign out را از طريق حذف کوکی های مرتبط با Passport نشان می دهد : 


Sign out Event Procedure 
Private Sub butSignOut_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butSignOut.Click 
Response.Cookie("MSPProf").Expires = Now 
Response.Cookie("MSPAuth").Expires = Now 
Response.Cookie("MSPSecAuth").Expires = Now 
Response.Cookie("MSPProfC").Expires = Now 
Response.Cookie("MSPConsent").Expires = Now
Response.Redirect("UserInfo.aspx") 
End Sub

 

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  1:01 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

يکربندی Dhcp با رعايت مسائل ايمنی 


پيکربندی DHCP با رعايت مسائل ايمنی در اين مقاله قصد داريم به بررسی نحوه پيکربندی سرويس دهنده و سرويس گيرندگانDynamic Host Configuration Protocol ) DHCP ) ، با رعايت مسائل امنيتی پرداخته و با نحوه تنظيم پارامترهای ذيربط ، آشنا شويم . در ابتدا لازم است با جايگاه سرويس دهنده DHCP در يک شبکه بيشتر آشنا شويم .

مقدمه 
تمامی پروتکل های شبکه به هر يک از کامپيوترهای موجود در شبکه، يک مشخصه (آدرس ) منحصر بفرد را نسبت می دهند پروتکل IPX ، آدرس فوق را بصورت اتوماتيک و توسط ايستگاه کاری نسبت و منحصر بفرد بودن آن تضمين خواهد شد. پروتکل NetBEUI از يک نام NetBIOS شانزده بيتی استفاده می نمايد . پروتکل TCP/IP از يک آدرس IP ، استفاده می نمايد. در نسخه های اوليه پياده سازی شده TCP/IP ، از پروتکل فوق بمنظور اتصال تعداد اندکی از کامپيوترها استفاده می گرديد و ضرورتی به وجود يک مرکز متمرکز بمنظور اختصاص اطلاعات آدرس دهی IP ، احساس نمی گرديد. بمنظور حل مشکل مديريت صدها و يا هزاران آدرس IP در يک سازمان ، DHCP پياده سازی گرديد. هدف سرويس فوق ، اختصاص آدرس های IP بصورت پويا و در زمان اتصال يک کامپيوتربه شبکه است . 
با وجود يک سرويس دهنده DHCP در شبکه ، کاربران شبکه قادر به اخذ اطلاعات مربوط به آدرس دهی IP می باشند . وضعيت فوق ، برای کاربرانی که دارای يک Laptop بوده و تمايل به اتصال به شبکه های متعدد را داشته باشند ، ملموس تر خواهد بود چراکه با برای ورود به هر يک از شبکه ها و استفاده از منابع موجود ، ضرورتی به انجام تنظيماتی خاص در رابطه با آدرس دهی IP وجود نخواهد داشت . سرويس دهنده DHCP ، علاوه براختصاص اطلاعات پايه IP نظير : يک آدرس IP و Subnet mask ، قادر به ارائه ساير اطلاعات مربوط به پيکربندی پروتکل TCP/IP برای سرويس گيرندگان نيز می باشد . آدرس Gateway پيش فرض ، سرويس دهنده DNS ، نمونه هائی در اين زمينه می باشند.

DHCP ويندوز 2000 ( نسخه های سرويس دهنده ) با سرويس دهنده DNS)Domain Name System) ، در ارتباط خواهد بود. ويژگی فوق ، به يک سرويس دهنده DHCP اجازه می دهد که با يک سرويس دهنده پويای DNS ويندوز 2000 ( DDNS ) ، مرتبط و اطلاعات ضروری را با وی مبادله نمايد . سرويس دهنده DHCP ويندوز 2000 ، قادر به ارائه پويای آدرس IP و Host name بصورت مستقيم برای يک سرويس دهنده DDNS است . 
DHCP ، مسئوليت ارائه اطلاعات آدرس های IP سرويس گيرندگان را برعهده دارد . بمنظور اخذ اطلاعات آدرس دهی IP ، سرويس گيرنده می بايست يک lease را از سرويس دهنده DHCP دريافت نمايد.زمانيکه سرويس دهنده DHCP ، اطلاعات آدرسی دهی IP را به يک سرويس گيرنده DHCP نسبت ( اختصاص) می دهد ، سرويس گيرنده DHCP مالکيت آدرس IP را نخواهد داشت .در چنين حالتی ، سرويس دهنده DHCP همچنان مالکيت آدرس IP را بر عهده داشته و سرويس گيرنده اطلاعات فوق را اجاره و بصورت موقت و بر اساس يک بازه زمانی در اختيار خواهد داشت . می توان يک آدرس IP را بمنزله يک قطعه زمين در نظر گرفت که بصورت اجاره ای در اختيار سرويس گيرنده قرار گرفته و لازم است قبل از سررسيد مدت قرارداد! نسبت به تمديد آن اقدام گردد.در صورت عدم تمديد ، سرويس گيرنده قادر به حضور درشبکه نخواهد بود. دراين مقاله قصد نداريم به بررسی فرآيند اختصاص IP توسط سرويس دهنده به سرويس گيرنده پرداخته و مراحل چهارگانه ( Discover, Offer, Request, Acknowledgement ) را تشريح نمائيم !
DHCP ، يکی از استانداردهای پروتکل TCP/IP بوده که باعث کاهش پيچيدگی و عمليات مديريتی در ارتباط با آدرس های IP سرويس گيرندگان در شبکه می گردد . در اين راستا سرويس دهنده DHCP ، بصورت اتوماتيک عمليات اختصاص آدرس های IP و ساير اطلاعات مرتبط با TCP/IP را در اختيار کاربرانی قرار می دهد که امکان DHCP-client آنان فعال شده باشد . بصورت پيش فرض ، کامپيوترهائی که بر روی آنان ويندوز 2000 اجراء می گردد ، سرويس گيرندگان DHCP-Enabled خواهند بود.
جايگاه سرويس دهنده DHCP در يک شبکه مبتنی بر ويندوز 2000 
بمنظور بکارگيری DHCP در يک محيط ويندوز 2000 از رويکردهای متفاوتی استفاده می گردد. با توجه به اينکه DHCP پروتکلی است که دارای محدوديت های امنيتی خاص خود است ، سرويس DHCP نبايد به خارج ارائه گردد . به Domain server های حياتی و ماشين های سرويس گيرنده مهم ، می بايست آدرس های IP تابتی نسبت داده شود که ارتباطی با DHCP نخواهد داشت . 


پيشنهادات عمومی پيکربندی 
بمنظور پيشگيری و افزايش امنيت ، موارد زير پيشنهاد گردد :

  • <LI dir=rtl>پورت های DHCP ( شماره 67 و 68 ) در سطح فايروالی که اينترانت را به اينترنت متصل می نمايد ، بلاک گردد . <LI dir=rtl>DHCP/BOOTP relay agent را بر روی فايروال ، غير فعال نمائيد ( در صورت نصب ، uninstall گردد ) . <LI dir=rtl>سرويس دهنده DHCP را بر روی يک Member Server که يک Domain Controller نمی باشد ، نصب گردد . <LI dir=rtl>به تمامی سرويس دهندگان داخلی مهم ( شامل سرويس دهندگان DHCP ) ، آدرس های IP ثابتی نسبت داده شود و سرويس DHCP Client بر روی آنان ، متوقف گردد . <LI dir=rtl>به تمامی سرويس گيرندگان داخلی مهم ، آدرس های IP ثابتی نسبت داده شود و سرويس DHCP Client بر روی آنان ، متوقف گردد. <LI dir=rtl>سرويس دهنده DHCP بر اساس روشی که ارائه خواهد گرديد ، ايمن گردد.
  • سرويس گيرندگان DHCP بر اساس روشی که ارائه خواهد گرديد ، ايمن گردند.

آدرس های IP ثابت در مقابل آدرس های IP رزو شده 
واژه آدرس IP ثابت ، به پيکربندی دستی آدرس های IP اطلاق می گردد( hardcoded ). فرآيند فوق، نقظه مقابل يک آدرس IP است رزو شده در DHCP است که بصورت دائم به يک ماشين خاص ، نسبت داده می شود. استفاده از امکان DHCP Reservations ، برای ماشين های حساس توصيه نمی گردد.

سرويس DHCP Client بر روی ماشين های حساس ، غيرفعال گردد 
در زمان نصب ويندوز 2000 ( هم سرويس دهنده و هم سرويس گيرنده ) ، سرويس DHCP client فعاليت خود را آغاز و بعنوان يک سيستم محلی اجراء خواهد شد. سرويس دهندگان DHCP و ساير ماشين های حساس ديگر که از آدرس های IP ثابتی استفاده می نمايند به اين سرويس نياز نداشته و لازم است که سرويس فوق، متوقف و وضعيت فعاليت آن در زمان راه اندازی یيستم به حالت دستی ( Manually ) تغيير يابد . 

DHCP و DNS 
ويندوز 2000 با سيستم DNS)Domain Naming Service) در ارتباط خواهد بود. زمانيکه آدرس IP سرويس گيرنده بصورت پويا و توسط يک سرويس دهنده DHCP نسبت داده شد ، جداول DNS ، می بايست بهنگام گردند. پيشنهاد می گردد که خصلت : " Allow Dynamic Update" در سرويس دهنده DNS به مقدار "Only Secure Updates" ، تغيير يابد. 


بصورت پيش فرض ، سرويس گيرندگان DHCP ، پس از نسبت دهی يک آدرس پويا توسط سرويس دهنده DHCP ، پيامی را برای سرويس دهنده DNS بمنظور بهنگام سازی ارسال می نمايند. برای سرويس گيرندگانی که امکانات حمايتی لازم در خصوص عمليات بهنگام سازی را ندارند ( نظير ويندوز 95 ) ، سرويس دهنده DHCP ، می بايست مسئوليت فوق را پذيرفته و به نمايندگی از سرويس گيرنده ، جداول سرويس دهنده DNS را بهنگام نمايد. سرويس دهنده DHCP ، بصورت پيش فرض بگونه ای پيکربندی شده است که جداول DNS را در زمان درخواست سرويس گيرندگان ، بهنگام می نمايد .پيشنهاد می گردد که ويژگی فوق ، غير فعال گردد.

پيکربندی سرويس دهنده DHCP 
سرويس دهنده DHCP بصورت اتوماتيک آدرس های IP و ساير اطلاعات مرتبط با پيکربندی TCP/IP را در اختيار سرويس گيرندگان DHCP-enabled ، قرار می دهد . سرويس، سرويس دهنده DHCP بعنوان يک سيستم محلی اجراء می گردد . بمنظور کاهش احتمال بروز خرابی و اشکالات حاصل از عوامل جانبی ، پيشنهاد می گردد که سرويس دهنده DHCP بر روی يک Domain Server که يک Domain Controller نمی باشد ، نصب گردد . جايگاه سرويس دهندگان DHCP ، بسيار حساس و مهم بوده و می بايست تمامی آنان دارای آدرس های IP ثابت باشند. سرويس DHCP Client می بايست برروی اين نوع از سيستم ها متوقف و وضعيت اجراء آن در زمان راه اندازی سيستم ، بصورت دستی در نظر گرفته شود.
DHCP Administrators و Users Group 
زمانيکه سرويس DHCP بر روی يک ماشين سرويس دهنده ويندوز 2000 نصب می گردد ، دو گروه محلی جديد ايجاد می گردد : DHCP Administrator و DHCP Users . از گروههای فوق ، می توان در صورت نياز و با توجه به سياست های موجود استفاده بعمل آورد.
مجوزهای فايل و ريجستری DHCP 
بانک اطلاعاتی DHCP ، فايل های Recovery و Audit در فولدر SystemRoot%\System32\DHCP % ذخيره می گردند. تنظيمات زير در اين رابطه پيشنهاد می گردد. 


تنظيمات سرويس دهنده DHCP ( مربوط به File security )
مجوزهای پيشنهادی 
User /Groups
فايل / فولدر
Full Control
Full Control
Read

System
DHCP Administrators
DHCP Users

%SystemRoot%\System32\DHCP
folder, subfolders, and files

تنظيمات زير در ارتباط با اطلاعات ثبت شده در ريجستری ويندوز و مرتبط با سرويس دهنده DHCP ، پيشنهاد می گردد:


تنظيمات سرويس دهنده DHCP ( مربوط به ريجستری ويندوز )
مجوزهای پيشنهادی 
User /Groups
کليد ريجستری
Full Control
Full Control

DHCP Administrator
System

HKEY_LOCAL_MACHINE
\SOFTWARE\Microsoft\DhcpServer
Full Control
Full Control

DHCP Administrator
System

HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Services\DhcpServer
Full Control
System
HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Services\Dhcp

ابزارهای دستيابی سرويس دهنده DHCP 
دو برنامه کاربردی در ارتباط با DHCP در فولدر SystemRoot%\System32 % وجود دارد : IPconfig و netsh.exe ، در اين رابطه تنظيمات زير پيشنهاد می گردد:


تنظيمات سرويس دهنده DHCP ( مربوط به ابزارهای کاربردی )
مجوزهای پيشنهادی 
User /Groups
فايل / فولدر
Full Control
Full Control

System
DHCP Administrators

%SystemRoot%\System32\ipconfig.exe
Full Control
Full Control

System
DHCP Administrators

%SystemRoot%\System32\netsh.exe

DHCP Scope و گزينه های سرويس دهنده 
در رابطه با DHCP گزينه های اندکی در دسترس می باشد . پيشنهاد می گردد که ميزان استفاده از گزينه ها به حداقل مقدار خود برسد . بمنظور کاهش ريسک ماشين های سرويس گيرنده ، گزينه DNS Server نمی بايست انتخاب و به ماشين های سرويس گيرنده می بايست يک آدرس ثابت DNS نسبت داده می شود . 
C
ارتباط بين سرويس دهنده DHCP و DNS 
پيکربندی پيش فرض DNS مربوط به سرويس دهنده DHCP در شکل زير نشان داده شده است . بر اساس پيکربندی فوق ، در زمان درخواست سرويس گيرنده عمليات بهنگام سازی جداول (Entries) انجام خواهد شد.پيشنهاد می گردد که ويژگی فوق ، غير فعال گردد ( فعال کردن سرويس دهنده DHCP ، انتخاب سرويس دهنده ، انتخاب گزينه Properties ، انتخاب DNS Tab و غير فعال نمودن :
Automically Update DHCP Client information in DNS ) .



پيکربندی پيش فرض تنظيمات DNS در سرويس دهنده DHCP 

پيکربندی پيشنهادی تنظيمات DNS در سرويس دهنده DHCP

پيکربندی سرويس گيرندگان DHCP
سرويس DHCP Client ، بصورت اتوماتيک درخواست هائی را برای سرويس دهنده DHCP بمنظوردريافت يک آدرس IP و نسبت دهی آن به ماشين سرويس گيرنده ، انجام می دهد . درخواست فوق ، در زمان راه اندازی سيستم ( Booting ) انجام و در صورت ضرورت و قبل از اتمام تاريخ اعتبار آن ، تکرار خواهد شد. سرويس DHCP Client بعنوان يک سيستم محلی بر روی ماشين سرويس گيرنده اجراء خواهد شد. پيشنهاد می گردد که از خدمات DHCP بر روی ماشين های سرويس گيرنده حساس و مهم استفاده نگردد . اين نوع از ماشين های سرويس گيرنده ، می بايست از آدرس های IP ثابتی استفاده و بر روی آنان سرويس DHCP client متوقف و نحوه راه اندازی آنان در زمان راه اندازی ، بصورت "دستی " تعيين گردد . 
مجوزهای ريجستری DHCP Client 
تنظيمات زير در ارتباط با ريجستری DHCP client ، پيشنهاد می گردد .


تنظيمات DHCP Client ( مربوط به ريجستری ويندوز )
مجوزهای پيشنهادی 
User /Groups
کليد ريجستری
Full Control

System

HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Services\Dhcp

تنظيمات TCP/IP مربوط به سرويس گيرندگان 
پيشنهاد می گردد که سرويس گيرندگان صرفا" آدرس IP ، آدرس Gateway و Subnet mask را از سرويس دهنده DHCP دريافت نمايند. آدرس سرويس دهنده DNS ، می بايست بصورت ثابت در نظر گرفته شود.( تنظيمات پروتکل TCP/IP )


DHCP Client و DNS 
با انتخاب گزينه Advanced TCP/IP Setting ، مشاهد خواهد شد که " Register this connection's address in DNS" ، بصورت پيش فرض فعال است .( تنظيمات پروتکل TCP/IP )

امکان فوق ، به سرويس گيرنده DHCP امکان بهنگام سازی را پس از دريافت يک آدرس IP توسط سرويس دهنده DHCP ، خواهد داد. با توجه به اينکه سرويس دهنده DNS بگونه ای پيکربندی شده است که صرفا" بهنگام سازی ايمن را قبول نمايد ، صرفا" سرويس گيرندگان تائيد شده قادر به تغيير اطلاعات مربوطه خود در DNS خواهند بود( DNS Entries ) .
آدرس دهی اتوماتيک آدرس های خصوصی IP 
ويندوز 2000 ، از آدرس دهی اتوماتيک IP خصوصی ( APIPA ) ، بمنظور نستب دهی يک آدرس IP به يک ماشين سرويس گيرنده و درموارديکه سرويس دهنده DHCP در دسترس نبوده و يا درخواست ماشين سرويس گيرنده توام با موفقيت نگردد ، استفاده می نمايد.. بر اساس مستندات مايکروسافت آدرس های نسبت داده شده در محدوده IP:169.254.0.1 تا IP:169.254.255.254 می باشند. اين محدوده از آدرس های IP توسط IANA رزو و در اينترنت استفاده نمی گردد. پيشنهاد می گردد اين ويژگی غيرفعال گردد . بمنظور نيل به خواسته فوق ، عمليات زير را دنبال می نمائيم : 


  • <LI dir=rtl>از طريق Start|Run برنامه Regedt32 را فعال نمائيد ( در رابطه با استفاده از برنامه فوق ، دقت گردد) .
  • در ريجستری ويندوز ، کليد زير را پيدا نمائيد :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\P arameters

  • Entry زير را ايجاد و مقدار آن صفر در نظر گرفته شود.(غير فعال نمودن آدرس دهی اتوماتيک آدرس های IP خصوصی ).

IPAutoconfigurationEnabled: REG_DWORD
f
برنامه های کاربردی DHCP Client 
در اين راستا صرفا" يک برنامه وجود داشته و در فولدر %SystemRoot%\System32 قرار دارد: ipconfig.exe . تنظيمات زير در اين رابطه ، پيشنهاد می گردد:
تنظيمات DHCP Client ( مربوط به برنامه های کاربردی )
مجوزهای پيشنهادی 
User /Groups
فايل / فولدر
Full Control
Full Control

System
Administrators

%SystemRoot%\System32\ipconfig.exe

 

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  1:09 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

ارزيابی امنيتی سيستم عامل ويندوز 
سيستم عامل ويندوز، يکی از ده ها سيستم عامل موجود در جهان است که مديريت منابع سخت افزاری و نرم افزاری در يک کامپيوتر را برعهده دارد . استفاده از ويندوز بعنوان سيستم عاملی شبکه ای ، همزمان با عرضه NT ، وارد مرحله جديدی گرديد . در ادامه و بدنبال ارائه نسخه های ديگری از ويندوز ، فصل جديدی از بکارگيری سيستم عامل فوق در شبکه های کامپيوتری گشوده گرديد . استفاده از سيستم عامل ويندوز ( نسخه های متفاوت ) در ايران بطرز محسوسی افزايش و هم اينک، در اکثر شبکه های کامپيوتری از سيستم عامل فوق، استفاده می گردد . دامنه استفاده از ويندوز، از شبکه های کوچک سازمانی تا شبکه های بزرگ را شامل و حتی اکثر مراکز ASP ،برای ميزبانی وب سايت ها از گزينه فوق ، بهمراه مجموعه نرم افزارهای مربوطه استفاده می نمايند . با توجه به جايگاه سيستم عامل در کامپيوتر و نقش آنان در برپاسازی يک شبکه مقتدر و ايمن ، لازم است با نگاهی دقيق به ارزيابی امکانات امنيتی آنان پرداخته و پس از شناسائی نقاط آسيب پذير، در اسرع وقت نسبت به برطرف نمودن حفره های امنيتی اقدام لازم صورت گيرد . ما عادت کرده ايم اکثر نرم افزارها را با تنظيمات پيش فرض نصب و در اين راستا از دکمه طلائی Next ،بدفعات استفاده نمائيم! بديهی نصب و پيکربندی مناسب يک سيستم عامل شبکه ای با رويکرد فوق، می تواند اثرات مخربی را در رابطه با حفاظت از اطلاعات در يک سازمان بدنبال داشته باشد . طراحی و پياده سازی يک سيستم ايمنی مناسب در شبکه های کامپيوتری ، يکی از مهمترين چالش های موجود در دنيای گسترده تکنولوژی اطلاعات است . در اين راستا لازم است، سازمان ها و موسسات در اين رابطه با يک هدفمندی خاص بسمت برپاسازی يک محيط ايمن در شبکه های کامپيوتری حرکت نموده و قبل از وقوع هرگونه پيشامد ناگوار اطلاعاتی ، پيشگيری های لازم صورت پذيرد . 
با توجه به استفاده گسترده از سيستم عامل ويندوز در ايران ، لازم است به بررسی و ارزيابی امنيتی سيستم عامل فوق پرداخته گردد . شرکت ماکروسافت خود در اين زمينه تلاش های گسترده ای را آغاز و اخيرا" توجه خاصی را به اين مقوله اختصاص و پروژه های بزرگی را بمنظور نيل به يک سيستم عامل شبکه ای ايمن با توجه واقعيت های موجود تعريف و دنبال می نمايد .

شرکت ماکروسافت پس از عرضه نسخه های خاصی از ويندوز و با مشاهده اشکالات و نواقص خصوصا" نواقص امنيتی اقدام به ارائه نرم افزارهای تکميلی بمنظور بهنگام ساری ويندوز می نمايد . Hotfix,Patch و Service pack نمونه های متفاوتی در اين زمينه می باشند . با توجه به نقش نرم افزارهای فوق در صحت عملکرد امنيتی ويندوز ، لازم است در ابتدا به نرم افزارهای فوق اشاره گردد .

Service Pack و HotFix 
Service Pack ، يک بهنگام سازی ادواری در رابطه با سيستم عامل بمنظور رفع اشکالات و نواقص موجود است . ماکروسافت برای ويندوز NT 4.0 ( نسخه قبل از ويندوز 2000 با نگرش امکانات شبکه ای ) شش و برای ويندوز 2000 تاکنون ، سه Service Pack متفاوت را ارائه کرده است . بمنظور برطرف نمودن مشکلات احتمالی در فاصله زمانی بين دو service pack ، اقدا م به عرضه Hotfix می گردد. هر service Pack ، شامل تمام hotfix های قبلی نسبت به نسخه service pack قبلی است .
علاوه بر نصب آخرين نسخه های service Pack ، می بايست اقدام به نصب نسخه های hotfix نيز گردد . معمولا" hotfix ، با توجه به شيوع و گسترش يک مسئله خاص (مثلا" يک حمله اينترنتی ) در شبکه ، از طرف شرکت ماکروسافت، ارائه می گردد . با اينکه شرکت ماکروسافت توصيه کرده است در صورت بروز مشکل، اقدام به نصب نسخه های Hotfix گردد، ولی پيشنهاد می گردد که بلافاصله پس از نصب آخرين نسخه Service Pack ، اقدام به نصب تمام نسخه های امنيتی Hotfix مربوطه نيز گردد .
يکی از مهمترين چالش های مديران شبکه ، بهنگام سازی سيستم و نصب آخرين نسخه های Patch است . ماکروسافت در اين راستا ، يک برنامه خاص را بمنظور بررسی وضعيت امنيتی Hotfix ها ، ارائه که مديران شبکه را قادر به پيمايش سرويس دهنده های موجود در شبکه می نمايد ( برنامه Hfnetchk.exe) . برنامه فوق قادر به تشخيص صحت نصب تمام نسخه های Patch در رابطه با ويندوز 2000 و ساير نرم افزارهای سرويس دهنده نظير IIS ، IE و SQL است ( وضعيت موجود را تشخيص و کمبودها را اعلام می نمايد ) . برنامه HFNetChk يک ابزار خط دستوری بوده که مديران شبکه را قادر به بررسی آخرين وضعيت Patch ها در رابطه با تمام کامپيوترهای موجود در شبکه از يک محل مرکزی می نمايد .( مشاهده جزئيات برنامه HFNetChk ) . شرکت ماکروسافت در اين زمينه ، برنامه جامعی را بمنظور بررسی وضعيت سيستم امنيتی ارائه نموده که برنامه Hfnetchk.exe نيز بخشی از آن است ( مشاهده جزئيات و دريافت برنامه Microsoft Baseline Security Analyzer ).

پس از معرفی امکانات موجود برای بهنگام سازی ويندوز و برطرف نمودن مشکلات و مسائل موجود در هر يک از نسخه های ويند وز، در ادامه به بررسی و ارزيابی سيستم امنيتی ويندوز پرداخته و در اين راستا پيشنهاداتی مطرح می گردد.
سنجش امنيت در ويندوز 2000 
تاکنون بيش از 400 نقطه آسيب پذير در نسخه های ويندوز 2000 ، NT و برنامه های مرتبط با آنان شناخته شده و نحوه برطرف نمودن آنان مستند شده است . در اين بخش به بررسی برخی از نقاط آسيب پذير اشاره و نحوه برخورد با آنان بيان می گردد. لازم است به اين نکته مهم دقت شود که کاهش برخی از نقاط آسيب پذير در يک شبکه به معنی عرضه يک شبکه ايمن نمی باشد ( تلاشی است در جهت ايمن شدن ) .


  • <LI dir=rtl>از سيستم فايل NTFS در مقابل FAT استفاده شود . سيستم فايل فوق ، امکان کنترل دستيابی به فايل ها را برخلاف FAT فراهم می نمايد . 
    <LI dir=rtl>
    اطلاعات و ميدان عمل اتصالات بی هويت (Anonymous users) ، می بايست به حداقل مقدار خود برسد . يک اتصال بی هويت ( کاربران ناشناس و گمنام ) عضوی از گروه Everyone ( گروه از قبل ايجاد شده ) خواهد بود . بدين ترتيب آنان قادر به دستيابی تمام منابعی خواهند بود ، که برای گروه Everyone مجاز شناخته شده است . ويندوز NT پس از نصب آخرين نسخه ( Servic Pack ( 6a ، اکثر عملياتی را که يک کاربر گمنام قادر به انجام آنها می باشد ، محدود می نمايد . بمنظورر پيشگيری از شمارش اسامی account ها ، توسط کاربران گمنام ، از کليد ريجستری زير بهمراه تتنظيمات مربوطه استفاده می شود .
    Hive: HKEY_LOCAL_MACHINE
    Key: System\CurrentControlSet\Control\Lsa
    Name: RestrictAnonymous
    Type: REG_DWORD
    Value: 1
  • امتياز Access this computer from the network را در رابطه با کاربران عضوء گروه Everyone حذف و آن را با گروه معتبر Users ، جايگزين نمائيد . در ويندوز NT 4.0 ، برای انجام عمليات فوق از مسير زير و در ويندوز 2000 از Group Policy و يا Security Configuration Toolset استفاده می شود.

User Manager -> Policies -> User Rights

  • امکان دستيابی از راه دور به ريجستری را سلب نمائيد . کليدهای ريجستری متعددی وجود دارد، که اين امکان را به گروه Everyone و بالطبع کاربران ناشناس خواهد داد که از راه دور قادر به ويرايش ريجستری باشند( خواندن و تنظيم مقادير مربوط به مجوزها ). در صورتيکه کاربر تاييد نشده ای ، قادر به ويرايش مقادير موجود در ريجستری گردد، امکان تغيير مقادير موجود و بدست آوردن امتيازات با درجه بالا نيز در اختيار وی قرار خواهد گرفت. توصيه می گردد که صرفا" مديران شبکه و سيستم ، دارای امکان دستيابی از راه دور به ريجستری باشند . بمنظور اعمال محدوديت در رابطه با دستيابی از راه دور به ريجستری ، از کليد زير برای تنظيم مجوزهای امنيتی استفاده می شود .

HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeSe rvers\winr eg

  • <LI dir=rtl> Account مربوط به Guest غير فعال گردد.در اين راستا پيشنهاد می گردد، که تمام Account ها ( سرويس ها و کاربران ) دارای رمز عبورگردند .( صرفنظر از اينکه account فعال و يا غير فعال باشد ) .
  • تاييد اعتبار LanMan را غير فعال نمائيد . رمز عبورهای LanMan بمنظور سازگاری با نسخه های قبلی ويندوز ( 9X ) مطرح و عملا" رمزهای عبوری مشابه ويندوز 2000 بوده که تماما" به حروف بزرگ تبديل و با استفاده از يک روش خاص رمز شده اند .رمزهای عبور LanMan ، نسبت به ساير رمزهای عبور بمراتب ساده تر کشف و مورد استفاده م*****ان اطلاعاتی قرار می گيرند . پيشنهاد می گردد، رمزهای عبور LanMan غير فعال گردند . بمنظور غير فعال نمودن رمزهای عبور فوق ، کليد ريجستری مربوطه ، می بايست مطابق زير تغيير تنظيم گردد .

Hive: HKEY_LOCAL_MACHINE
Key: System\CurrentControlSet\Control\Lsa
Name: LMCompatibilityLevel
Type: REG_DWORD
Value: 5

  • <LI dir=rtl>پورت های 135,137,138 و 139 در محدوده روتر و يا فايروال را غير فعال نمائيد (Colse) . برای شبکه های مبتنی بر ويندوز 2000 ، می بايست پورت 445 نيز بلاک گردد . پورت های فوق، برای شبکه های داخلی لازم بوده ولی برای شبکه های خارجی مورد نياز نخواهند بود . با بلاک نمودن پورت های فوق ، از تعداد حملات م*****ان اطلاعاتی در شبکه های مبتنی بر ويندوز NT 4.0 و 2000 بنحو چشمگيری کاسته خواهد شد . در اين راستا لازم است ، پروتکل های غير ضروری ( نظير NetBeui و IPX) نيز غير فعال گردند . 
    <LI dir=rtl>بر روی فولدرها و فايل های سيستمی ويندوز نيز می بايست لايه های امنيتی مناسبی ايجاد گردد. در اين راستا لازم است بر روی فولدرهای حياتی سيستم نظير WINNT و System32 و کليدهای ريجستری HKLM\Software\Microsoft\Windows\Run و HKLM\Software\Microsoft\WindowsNT\CurrentVersion\A EDebug امکان استفاده از گروه Everyone سلب و به گروه معتبر Users ( شامل ليست کاربران مجاز ) اختصاص يابد . 
    <LI dir=rtl>در رابطه با منابع اشتراکی در شبکه ، می بايست محدوديت های لازم اعمال گردد. زمانيکه منبعی در شبکه به اشتراک گذاشته می شود، کنترل دستيابی بصورت پيش فرض گروه Everyone با امتيازFull control خواهد بود . در اين راستا پيشنهاد می گردد ، امکان استفاده از منابع اشتراکی ، صرفا" در اختيار کاربرانی قرار گيرد که نيازمند دستيابی به منابع فوق، می باشند . 
    <LI dir=rtl>تمام سرويس های غير ضروری نظير Telnet,FTP,WEB را غير فعال نمائيد. از صحت محل استقرار سرويس ها بر روی شبکه اطمينان حاصل نمائيد . مثلا" سرويس دهنده RAS و WEB نبايد بر روی يک کنترل کننده Domain ، نصب گردند . 
    <LI dir=rtl>امکان مميزی (auditing) در شبکه را فعال نمائيد . در ساده ترين حالت مميزی مربوط به ورود و خروج از شبکه ، دستيابی به امتيازات کاربران و رويدادهای سيستمی نظير غير فعال نمودن سيستم (Shutdown) است .
  • اعتماد (Trust) موجود بين حوزه ها (Domian) را بررسی و در صورت امکان، موارد غير ضروری را حذف نمائيد .

برنامه های ماکروسافت 
وجود نقاط آسيب پذير در برنامه هائی نظير outlook,Microsoft Exchange,SQL Server و IIS ، بستر مناسب برای متجاوران اطلاعاتی بمنظور نفوذ در شبکه را ايجاد می نمايد . بنابراين لازم است که از آخرين Service Pack و Patch مربوط به هر يک از برنامه ها استفاده گردد . شرکت ماکروسافت، بمنظور بهبود امنيت برنامه ها ، ابزارهای متعددی را ارائه نموده است . ليست برخی از اين برنامه ها در جدول زير نشان داده شده است . 


توضيحات 
برنامه
به مديران سرويس دهنده وب امکان اعمال محدوديت در رابطه با پاسخ به درخواست های معتبر را خواهد داد .
جزئيات بيشتر
URL Scan Security Tool
ابزاری برای ايمن سازی سرويس دهنده وب IIS ، نسخه های چهار و پنج . 
جزئيات بيشتر
IIS Lockdown Tool 
يک نسخه جديد از برنامه بهنگام سازی Outlook بمنظور حفاظت در مقابل انواع حملات اينترنتی مبتنی بر نامه های الکترونيکی .
جزئيات بيشتر
Improved Outlook E-mail Security Update
ابزاری بمنظور بررسی آخرين نسخه های Patch نصب شده در رابطه با سيستم عامل و برخی از برنامه ها نظير IIS, IE و SQL . 
جزئيات بيشتر
HFNetChk Security Tool
ابزاری بمنظور بررسی صحت عملکرد امنيتی سرويس گيرندگان .
جزئيات بيشتر 
Microsoft Personal Security Advisor
برنامه ای جامع برای بررسی وضعيت امنيتی يک کامپيوتر .
جزئيات بيشتر
Microsoft Baseline Security Analyzer

 

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  1:11 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

امنيت و TCP/IP Stack 

TCP/IP يكی از پروتكل های مطرح در عرصه شبكه های كامپيوتری است كه از چهار لايه متفاوت فيزيكی ، شبكه ، حمل و كاربرد تشكيل شده است . شكل زير ارتباط پروتكل چهار لايه ای TCP/IP و مدل مرجع OSI هفت لايه ای را نشان می دهد : 


هر لايه دارای مكانيزم های امنيتی ، پروتكل ها و برنامه های مختص به خود می باشد . در ادامه به برخی از امكانات امنيتی متداول و مرتبط با هر يك از لايه های پروتكل TCP/IP اشاره می گردد : 
لايه فيزيكی : معادل لايه های اول و دوم مدل مرجع OSI 


  • <LI dir=rtl> Packet Filters ، به منظور استقرار بين يك شبكه داخلی و يك شبكه خارجی طراحی می گردند. برای برخورد مناسب ( ارسال ، نپذيرفتن ، حذف ) با بسته های اطلاعاتی ورودی و يا خروجی از يك شبكه از مجموعه قوانين تعريف شده خاصی استفاده می گردد . ACL ( برگرفته از Access Control List ) روتر ، نمونه ای از يك Packet Filter می باشد . 
    <LI dir=rtl>NAT ، ( برگرفته از Network Address Translation ) ، مكانيزمی برای ترجمه آدرس است . اكثر كاربران اينترنت با سرعت بالا از NAT استفاده می نمايند . تكنولوژی فوق به منظور تامين امنيت كاربران ، آدرس داخلی آنان را از ديد شبكه های خارجی مخفی نگه می دارد . 
    <LI dir=rtl> CHAP ( برگرفته از Challenge Handshake Authentication Protocol ) ، يك پروتكل "تائيد" است كه از آن به عنوان گزينه ای جايگزين در مقابل ارسال معمولی و رمز نشده نام و رمز عبور استفاده می گردد . پروتكل فوق از الگوريتم MD5 برای رمزنگاری رمزهای عبور استفاده می نمايد .
  • PAP ( برگرفته از Password Authentication Protocol ) . پروتكل فوق ، به عنوان بهترين گزينه امنيتی در لايه فيزيكی مطرح نمی باشد و با ارائه امكاناتی كاربران را ملزم به درج نام و رمز عبور می نمايد . اطلاعات درج شده توسط كاربران به صورت متن معمولی ( رمز نشده ) ارسال می گردد ( مهمترين محدوديت پروتكل PAP ) .

لايه شبكه : معادل لايه سوم مدل مرجع OSI 


  • <LI dir=rtl>PPTP ( برگرفته از Point to Point Tunneling Protocol ) توسط كنسرسيومی متشكل از مايكروسافت و 3com پياده سازی و هدف آن ارائه امكانات لازم به منظور كپسوله سازی داده می باشد . امنيت لازم برای PPTP توسط رمزنگاری Point-to-point مايكروسافت ارائه شده است . 
    <LI dir=rtl>L2TP : پروتكل *** فوق به منظور امنيت و بر اساس پروتكل های PPTP و L2F پياده سازی شده است .
  • IPsec : از پروتكل فوق به منظور حفاظت بسته های اطلاعاتی IP و دفاع در مقابل حملات شبكه ای استفاده می گردد . IPsec از پروتكل های امنيتی و مديريت كليد پويا استفاده نموده و دارای دو پيكربندی پايه AH ( برگرفته از Authenticated Header ) و ESP ( برگرفته از Encapsulated Secure Payload ) می باشد .

لايه حمل : معادل لايه های چهارم و پنجم مدل مرجع OSI 


  • <LI dir=rtl>SSL ( برگرفته از Secure Sockets Layer ) ، پروتكلی است كه با استفاده از آن به كابران اين اطمينان داده می شود كه به صورت ايمن اقدام به مبادله اطلاعات بر روی شبكه ( نظير اينترنت ) نمايند .
  • TLS ( برگرفته از Transport Layer Security ) ، پروتكلی مشابه پروتكل SSL است و از يك رويكرد لايه ای به منظور امنيت داده استفاده می نمايد . TLS از چندين پروتكل زير مجموعه ديگر تشكيل می گردد .

لايه كاربرد : برخی از وظايف لايه پنجم و معادل لايه های ششم و هفتم مدل مرجع OSI 


  • <LI dir=rtl>RADIUS ( برگرفته از Remote Authentication Dial-In User Service ) متداولترين پروتكل تائيد كاربران dialup در دنيای شبكه های كامپيوتری است . پروتكل فوق امكانات لازم برای تائيد و اعطای مجوز لازم به كابران dialup شبكه های كامپيوتری را فراهم می نمايد . 
    <LI dir=rtl>TACACS ( برگرفته از Terminal Access Controller Access Control System ) ، يك پروتكل "تائيد" قديمی در شبكه های مبتنی بر سيستم عامل يونيكس است كه اين امكان را برای يك سرويس دهنده راه دور فراهم می نمايد تا رمز عبور درج شده توسط كاربران را به يك سرويس دهنده تائيد شده هدايت تا صلاحيت آنان برای استفاده از يك سيستم بررسی گردد .
  • Kerberos توسط MIT و به عنوان يك پروتكل تائيد قدرتمند پياده سازی شده است . پروتكل فوق برای تائيد مجوز كاربران در ارتباط با اشياء متفاوت از tickets استفاده می نمايد . Kerberos ، امكانات لازم به منظور رمزنگاری ، پيوستگی داده و محرمانگی را ارائه می نمايد .
  • S-MIME ( برگرفته از Secure / Multipurpose Internet Mail Extensions ) ، پروتكلی به منظور ايمن سازی نامه های الكترونيكی است . پروتكل فوق با بهره گيری از امكاناتی نظير رمزنگاری و امضاء ديجيتال ، امنيت نامه های الكترونيكی را تضمين می نمايد .

كارشناسان امينت اطلاعات بر اين عقيده هستند كه چون نمی توان يك شبكه و يا host را صرفا" با استفاده از امكانات امنيتی يك لايه صددرصد ايمن نمود ، می بايست از رويكرد "دفاع در عمق " و يا امنيت لايه ای ( layered security ) استفاده نمود . ايده "دفاع در عمق" می تواند بطرز قابل توجهی كاهش حملات موفقيت آميز را به دنبال داشته باشد

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  1:12 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت

 

ضرورت بررسی تنظیمات امنيتی مرورگرها

کاربران اينترنت به منظور استفاده از منابع موجود بر روی اينترنت از نرم افزارهائی موسوم به "مرورگر ها" استفاده می نمايند. نرم افزارهای فوق همانند ساير برنامه های کامپيوتری مجموعه ای از خدمات و سرويس ها را در اختيار کاربران قرار می دهند.مرورگرهای وب ، اولين نقطه ارتباطی کاربران با اينترنت بوده و همين موضوع توجه جدی به آنان را مضاعف می نمايد. بديهی است وجود نقاط آسيب پذير و يا عدم پيکربندی مناسب آنان، کاربران اينترنت را در معرض تهديدات و حملات گسترده ای قرار خواهد داد . 
با پيکربندی مناسب مرورگرها ، می توان يک سطح مناسب امنيتی را ايجاد نمود. گرچه ممکن است به موازات افزايش سطح ايمنی ، امکان استفاده از برخی قابليت های يک سايت بخصوص وجود نداشته باشد ، ولی شما در مقابل برخی از حملات محافظت شده و پيشگيری اوليه را انجام داده ايد . 

چرا تنظيمات امنيتی برای مرورگرها مهم است ؟ 
برنامه های مرورگر ، اولين نقطه ارتباطی شما با اينترنت می باشند و ممکن است چندين برنامه ديگر نيز به منظور ارائه خدمات و سرويس ها در ارتباط با آنان باشند و همين موضوع پيکربندی امنيتی مرورگرها را مضاعف می نمايد. تعداد زيادی از برنامه های وب با بکارگيری برخی از قابليت های مرورگرها ، خدمات و سرويس های خاصی را در اختيار کاربران قرار می دهند . رويکرد فوق عليرغم وجود برخی نکات مثبت، می تواند کاربران را مستعد انواع حملات نمايد . 
مطمئن ترين سياست امنيتی ، غيرفعال نمودن اکثر ويژگی های ارائه شده همراه مرورگرها می باشد . در صورتی که پس از غيرفعال نمودن برخی از ويژگی های مرورگرها در زمان استفاده از يک سايت تائيد شده و مطمئن ، مشکلات خاصی ايجاد گردد ، می توان موقتا" آنان را فعال و پس از اتمام کار و استفاده از سايت مورد نظر ، مجددا" آنان را غيرفعال نمود . 

نحوه انجام تنظيمات امنيتی به چه صورت است ؟ 
پاسخ به سوال فوق به نوع مرورگر وب بستگی داشته و هر يک از آنان امکانات خاصی را در اختيار استفاده کنندگان قرار می دهند . مثلا" در مرورگر Internet Explorer ، می توان پس از انتخاب منوی Tools گزينه Internet Options را انتخاب و در ادامه با کليک بر روی Security tab و نهايتا" دکمه Custome Level ، سطح امنيتی مورد نظر را انتخاب نمود . در مرورگر Mozila ، پس از انتخاب منوی Edit می توان گزينه Preferences را انتخاب و با کليک بر روی Privacy & Security ، سطح امنيتی مورد نظر را تعريف نمود . 
برخی از مرورگرها دارای سطوح امنيـتی از قبل تعريف شده ای می باشند که می توان در صورت تمايل از آنان استفاده نمود . مثلا" مرورگر Internet Explorer دارای چندين مجموعه تنظيمات امنيـتی سفارشی است که کاربران می توانند با توجه به نياز خود يکی از آنان را انتخاب نمايند . پس از انتخاب يکی از تنظيمات امنيتی ، برخی از ويژگی های مرورگر فعال و تعدادی ديگر، غيرفعال می گردند.

چگونه می توان از تنظيمات ايده آل و مناسب برای يک مرورگر اطمينان حاصل نمود ؟ 
تنظيمات امنيتی می بايست در جهت تامين حداکثر سطح ايمنی انجام شوند . بهترين رويکرد در اين زمينه استفاده از بالاترين سطح امنيتی است و صرفا" می بايست زمانی اقدام به فعال نمودن برخی از ويژگی های مرورگر نمود که به وجود آنان نياز باشد . 


برخی واژه ها و اصطلاحات در ارتباط با تنظيمات امنيتی 
مرورگرهای وب از اصطلاحات متفاوتی در ارتباط با پيکربندی امنينی استفاده می نمايند :

Zones : مرورگرهای وب، گزينه های مختلفی را به منظور استقرار وب سايت ها در سگمنت ها و يا نواحی متفاوت ارائه می نمايند . هر ناحيه می تواند دارای تنظيمات امنيتی مختص به خود باشد . مثلا" مرورگر Internet Explorer دارای نواحی زير است :


  • <LI dir=rtl> Internet : ناحيه فوق يک سگمنت عمومی و برای وب سايت های عمومی است .در زمان استفاده از اينترنت ، تنظيمات تعريف شده برای اين ناحيه به صورت اتوماتيک در ارتباط با سايت هائی که مشاهده می گردد ، اعمال خواهد شد . به منظور تامين بهترين سطح حفاظتی و امنيتی مرورگر ، می بايست اين ناحيه دارای بالاترين سطح امنيتی و يا حداقل سطح medium باشد.
    <LI dir=rtl>Local intranet : در صورتی که سازمان شما دارای يک اينترانت است ، می توان از اين ناحيه استفاده نمود . ناحيه فوق شامل تنظيمات امنيتی به منظور استفاده از صفحات داخلی است . با توجه به اين که محتويات وب توسط يک سرويس دهنده وب داخلی مديريت می گردد ، می توان محدويت های به مراتب کمتری را در ارتباط با اينگونه از صفحات اعمال نمود . 
    <LI dir=rtl>Trusted Sites : در صورتی که برخی از سايت ها با رعايت مسائل امنيتی پياده سازی شده باشند و تهديدی از جانب آنان متوجه شما نمی باشد ، می توان آنان را در ناحيه فوق قرار داد . مثلا" می توان سايت هائی را که با استفاده از تکنولوژی SSL پياده سازی شده اند را در اين ناحيه قرار داد ، چراکه همواره امکان شناسائی هويت سايت مورد نظر وجود خواهد داشت . سطح امنيتی اين ناحيه ، می بايست بگونه ای تعريف شود که اگر سايت های مستقر در اين ناحيه مورد تهاجم قرار گرفتند ، تهديدی متوجه شما نباشد ( پيشگيری از اختصاص يک سطح امنيتی پائين ) .
  • Restricted Sites : در صورتی که وب سايت های خاصی وجود دارد که نسبت به غيرايمن بودن آنان اطمينان حاصل شده است ، می توان آنان را در اين ناحيه قرار داد و برای آن بالاترين سطح امنيتی را تعريف نمود . با توجه به اين که تنظيمات امنيتی برای حفاظت شما در مقابل اينگونه سايت ها به اندازه کافی مناسب نمی باشند ، بهترين گزينه عدم استفاده از سايت های غيرايمن است .

جاوا اسکريپت : برخی وب سايت ها از زبان های اسکريپت نويسی نظير جاوا اسکريپت به منظور ارائه قابليت های خاصی استفاده می نمايند . از اسکريپت های فوق ممکن است به منظور انجام حملات متفاوتی استفاده گردد . 
کنترل های اکتيوايکس و جاوا : از برنامه های فوق به منظور اجرای محتويات فعال و ارائه برخی قابليت ها در وب سايت ها استفاده می گردد . از اين نوع برنامه ها همانند کدهای جاوااسکريپت، ممکن است به منظور انجام حملات متفاوتی استفاده گردد. 
Plug-ins: در برخی موارد مرورگرها به منظور ارائه خدمات ، نيازمند نصب نرم افزارهای اضافه ای با نام Plug-ins می باشند . از اين نوع برنامه ها همانند کدهای جاوااسکريپت ، کنترل های اکتيوايکس و جاوا ، ممکن است به منظور انجام حملات متفاوتی استفاده گردد. بنابراين لازم است در زمان نصب اينگونه نرم افزارها از صحت عملکرد و ايمن بودن آنان اطمينان حاصل گردد . در صورتی که برنامه های فوق می بايست از طريق اينترنت دريافت و نصب گردند ، بررسی هويت سايت ارائه دهنده ، امری ضروری است

** دارالولایه **

درباره امضاء

شنبه 28 مرداد 1391  1:12 AM
تشکرات از این پست
دسترسی سریع به انجمن ها