اموزش امنيت برنامه هاي وب ( بخش اول )
هر برنامه کامپيوتري که براي اجراء در محيط شبکه، طراحي و پياده سازي مي گردد ، مي بايست توجه خاصي به
مقوله امنيت داشته باشد .برنامه هاي وب از زيرساخت شبکه ( اينترانت ، اينترانت ) براي ارائه خدمات خود به کاربران
استفاده نموده و لازم است نحوه دستيابي کاربران به اين نوع از برنامه ها ، کنترل و با توجه به سياست هاي موجود ،
امکان دستيابي فراهم گردد .در ابتدا مي بايست کاربران شناسائي و پس از تائيد هويت آنان ، امکان دستيابي به
پلات فرم مايکروسافت براي طراحي و پياده سازي ) ASP.NET . برنامه با توجه به مجوزهاي تعريف شده ، فراهم گردد
برنامه هاي وب ) ، از سه روش عمده به منظور شناسائي کاربران و اعطاي مجوزهاي لازم در جهت دستيابي و
استفاده از يک برنامه وب ، استفاده مي نمايد :
Windows Authentication
Forms Authentication
Authentication Passport
در مجموعه مقالاتي که ارائه خواهد شد به بررسي هر يک از روش هاي فوق در جهت پياده سازي امنيت در برنامه
با کاربران ناشناس ASP.NET هاي وب خواهيم پرداخت . در بخش اول اين مقاله ، به بررسي نحوه برخورد
روش هاي متفاوت شناسائي کاربران و پارامترهاي لازم در خصوص انتخاب يک استراتژي به منظور ، ( Anonymous )
شناسائي کاربران با توجه به نوع برنامه ها ، خواهيم پرداخت .
شناسائي و تائيد کاربران
فرآيند اعطاي ، Authorization . فرآيندي است که بر اساس آن کاربران شناسائي مي گردند ، Authentication
امکان ايمن سازي ،Authorization و Authentication دستيابي به کاربران با توجه به هويت آنان مي باشد . با تلفيق
برنامه هاي وب در مقابل افراد مزاحم و غير مجاز ، فراهم مي گردد .
( Anonymous ) دستيابي از طريق کاربران ناشناس
استفاده مي نمايند . در چنين مواردي ، اطلاعات موجود بر ، "Anonymous" اغلب سايت هاي وب از روش دستيابي
روي سايت جنبه عمومي داشته و امکان دستيابي تمامي کاربران به اطلاعات وجود خواهد داشت . اين نوع سايت ها ،
، ASP.NET ضرورتي به بررسي مجاز بودن کاربران براي استفاده از منابع موجود ، نخواهند داشت . برنامه هاي وب
ارائه مي نمايند . Impersonation را به منابع موجود بر روي سرويس دهنده توسط Anonymous امکان دستيابي
Anonymous دستيابي Account . به يک کاربر ناشناس است Account فرآيند نسبت دهي يک ، Impersonation
فوق ، امکان کنترل کاربران ناشناس Account مي باشد. با استفاده از ، IUSER_computername ، بصورت پيش فرض
که به منابع موجود بر سرويس دهنده دستيابي دارند ، وجود خواهد داشت . به منظور مشاهده و تغيير مجوزهاي
استفاده مي گردد : Computer Management فوق از برنامه Account دستيابي در نظر گرفته شده براي
به عنوان مديريت شبکه ( Logon ) ورود به شبکه
( Tools Start | Programs | Administrator : از طريق ) Computer Management اجراي
به منظور نمايش ليست کاربران Users انتخاب فولدر
کاربران . ( Member of فوق به عنوان عضوي از آنان مي باشد( کليک بر روي Account مشاهده گروههائي که
از ASP.NET . بوده که داراي مجوزهاي اندکي مي باشد Guests بصورت پيش فرض ، عضوي از گروه ، Anonymous
با توجه به تنظيمات پيش فرض) ، به منظور اجراي برنامه وب استفاده مي نمايد . بدين ترتيب ، در ) ASP.NET Account
وجود نداشته باشد ، يک ASP.NET Account صورتيکه برنامه اي سعي در انجام عملياتي نمايد که در ليست مجوزهاي
مورد خاص امنيتي بوجود آمده و امکان دستيابي آن تائيد نخواهد شد.
به منظور اعمال محدوديت در دستيابي کاربران ناشناس مي توان از تنظيمات مربوط به مجوزهاي فايل ويندوز استفاده
و يا FAT باشد . سيستم هاي فايل NTFS نمود . براي ايمن سازي ، سرويس دهنده مي بايست داراي سيستم فايل
ايمن سازي در سطح فايل را ارائه نمي نمايند . ، FAT32
دستيابي از طريق کاربران تائيد شده
گزينه اي مناسب براي دستيابي به اطلاعات عمومي و عام است . در صورتيکه برنامه هاي ، Anonymous دستيابي
وب شامل اطلاعاتي خاص و خصوصي باشند ، مي بايست در ابتدا کاربران شناسائي و در ادامه با توجه به مجوزهاي
و Authentication از سه روش عمده به منظور ASP.NET تعريف شده ، امکان دستيابي فراهم گردد. در برنامه هاي وب
کاربران استفاده مي گردد : Authorization
در روش فوق ، شناسائي و تائيد کاربران بر اساس ليست کاربران تعريف شده : Windows integrated authentication
، Account بر روي سرويس دهنده انجام خواهد شد. در ادامه با توجه به مجوزها و امتيازات نسبت داده شده به هر
امکان دستيابي و يا عدم دستيابي به منابع موجود بر روي سرويس دهنده ، فراهم مي گردد.
هدايت مي گردند . در ادامه ، اطلاعات مربوط ، Logon در روش فوق ، کاربران به يک فرم وب : authentication Forms
به نام و رمز عبور آنان اخذ و فرآيند شناسائي و تائيد بر اساس يک لسيت کاربران و يا از طريق يک بانک اطلاعاتي که
برنامه حمايت مي نمايد ، انجام خواهد شد.
در روش فوق ، کاربران جديد به يک سايت که توسط مايکروسافت ميزبان شده است ، : Passport authentication
هدايت مي گردند .پس از ريجستر شدن کاربران ، امکان دستيابي آنان به چندين سايت ، فراهم خواهد شد( تمرکز در
شناسائي کاربران و استفاده از سايت هاي متعدد با توجه به تائيد بعمل آمده ) .
داراي مزاياي مختص به خود بوده و براي نوع ، Anonymous هر يک از رويکردهاي فوق ، به همراه روش دستيابي
خاصي از برنامه هاي وب ، مناسب مي باشند :
نوع برنامه : برنامه وب عمومي اينترنت
Anonymous : روش تائيد کاربران
وجود Logon توضيحات : روش عمومي دستيابي براي اغلب سايت هاي وب ، مي باشد. در اين روش ، ضرورتي به
مي توان ايمن سازي منابعي را که قصد اعمال محدوديت در ، NTFS نداشته و با استفاده از مجوزهاي سيستم فايل
رابطه با دستيابي به آنان وجود دارد را انجام داد .
نوع برنامه : برنامه وب اينترانت
integrated Windows : روش تائيد کاربران
تائيد مي ، Domain توضيحات : در روش فوق ، سيستم معتبر سازي ويندوز ، کاربران شبکه را از طريق کنترل کننده
نمايد. امکان دستيابي به منابع برنامه هاي وب بر اساس مجوزهاي تعريف شده بر روي سرويس دهنده ، براي هر يک
از کاربران فراهم مي گردد .
نوع برنامه : برنامه هاي وب تجاري
Forms : روش تائيد کاربران
توضيحات : برنامه هائي که نيازمند دريافت اطلاعات مالي مي باشند ، مي بايست از روش فوق به منظور اخذ و ذخيره
سازي اطلاعات ، استفاده نمايند .
نوع برنامه : برنامه هاي متعدد تجاري
Passport : روش تائيد کاربران
نموده ( از طريق يک مرکز تائيد کاربران ) و امکان دستيابي و Sign in توضيحات : در روش فوق ، کاربران يک مرتبه
استفاده مي نمايند ، وجود خواهد داشت . اطلاعات کاربران Passport SDK استفاده آنان از تمامي برنامه هائي که از
نگهداري خواهدشد ( در مقابل استفاده از يک بانک اطلاعاتي محلي ) . Passport profile در يک
HTML و يا HTM در فايل هاي Authentication استفاده از
ارائه شده است ، صرفا" در رابطه با فايل هائي که به عنوان بخشي از ASP.NET سه روش تائيد کاربران که توسط
ماژول ها ( فايل هائي با ، ( . aspx برنامه وب مي باشند ، بکار گرفته مي شود .فرم هاي وب ( فايل هائي با انشعاب
و يا HTM فايل هائي با انشعاب ) HTML نمونه هائي در اين زمينه مي باشند. فرآيند فوق ، صفحات ، ( . asax انشعاب
واگذار شده است. در ( ASP.NET در مقابل ) IIS را شامل نمي گردد و مسئوليت آن بصورت پيش فرض به ( HTML
را داشته باشيم که به ( Passport و Windows,Forms صورتيکه فصد تائيد کاربراني ( استفاده از يکي از روش هاي
مپ ، executable ASP.NET از طريق برنامه وب دستيابي دارند ، مي بايست اين نوع فايل ها به HTML صفحات
مراحل زير را دنبال مي IIS پس از اجراي ، ASP.NET executable به html گردند .به منظور مپ نمودن فايل هاي
نمائيم :
Properties جعبه محاوره اي ، IIS در ادامه برنامه . Action Menu از طريق Properties انتخاب فولدر شامل برنامه وب و
را نمايش خواهد داد .
در ادامه جعبه محاوره اي IIS . را انتخاب مي نمائيم Configuration کليک نموده و در ادامه گزينه Directory Tab بر روي
را نمايش خواهد داد Application Configuration
را نمايش Add/Edit Application Extension Mapping جعبه محاوره اي IIS کليک نموده و در ادامه Add بر روي دکمه
خواهد داد .
Windows را انتخاب مي نمائيم .فايل فوق در دايرکتوري aspnet_isapi.dll کليک نموده و فايل Browse بر دکمه
قرار داشته و مسير آن مشابه زير است : Microsoft .Net Framework
aspnet_isapi.dll Path for
C:\windows\Microsoft.NET\Framework\versionnumber\aspnet_isapi.dll
تايپ مي نمائيم . File Extension را در فيلد .htm
تکرار مي گردد. ، html مراحل فوق ، براي فايل هاي با انشعاب
پایان بخش اول