امنيت برنامه های وب ( بخش اول )
S h a b g a r d . O R G
.::Security Group::.

*Nix *Nix *Nix *Nix *Nix *Nix *Nix مبتدی مبتدی مبتدی

    Search for in  

  خانه

  *Nix

      مبتدی

      متوسط

      تخصصی

  Windows

      مبتدی

      متوسط

      تخصصی

  network

  Programming

      PHP

  Security

  Hacking

  Program

      MS-Word

      Graphic

  Cisco

  Hardware



امنيت برنامه های وب ( بخش اول )
Posted by SAKHA RAVESH CO. on Jan 6, 2005, 14:49

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

  • انتخاب فولدر  شامل برنامه وب و   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  ، تکرار می گردد.

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






---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
Latest Headlines

 *Nix
 نصب سيستم عامل لينوكس وفارسي نويسي در محيط
kavoshgar.blogsky.com
 نصب سيستم عامل لینوکس مندریک 9.2 Mandrake linux
 راهنماي كاربران جديد لينوكس
 راهنماي كاربران جديد لينوكس
 تعاريف پايه و نكات كاربردي در لينوكس و يونيكس
 تنظیماتIP و شبکه در گنو / لینوکس
 تعیین سطوح دسترسی کاربران در لینوکس
 تاریخچه لینوکس
 ظاهر پوسته فرمان
 استفاده از پوسته فرمان در لینوکس
 Windows
 بازگرداندن ویندوز خراب شده به حالت قبل از بروز مشکل
 چگونه میتوان در ويندوز 98 و ME به درايو NTFS دسترسي داشت
 با افزودن پسورد دوم براي ورود به ویندوز XP امنیت خود را تا حد زیادی افزایش دهید
 برنامه های تحت داس و قدیمی را چگونه در XP اجرا کنیم
 نصب ويندوز 98 يا ME در محیط ويندوز NT يا XP فقط در یک دقیقه و نیم
 مقدمات و نيازهاي شما براي يادگيري TCP/IP
 امكانات شبكه اي ويندوز
 SSL چيست ؟
 آموزش HyperTerminal
 آموزش كرك فايل هاي SAM
 network
 كارت شبكه يا LAN Card
 شبكه سرى يا BNC
 شبكه Hub
 تنظيم و كنترل برنامه Network Neighborhood
 استفاده از شبكه و عمل Sharing
 نصب و تنظيم برنامه Wingate جهت اتصال شبكه به سرور و اينترنت
 AAA (Authentication, Authorization and Accounting)
 مقدمه ای بر شبکه خصوصی مجازی (VPN)
 ip و port
  RFC چيست؟
 Programming
 زبان برنامه نویسی D قسمت اول
 زبان برنامه سازی D تحت لینوکس قسمت دوم
 زبان برنامه‌نويسی D بخش سوم
 زبان برنامه نویسی D بخش چهارم
 زبان برنامه نویسی D بخش پنجم
 زبان برنامه‌نویسی D بخش ششم
 نرم‌افزار آزاد یا باز‌متن چیست؟
 مقدمه ای بر برنامه نويسی شی گراء در دات نت
 آموزش رتينا
 ايجاد فايل XML با استفاده از يک بانک اطلاعاتی
 Security
 بررسی نحوه عملکرد فایروال Firewallیا ديواره آتش
 مقايسه سرورهای لينوکس و ويندوز
 چه فایلهائی میتوانند برای کاربران مخاطره آمیز باشند !
 امنيت برنامه های وب ( بخش اول )
 امنيت برنامه های وب ( بخش دوم )
 امنيت برنامه های وب ( بخش سوم )
 امنيت برنامه های وب ( بخش چهارم )
 امنيت برنامه های وب ( بخش پنچم )
 امنيت نامه های الکترونيکی ( بخش اول )
 مفاهيم اوليه پروتکل TCP/IP ( بخش اول )
 Hacking
 چگونه هکر شویم؟ بخش اول
 چگونه هکر شویم؟ بخش دوم
 هنر هشتم : كرك كردن
 مقدمات قبل از شروع يادگيری هک
 Port Scanning
 Port Scanning
  کاربرد نرم‌افزار nmap
 IP Scanning
 پورت ۷۹
 پورت ۸۰ چيست؟
 Program
  آموزشهاي افكتهاي فتوشاپ
 Shocking Text
 مبانی آشنايی با Word
  آموزش ساخت متن یخی
 نصب تم در موزیلا فایرفاکس
 کلید های میانبر در فایرفاکس
 Cisco
 آشنايي با مدارک سيسکو
 Cisco Systems
 Hardware
 آشنايي با پورت USB
 نحوه انتخاب يك كارت صدا