امنيت برنامه هاي وب ( بخش اول )
شناسائي و تائيد کاربران
Authentication ، فرآيندي است که بر اساس آن کاربران شناسائي مي گردند . Authorization ، فرآيند اعطاي دستيابي به کاربران با توجه به هويت آنان مي باشد . با تلفيق Authentication و Authorization، امکان ايمن سازي برنامه هاي وب در مقابل افراد مزاحم و غير مجاز ، فراهم مي گردد .
دستيابي از طريق کاربران ناشناس ( Anonymous )
اغلب سايت هاي وب از روش دستيابي "Anonymous" ، استفاده مي نمايند . در چنين مواردي ، اطلاعات موجود بر روي سايت جنبه عمومي داشته و امکان دستيابي تمامي کاربران به اطلاعات وجود خواهد داشت . اين نوع سايت ها ، ضرورتي به بررسي مجاز بودن کاربران براي استفاده از منابع موجود ، نخواهند داشت . برنامه هاي وب ASP.NET ، امکان دستيابي Anonymous را به منابع موجود بر روي سرويس دهنده توسط Impersonation ارائه مي نمايند . Impersonation ، فرآيند نسبت دهي يک Account به يک کاربر ناشناس است . Account دستيابي Anonymous بصورت پيش فرض ، IUSER_computername ، مي باشد. با استفاده از Account فوق ، امکان کنترل کاربران ناشناس که به منابع موجود بر سرويس دهنده دستيابي دارند ، وجود خواهد داشت . به منظور مشاهده و تغيير مجوزهاي دستيابي در نظر گرفته شده براي Account فوق از برنامه Computer Management استفاده مي گردد :
ورود به شبکه ( Logon ) به عنوان مديريت شبکه
اجراي Computer Management ( از طريق : Start | Programs | Administrator Tools )
انتخاب فولدر Users به منظور نمايش ليست کاربران
مشاهده گروههائي که Account فوق به عنوان عضوي از آنان مي باشد( کليک بر روي Member of ) . کاربران Anonymous ، بصورت پيش فرض ، عضوي از گروه Guests بوده که داراي مجوزهاي اندکي مي باشد. ASP.NET از ASP.NET Account ( با توجه به تنظيمات پيش فرض) ، به منظور اجراي برنامه وب استفاده مي نمايد . بدين ترتيب ، در صورتيکه برنامه اي سعي در انجام عملياتي نمايد که در ليست مجوزهاي ASP.NET Account وجود نداشته باشد ، يک مورد خاص امنيتي بوجود آمده و امکان دستيابي آن تائيد نخواهد شد.
به منظور اعمال محدوديت در دستيابي کاربران ناشناس مي توان از تنظيمات مربوط به مجوزهاي فايل ويندوز استفاده نمود . براي ايمن سازي ، سرويس دهنده مي بايست داراي سيستم فايل NTFS باشد . سيستم هاي فايل FAT و يا FAT32 ، ايمن سازي در سطح فايل را ارائه نمي نمايند .
دستيابي از طريق کاربران تائيد شده
دستيابي Anonymous ، گزينه اي مناسب براي دستيابي به اطلاعات عمومي و عام است . در صورتيکه برنامه هاي وب شامل اطلاعاتي خاص و خصوصي باشند ، مي بايست در ابتدا کاربران شناسائي و در ادامه با توجه به مجوزهاي تعريف شده ، امکان دستيابي فراهم گردد. در برنامه هاي وب ASP.NET از سه روش عمده به منظور Authentication و Authorization کاربران استفاده مي گردد :
Windows integrated authentication : در روش فوق ، شناسائي و تائيد کاربران بر اساس ليست کاربران تعريف شده بر روي سرويس دهنده انجام خواهد شد. در ادامه با توجه به مجوزها و امتيازات نسبت داده شده به هر Account ، امکان دستيابي و يا عدم دستيابي به منابع موجود بر روي سرويس دهنده ، فراهم مي گردد.
Forms authentication : در روش فوق ، کاربران به يک فرم وب Logon ، هدايت مي گردند . در ادامه ، اطلاعات مربوط به نام و رمز عبور آنان اخذ و فرآيند شناسائي و تائيد بر اساس يک لسيت کاربران و يا از طريق يک بانک اطلاعاتي که برنامه حمايت مي نمايد ، انجام خواهد شد.
Passport authentication : در روش فوق ، کاربران جديد به يک سايت که توسط مايکروسافت ميزبان شده است ، هدايت مي گردند .پس از ريجستر شدن کاربران ، امکان دستيابي آنان به چندين سايت ، فراهم خواهد شد( تمرکز در شناسائي کاربران و استفاده از سايت هاي متعدد با توجه به تائيد بعمل آمده ) .
هر يک از رويکردهاي فوق ، به همراه روش دستيابي Anonymous ، داراي مزاياي مختص به خود بوده و براي نوع خاصي از برنامه هاي وب ، مناسب مي باشند :
نوع برنامه : برنامه وب عمومي اينترنت
روش تائيد کاربران : Anonymous
توضيحات : روش عمومي دستيابي براي اغلب سايت هاي وب ، مي باشد. در اين روش ، ضرورتي به Logon وجود نداشته و با استفاده از مجوزهاي سيستم فايل NTFS ، مي توان ايمن سازي منابعي را که قصد اعمال محدوديت در رابطه با دستيابي به آنان وجود دارد را انجام داد .
نوع برنامه : برنامه وب اينترانت
روش تائيد کاربران : Windows integrated
توضيحات : در روش فوق ، سيستم معتبر سازي ويندوز ، کاربران شبکه را از طريق کنترل کننده Domain ، تائيد مي نمايد. امکان دستيابي به منابع برنامه هاي وب بر اساس مجوزهاي تعريف شده بر روي سرويس دهنده ، براي هر يک از کاربران فراهم مي گردد .
نوع برنامه : برنامه هاي وب تجاري
روش تائيد کاربران : 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 را نمايش خواهد داد . بر دکمه Browse کليک نموده و فايل aspnet_isapi.dll را انتخاب مي نمائيم .فايل فوق در دايرکتوري Windows Microsoft .Net Framework قرار داشته و مسير آن مشابه زير است :
Path for aspnet_isapi.dll
C:\windows\Microsoft.NET\Framework\versionnumber\aspnet_isapi.dll
htm. را در فيلد File Extension تايپ مي نمائيم .
مراحل فوق ، براي فايل هاي با انشعاب html ، تکرار مي گردد.
Authentication ، فرآيندي است که بر اساس آن کاربران شناسائي مي گردند . Authorization ، فرآيند اعطاي دستيابي به کاربران با توجه به هويت آنان مي باشد . با تلفيق Authentication و Authorization، امکان ايمن سازي برنامه هاي وب در مقابل افراد مزاحم و غير مجاز ، فراهم مي گردد .
دستيابي از طريق کاربران ناشناس ( Anonymous )
اغلب سايت هاي وب از روش دستيابي "Anonymous" ، استفاده مي نمايند . در چنين مواردي ، اطلاعات موجود بر روي سايت جنبه عمومي داشته و امکان دستيابي تمامي کاربران به اطلاعات وجود خواهد داشت . اين نوع سايت ها ، ضرورتي به بررسي مجاز بودن کاربران براي استفاده از منابع موجود ، نخواهند داشت . برنامه هاي وب ASP.NET ، امکان دستيابي Anonymous را به منابع موجود بر روي سرويس دهنده توسط Impersonation ارائه مي نمايند . Impersonation ، فرآيند نسبت دهي يک Account به يک کاربر ناشناس است . Account دستيابي Anonymous بصورت پيش فرض ، IUSER_computername ، مي باشد. با استفاده از Account فوق ، امکان کنترل کاربران ناشناس که به منابع موجود بر سرويس دهنده دستيابي دارند ، وجود خواهد داشت . به منظور مشاهده و تغيير مجوزهاي دستيابي در نظر گرفته شده براي Account فوق از برنامه Computer Management استفاده مي گردد :
ورود به شبکه ( Logon ) به عنوان مديريت شبکه
اجراي Computer Management ( از طريق : Start | Programs | Administrator Tools )
انتخاب فولدر Users به منظور نمايش ليست کاربران
مشاهده گروههائي که Account فوق به عنوان عضوي از آنان مي باشد( کليک بر روي Member of ) . کاربران Anonymous ، بصورت پيش فرض ، عضوي از گروه Guests بوده که داراي مجوزهاي اندکي مي باشد. ASP.NET از ASP.NET Account ( با توجه به تنظيمات پيش فرض) ، به منظور اجراي برنامه وب استفاده مي نمايد . بدين ترتيب ، در صورتيکه برنامه اي سعي در انجام عملياتي نمايد که در ليست مجوزهاي ASP.NET Account وجود نداشته باشد ، يک مورد خاص امنيتي بوجود آمده و امکان دستيابي آن تائيد نخواهد شد.
به منظور اعمال محدوديت در دستيابي کاربران ناشناس مي توان از تنظيمات مربوط به مجوزهاي فايل ويندوز استفاده نمود . براي ايمن سازي ، سرويس دهنده مي بايست داراي سيستم فايل NTFS باشد . سيستم هاي فايل FAT و يا FAT32 ، ايمن سازي در سطح فايل را ارائه نمي نمايند .
دستيابي از طريق کاربران تائيد شده
دستيابي Anonymous ، گزينه اي مناسب براي دستيابي به اطلاعات عمومي و عام است . در صورتيکه برنامه هاي وب شامل اطلاعاتي خاص و خصوصي باشند ، مي بايست در ابتدا کاربران شناسائي و در ادامه با توجه به مجوزهاي تعريف شده ، امکان دستيابي فراهم گردد. در برنامه هاي وب ASP.NET از سه روش عمده به منظور Authentication و Authorization کاربران استفاده مي گردد :
Windows integrated authentication : در روش فوق ، شناسائي و تائيد کاربران بر اساس ليست کاربران تعريف شده بر روي سرويس دهنده انجام خواهد شد. در ادامه با توجه به مجوزها و امتيازات نسبت داده شده به هر Account ، امکان دستيابي و يا عدم دستيابي به منابع موجود بر روي سرويس دهنده ، فراهم مي گردد.
Forms authentication : در روش فوق ، کاربران به يک فرم وب Logon ، هدايت مي گردند . در ادامه ، اطلاعات مربوط به نام و رمز عبور آنان اخذ و فرآيند شناسائي و تائيد بر اساس يک لسيت کاربران و يا از طريق يک بانک اطلاعاتي که برنامه حمايت مي نمايد ، انجام خواهد شد.
Passport authentication : در روش فوق ، کاربران جديد به يک سايت که توسط مايکروسافت ميزبان شده است ، هدايت مي گردند .پس از ريجستر شدن کاربران ، امکان دستيابي آنان به چندين سايت ، فراهم خواهد شد( تمرکز در شناسائي کاربران و استفاده از سايت هاي متعدد با توجه به تائيد بعمل آمده ) .
هر يک از رويکردهاي فوق ، به همراه روش دستيابي Anonymous ، داراي مزاياي مختص به خود بوده و براي نوع خاصي از برنامه هاي وب ، مناسب مي باشند :
نوع برنامه : برنامه وب عمومي اينترنت
روش تائيد کاربران : Anonymous
توضيحات : روش عمومي دستيابي براي اغلب سايت هاي وب ، مي باشد. در اين روش ، ضرورتي به Logon وجود نداشته و با استفاده از مجوزهاي سيستم فايل NTFS ، مي توان ايمن سازي منابعي را که قصد اعمال محدوديت در رابطه با دستيابي به آنان وجود دارد را انجام داد .
نوع برنامه : برنامه وب اينترانت
روش تائيد کاربران : Windows integrated
توضيحات : در روش فوق ، سيستم معتبر سازي ويندوز ، کاربران شبکه را از طريق کنترل کننده Domain ، تائيد مي نمايد. امکان دستيابي به منابع برنامه هاي وب بر اساس مجوزهاي تعريف شده بر روي سرويس دهنده ، براي هر يک از کاربران فراهم مي گردد .
نوع برنامه : برنامه هاي وب تجاري
روش تائيد کاربران : 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 را نمايش خواهد داد . بر دکمه Browse کليک نموده و فايل aspnet_isapi.dll را انتخاب مي نمائيم .فايل فوق در دايرکتوري Windows Microsoft .Net Framework قرار داشته و مسير آن مشابه زير است :
Path for aspnet_isapi.dll
C:\windows\Microsoft.NET\Framework\versionnumber\aspnet_isapi.dll
htm. را در فيلد File Extension تايپ مي نمائيم .
مراحل فوق ، براي فايل هاي با انشعاب html ، تکرار مي گردد.
+ نوشته شده در شنبه پانزدهم آبان ۱۳۸۹ ساعت 18:6 توسط محمد یاسر کبیری
|
شبکه های کامپیوتری امنیت برنامه نویسی سخت افزار نرم افزار طراحی وب