عنوان
|
نويسنده
|
مشاهده
|
تعداد
آراء |
امتياز
|
امنيت برنامه های وب ( بخش اول ) |
مديريت وب |
16521 |
24 |
4.2 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
امنيت برنامه های وب ( بخش اول )
امنيت برنامه های وب ( بخش اول )
هر برنامه کامپيوتری که برای اجراء در
محيط شبکه، طراحی و پياده سازی می گردد ، می بايست توجه خاصی به مقوله امنيت داشته
باشد .برنامه های وب از زيرساخت شبکه ( اينترانت ، اينترانت ) برای ارائه خدمات خود
به کاربران استفاده
نموده و لازم است نحوه دستيابی کاربران به
اين نوع از برنامه ها ، کنترل و با توجه به سياست های موجود ، امکان دستيابی
فراهم گردد .در ابتدا می بايست کاربران شناسائی و پس از تائيد
هويت آنان ، امکان دستيابی به برنامه با توجه به مجوزهای تعريف شده ، فراهم گردد.
ASP.NET ( پلات فرم مايکروسافت برای طراحی و پياده سازی
برنامه های وب ) ، از سه روش عمده به منظور شناسائی کاربران و اعطای مجوزهای لازم
در جهت دستيابی و استفاده از يک برنامه وب ، استفاده می نمايد :
-
Windows
Authentication
-
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 استفاده می گردد :
-
ورود به شبکه (
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 مراحل زير
را دنبال می نمائيم :



-
بر دکمه 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 ، تکرار می گردد.
در بخش دوم اين مقاله به بررسی
Windows Authentication خواهيم پرداخت .