امنيت برنامه های وب ( بخش پنچم )
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, 15:09

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

  •  Windows  Authentication

  •  Forms        Authentication

  •  Passport   Authentication

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

  • پس از درخواست يک صفحه ايمن توسط سرويس گيرنده ، درخواست وی در ابتدا برای IIS ارسال می گردد.

  • IIS ، کاربر را به عنوان Anonymous تائيد و درخواست وی را برای ASP.NET ارسال می نمايد .

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

  •  سايت Passport.com ، يک فرم Login را توليد و برای سرويس گيرنده ارسال می نمايد .سرويس گيرنده اطلاعات Logon را در آن درج و مجددا" اطلاعات را برای سايت Passport.com ارسال می نمايد .

  • در صورتيکه اطلاعات درج شده توسط کاربر ( نام و رمز عبور) با اطلاعات موجود در بانک اطلاعاتی پاسپورت مطابقت نمايد ، Passport.com سرويس گيرنده را تائيد و يک کوکی به همراه اطلاعات ذيربط ( مشابه يک بليط ) برای وی ارسال می نمايد .

  • درخواست سرويس گيرنده مجددا" برای سرويس دهنده و اين مرتبه به همراه مجوز صادر شده توسط Passport.com ، ارسال می گردد. IIS ، مجددا" سرويس گيرنده را به عنوان Anonymous تائيد و درخواست وی را برای برنامه وب ASP.NET ارسال می نمايد .

  • برنامه وب ASP.NET تائيد کاربر را بر اساس مجوز صادر شده برای وی توسط Passport.com ، انجام داده و صفحه وب درخواستی  را برای سرويس گيرنده ارسال می نمايد .

  • پس از تائيد کاربر توسط Passport.com ، امکان دستيابی وی به ساير وب سايت هائی که از روش Passport  Authentication استفاده می نمايند ، وجود خواهد داشت .

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

  • نصب Passport SDK . ( با اينکه نرم افزار فوق به همراه ويژوال استوديو ارائه نشده است ،ولی فريمورک دات نت دارای کلاس های لازم به منظور کار با Passport SDK پس از نصب آن می باشد ) .

  • اعمال تغييرات لازم در  فايل Web.config : نوع Authentication  به Passport  و  مقدار عنصر Authorization به Deny برای کاربران تائيد نشده 

  • استفاده از رويداد 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






---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
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
 نحوه انتخاب يك كارت صدا