Bài 9: Thiết kê và lập trình web với ASP.NET - Bảo mật ứng dụng web ASP.NET

13 499 2
Bài 9: Thiết kê và lập trình web với ASP.NET - Bảo mật ứng dụng web ASP.NET

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET N i dung Thi t k & L p trình Web M t s khái ni m v B o m t Các c p Bài B om t b o m t m t ng d ng ASP.NET ng nh p, Qu n lý thành viên, phân quy n ASP.NET ng d ng Web ASP.NET Ths Tr n Th Bích H nh Khoa CNTT – H.KHTN © 2009 Khoa Cơng ngh thơng tin Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET N i dung © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET M t s Khái ni m B o m t M t s khái ni m v B o m t Authentication – Ch ng th c Các c p – Qui trình ch ng th c ng b o m t m t ng d ng ASP.NET – Th ng yêu c u ng kh u ng nh p, Qu n lý thành viên, phân quy n ASP.NET i dùng i dùng nh p Tên ng nh p & m t Authorization A th i ti – C p quy n – Qui trình quy t nh user ã ch ng th c tài nguyên nh t nh – Th ng c p quy n d a Lo i ng authorization) © 2009 Khoa CNTT - HKHTN © 2009 Khoa CNTT - HKHTN c phép truy c p i dùng (role-based Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET N i dung Các c p M t s khái ni m v B o m t IIS Các c p b o m t ASP NET ASP.NET ASP.NET b o m t m t ng d ng ASP.NET ng nh p, Qu n lý thành viên, phân quy n ASP.NET © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET IIS Security IIS Security Là c p b o m t u tiên n webpage (request) (request) Các b © 2009 Khoa CNTT - c th c hi n có yêu c u c ki m tra: – IIS ki m t tra a ch IP c a request có h t ó domain hay không – Ch ng th c ng C gt g ct truy c p vào i dùng (n u c n) dù g ( ) – N u thành công chuy n request qua ASP.NET – Ng c l i thông báo cho ng g g g truy c p i dùng bi t không g g © 2009 Khoa CNTT - HKHTN c phép p p © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Các hình th c ch ng th c IIS Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET IIS Anonymous Authentication Anonymous M c nh IIS cho phép anonymous truy c p vào m t ng d ng Web Basic Digest Integrated Windows Authentication Certificate © 2009 Khoa CNTT - HKHTN 10 Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET IIS Basic & Digest Authentication © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET IIS Integrated Windows Authentication Basic IIS ch ng th c user v i tài kho n user Windows – Yê c u user nh p username & password Yêu h d – Username & password – Username & password server Khi s d ng m ng intranet, Windows Authentication cho phép IIS quy t nh yêu c u c a ng i dùng d a vào vi c ng nh p c a user Windows c mã hóa truy n qua HTTP header c ki m tra kh p v i tài kho n Windows – Ch nên s d ng v i HTTPS Digest – Password c x lý v i hàm hash g i lên server – Server th c hi n x lý v i hàm hash v i password server ki m tra v i giá tr nh n c 11 © 2009 Khoa CNTT - HKHTN 12 © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET IIS Certificate Authentication Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET ASP.NET Security ASP NET Certificate – S d ng certificate c a user th c th c hi n vi c ch ng – Trong mã hóa khóa cơng khai (public-key cryptography) m t certificate s d ng m t ch ký i n t (digital signature) m t khóa cơng khai i kèm v i nh danh ng i dùng 13 © 2009 Khoa CNTT - HKHTN 14 © 2009 Khoa CNTT - Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Impersonation M c HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Impersonation nh Impersonation disabled Khi thi t l p impersonation enabled cho m t ng d ng Web, Web ng d ng s c th c thi d i nh danh c ch nh b i m t security token truy n t IIS – T t c ASP.NET request c th c thi b i nh danh m c nh dành cho cho ng d ng ASP.NET • Tài kho n ASPNET t ng c t o cài NET Framework • Tài kho n NETWORK SERVICE c nh ngh a s n Windows Server 2003 có quy n truy c p nh tài kho n ASPNET S d ng impersonation – ng d ng web d a vào IIS ch ng th c user – Server cho phép host nhi u ng d ng t nhi u khách hàng khác p p g g g nhau, cung c p cho m i ng d ng web m t tài kho n Windows riêng bi t ng n không cho ng d ng truy c p vào tài nguyên c a ng d ng khác // Web.Config 15 © 2009 Khoa CNTT - HKHTN 16 © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Code Access Security Tính n ng Qui Q i Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Trust Levels c h tr CLR Full – T t c NET class NET l nh nh ng ràng b c cho phép l i mã l nh t h h bu h lo ã h assembly bl c quy n th c thi c phép s d ng & th c thi High – Trust level m t t p lu t nh ngh a class g g NET Framework mà ng d ng ASP.NET c phép s d ng – Không c s d ng unmanaged code, enterprise services code services, reflection Medium – // Web.config level= Medium /> ng d ng ch c phép truy xu t c u trúc th m c c a Low – R d l application Read-only li ti Minimal – Khơng 17 © 2009 Khoa CNTT - HKHTN 18 Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET ASP.NET ASP NET Authentication c phép truy c p tài nguyên © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Forms Authentication None – ASP NET khô th c hi n vi c ASP.NET không i ch ng th c Windows – S d ng k t qu t c ch ch ng th c c u hình c a IIS Forms – Cho phép ch ng th c thông qua form ng nh p o g Passport – S d ng d ch v ch ng th c c a Mi Microsoft Passport ft P t 19 © 2009 Khoa CNTT - HKHTN 20 © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Forms Authentication Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Forms Authentication Thu c tính Ý ngh a Cookieless (UseDefaultProfile) Qui nh vi c ch ng th c l u cookie: UseCookies, UseUri (nhúng ticket URL), AutoDetect defaultUrl ng d n g thành công loginUrl ng d n n trang web sau ch ng th c user g g n trang login protection (All) q ( ) requireSSL (false) 21 © 2009 Khoa CNTT - HKHTN © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET N i dung Thu c tính Ý ngh a domain Domain ch ng th c cookie enableCrossAppRedirects (false) Cho phép nhi u ng d ng web s d ng ch ng th c name Tên cookie path Yêu c u s d ng k t n i SSL truy n d li u g y 22 Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Forms Authentication Qui nh cách th c mã hóa authentication ticket: All (hash & encrypte), Encryption, None, Validation (check ticket có b s a i) M t s khái ni m v B o m t Các c p ng nh p, Qu n lý thành viên, phân quy n ASP.NET ng d n cho cookie slidingExpiration (false) Reset l i th i gian expire c a cookie sau l n truy c p cu i timeout (30 phút) Qui b o m t m t ng d ng ASP.NET nh th i gian expire c a cookie // Web.Config i i @ i smtpSender.DeliveryMethod = SmtpDeliveryMethod.Network; smtpSender.EnableSsl = true; smtpSender.Send(e.Message); } catch (Exception ex) { Response.Write("There was a problem sending the email " + ex); R W it ("Th bl di th il ) / ilS i } e.Cancel = true; … } 35 { SmtpClient smtpSender = new SmtpClient(“smtp server”, “smtp port”); © 2009 Khoa CNTT - HKHTN 36 © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET L y thông tin c u hình Mail Server Web config hình Web.config X ly l i G i mail using System.Web.Configuration; using System Net Configuration; System.Net.Configuration; Configuration config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath); MailSettingsSectionGroup settings = (MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings"); // settings.Smtp.Network.Host // settings.Smtp.Network.Port protected void PasswordRecovery1_SendMailError(object sender, SendMailErrorEventArgs e) // settings.Smtp.Network.Username // settings.Smtp.Network.Password { e.Handled = true; PasswordRecovery1.SuccessText = e.Exception.Message; } 37 © 2009 Khoa CNTT - 38 HKHTN © 2009 Khoa CNTT - Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET C u hình s B HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET d ng Database riêng cho Membership & Role C u hình s B c 1: Th c thi ASP.NET Sql Server Registration Tool t o CSDL d ng Database riêng cho Membership & Role c1 – WINDOWS\Microsoft.NET\Framework\2.0.xxxx\ p g q aspnet_regsql.exe B c 2: C u hình ConnectionString Membership ConnectionString, Provider & Role Provider Web.Config B c 3: S d ng Web Site Administration Tool hình phân quy n p q y c u http://www.codedigest.com/FAQ/16 How to Configure ASP Net Membership http://www codedigest com/FAQ/16-How-to-Configure-ASP-Net-MembershipProviders-to-Use-Our-Own-Database-.aspx – Menu > Website > ASP.NET Configuration 39 © 2009 Khoa CNTT - HKHTN 40 © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET C u hình s B d ng Database riêng cho Membership & Role Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET C u hình s c2 B > d ng Database riêng cho Membership & Role c (tt) < t b> 47 © 2009 Khoa CNTT - HKHTN 48 © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET Ví d - Hi n th danh sách Roles CheckBoxList Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET T ng k t Membership & Role Select user roles: 49 © 2009 Khoa CNTT - HKHTN 50 © 2009 Khoa CNTT - HKHTN ... com/FAQ/16-How-to-Configure-ASP-Net-MembershipProviders-to-Use-Our-Own-Database-.aspx – Menu > Website > ASP.NET Configuration 39 © 2009 Khoa CNTT - HKHTN 40 © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9:. .. CNTT - HKHTN 26 Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET ASP.NET Login Controls ASP NET © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET. .. CNTT - HKHTN 12 © 2009 Khoa CNTT - HKHTN Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET IIS Certificate Authentication Thi t k & L p trình Web – Bài 9: B o m t ng d ng Web ASP.NET ASP.NET

Ngày đăng: 09/05/2014, 14:41

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan