ระบบความปลอดภัย Web Application Aspnet

24
© New Technology Information Co., Ltd. © NTSoft Corporation Limited. บทที12 แนวทางระบบความปลอดภัยของ Web Application เบื้องตน

description

Uploaded from Google Docs

Transcript of ระบบความปลอดภัย Web Application Aspnet

Page 1: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

บทที่ 12แนวทางระบบความปลอดภัยของ

Web Application เบือ้งตน

Page 2: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

เนื้อหาบทเรียน

รูจักกับแนวทางระบบความปลอดภยัของ ASP.NET Web Application

Forms-Based Authentication

สาธิต: Forms-Based Authentication

การประยุกตใชตวัแปรระดับ Session

สรุป

Page 3: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

รูจักกบัแนวทางระบบความปลอดภัยของ ASP.NET Web Application

พื้นฐานของระบบความปลอดภัย

แนวทางการสรางระบบความปลอดภัยเบือ้งตน

ขอมูลเพิ่มเติม

ความปลอดภัยและถูกตองของขอมลู

Page 4: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

พื้นฐานของระบบความปลอดภัย

Authentication – Login ผานหรือไม

Authorization – สิทธิ์ในการใชงานทรพัยากรตางๆ มีแคไหน

Page 5: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

แนวทางการสรางระบบความปลอดภัยเบื้องตน

Windows-Based Authentication (ใชมากใน Intranet)อาศัย UserName และ Password ของ Windows บวกความสามารถของ IIS

Forms-Based Authentication (ใชมากใน Internet - กลาวถึงในรายละเอยีด)

เทียบไดกับการสรางระบบ Authentication ขึ้นมาเอง แตอาศัยความสามารถของ ASP.NET Security Service (Class FormsAuthentication)

Microsoft Passport Authenticationการใชบริการ Passport Service ของ Microsoft (เสียเงิน แต Login ครั้งเดียว – ไมแนะนํา – ตอง Site ใหญจริงๆ)

สรางระบบความปลอดภยัเอง + การประยกุตใชตัวแปรระดับ Session (ใชมากใน Internet กบั ASP แตก็ประยกุตใชกบั ASP.NET ได)

แนวทางคลาย Forms-Based แตอาศัยตัวแปรระดับ Session เปนตัวคุมในการเขาถึง Page เมือ่มีการ Login ผานแลว

Page 6: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

หลกัการทํางานเพิม่เติมใน ASP.NET Resources Kit

Page 7: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

ขอมูลเพิ่มเติม

Page 8: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

ขอมูลเพิ่มเติม (ตอ)

Page 9: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

ความปลอดภัยและถูกตองของขอมูล

Page 10: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

Forms-Based Authentication

ขบวนการทํางานของ Forms-Based Authentication

การเซ็ตอัพ IIS

การกําหนด Authentication ในไฟล Web.Config

การกําหนด Authorization ในไฟล Web.Config

การสราง Login Form

Page 11: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

ขบวนการทํางานของ Forms-Based Authentication

Page 12: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

ขบวนการทํางานของ Forms-Based Authentication(ตอ)

Page 13: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การเซ็ตอัพ IIS

Page 14: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การกาํหนด Authentication ในไฟล Web.Config

Page 15: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การกําหนด Authorization ในไฟล Web.Config

URL Authorization: กําหนดในสวน system.web มีผลกระทบทั้ง Web App.

Page 16: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การกาํหนด Authorization ในไฟล Web.Config (ตอ)

URL Authorization: กําหนดในสวน location path มีผลกระทบทั้ง Page นัน้ๆ

Page 17: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การสราง Login Form

Page 18: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การสราง Login Form (ตอ)

FormsAuthentication Class: ให Methods ประเภท Shared มาเพื่อชวยในการจดัการกับ Authentication tickets (Cookies) – อยูภายใต Namespaces ชื่อ System.Web.Security (กอนใชตอง Imports)

Methods ที่สาํคัญ

Page 19: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การสราง Login Form (ตอ)

Methods ที่สาํคัญ (ตอ)

Identity Property ชวยในการเขาถงึขอมูลของ User ที่ Login

Properties ของ Identity ที่สาํคญั

Page 20: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

สาธิต: Forms-Based Authentication

สรุปขั้นตอนการสาธิตสราง Project Web Application ใหมชื่อ Forms-Based-Demoเพิ่มไฟล .aspx ทั้งหมดที่อยูใน demo\ch12 (ไมรวมซับโฟเดอร) เขาสูโปรเจกตใช IIS ตรวจสอบ Enable anonynymous accessBuild และ รนั Project: ทําการ Browse ไฟล Default.aspx และ .aspx อื่นๆ โดยในกรณีนี้ยังไมมีการกําหนด Security ใดๆ ในไฟล Web.configเปดไฟล “eb.config สังเกตวายังไมมีการกําหนดเรื่อง Security เพิ่มไฟล Web.config.All และ Web.config.Location ที่อยูใน demo\ch12 เขาสูโปรเจกตRename ชื่อไฟล Web.config ใหเปน Web.config.bakRename ชื่อไฟล Web.config.Location ใหเปน Web.configเปดไฟล Web.config สังเกตการกําหนด Authentication ในสวน system.webเปดไฟล Web.config สังเกตการกําหนด Authorization ในไฟล Web.Config ในสวน system.web และ location

Page 21: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

สาธิต: Forms-Based Authentication (ตอ)

สรุปขั้นตอนการสาธิต (ตอ)เปดไฟล Default.aspx, NonSecure.aspx, SecureForAdmin.aspx, SecureForMember.aspxและ Login.aspx ตามลําดับ ศึกษาการ UI และ Code behindBuild และ รัน Project (ไม Login และ Login) เพื่อทดสอบ Security ตามเงื่อนไขใน Web.config (ใหมกีารลอง Browse Page สลบัไปมา สังเกตวาไมตอง Login อกีในกรณีที่ Browse ไปที่อืน่หลังจาก Login ถามีสิทธิ์ในการใช Page นั้นๆRename ชือ่ไฟล Web.config ใหเปน Web.config.LocationRename ชือ่ไฟล Web.config.All ใหเปน Web.configเปดไฟล Web.config และ ทําการศกึษาการกําหนด SecurityBuild และ รัน Project (ไม Login และ Login) เพื่อทดสอบ Security ตามเงื่อนไขใน Web.config

Page 22: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การประยุกตใชตัวแปรระดับ Session

เมื่อ Login (Authentication) ผาน (เทียบกับ Database หรือ อื่นๆ) ก็ทําการสรางตัวแปรระดับ Session เพื่อเก็บสถานะ วา Login ผานแลว พรอมทั้งเก็บสถานะอื่นๆ หลังจากนัน้อาจจะสงตอไปยัง Page อื่นๆ

ตัวอยางโคดของ ASP

Page 23: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

การประยุกตใชตัวแปรระดับ Session (ตอ)

ทุกๆ Page ทีม่ีการกําหนดสิทธิการเขาใชงาน (Authorize) ดานบนๆ ของ Page จะตองมีการตรวจสอบสิทธิ์ จากขอมูลในตัวแปรระดับ Session ถาผานก็สามารถใชงานได ถาไมก็สงตอไปยังหนา Login

ตัวอยางโคดของ ASP

Page 24: ระบบความปลอดภัย Web Application Aspnet

© New Technology Information Co., Ltd. © NTSoft Corporation Limited.

สรุป

รูจักกับแนวทางระบบความปลอดภยัของ ASP.NET Web Application

Forms-Based Authentication

สาธิต: Forms-Based Authentication

การประยุกตใชตวัแปรระดับ Session