Vấn đề bảo mật trong ASP.Net

Một phần của tài liệu ỨNG DỤNG UML DESIGN PATTERN XÂY DỰNG HỆ THỐNG ĐĂNG KÝ TÍN CHỈ TRỰC TUYẾN (ONLINE COURSE REGISTER SYSTEM) (Trang 28 - 29)

Sự quan trọng của bảo mật khơng lời nào nói hết. Nếu không đầu tư thời gian cũng như tài ngun thích đáng cho nhiệm vụ này có thể dẫn tới những kết quả khơng mong muốn như thất thoát dữ liệu, sai hỏng trong thực thi ứng dụng hoặc ứng dụng bị chiếm quyền điều khiển v.v… Vì vậy, quan tâm vấn đề bảo mật ngay từ khi bắt đầu xây dựng ứng dụng cũng là điều hết sức quan trọng.

Bảo mật vốn là chủ đề cực kỳ phức tạp và bảo mật trong ASP.Net cũng không phải ngoại lệ. Trong phần này, chúng tôi sẽ giới thiệu một số phương thức giúp đảm bảo an toàn cho các ứng dụng ASP.Net mà không bàn về bảo mật mạng, bảo mật máy chủ và bảo mật cơ sở hạ tầng ASP.Net. Nói như thế khơng có nghĩa là các chủ đề đó khơng quan trọng. Ngược lại, nếu khơng cấu hình hỗ trợ bảo mật phù hợp cho máy chủ và cơ sở hạ tầng mạng, những gì cố gắng thực hiện để đảm bảo an toàn cho ứng dụng ASP.Net thông qua các công cụ .Net Framework cung cấp sẽ trở nên vơ ích.

Đảm bảo an toàn trong truy cập ứng dụng hay truy cập tài nguyên thuộc ứng dụng tập trung vào hai quá trình: chứng thực (authentication) và xác thực (authorization). Chúng ta sẽ quan tâm tới ba phương thức chứng thực mà ASP.Net cung cấp: Windows, Form và Passport. Còn với xác thực, chúng ta sẽ quan tâm chủ yếu với hai cơ chế: sử dụng đường dẫn URL và sử dụng danh sách điều khiển truy cập ACL (Access Control List), ngoài ra cịn có cơ chế xác thực Programmatic.

1. Các phương thức chứng thực

Chứng thực là quá trình nhận dạng người hay chương trình có u cầu. Nó khơng gán quyền truy cập tài nguyên, là chức năng của cơ chế xác thực, mà chỉ kiểm tra định danh đã biết để đưa ra quyết định xem liệu có chấp nhận u cầu này hay khơng. Nói một cách đơn giản, chứng thực trả lời cho câu hỏi: “Bạn là ai?”.

Cơ sở lý thuyết

Trong ứng dụng ASP cổ điển, có hai phương thức chứng thực chính: một là dựa trên IIS để chứng thực người dùng theo tài khoản Windows, sau đó sử dụng các danh sách điều khiển truy cập để hồn tất q trình chứng thực; hai là đưa ra kiểu chứng thực riêng, so sánh để khớp với thông tin chứng thực người dùng lưu trữ trên máy chủ (có thể nằm trong Microsoft Active Directory). Mỗi phương thức đều có những điểm hạn chế riêng. ASP.Net cung cấp ba

cơ chế chứng thực:

Chứng thực Windows: cung cấp tính năng tương tự như chứng thực IIS trong ASP cổ

điển, tuy nhiên cũng có một số điểm khác nhau quan trọng. Chứng thực Windows làm việc cùng với chứng thực tích hợp sẵn trong IIS và dùng định danh do chứng thực IIS cung cấp để thực hiện quá trình chứng thực.

Chứng thực Forms: chủ yếu được dùng cho cơ chế chứng thực riêng. Chứng thực

Form hỗ trợ trang đăng nhập chung, cung cấp nhiều tuỳ chọn về lưu trữ thông tin chứng thực, từ cơ sở dữ liệu với định dạng XML, file cấu hình và một số phương thức trợ giúp để quản lý các hoạt động chứng thực. Cơ chế chứng thực này hầu hết được dùng cho các trường hợp liên quan đến Internet.

Chứng thực Passport: Chứng thực Passport cho phép một người dùng có một mật

khẩu duy nhất trong khi có thể đăng nhập (địa chỉ e-mail được gắn với tài khoản Passport của họ) vào nhiều ứng dụng hay website. Điều này giúp đơn giản quá trình đăng nhập của người dùng và giảm bớt công việc quản trị khi bảo trì tài khoản người dùng. Để sử dụng được chứng thực Passport trong ASP.Net chúng ta phải download và cài đặt Passport SDK.

Trong các phương thức chứng thực trên phương thức chứng thực Forms được đánh giá là phương thức hữu ích nhất trong ba phương thức ASP.Net cung cấp. Nó cung cấp một cơ sở hạ tầng rất linh hoạt cho các ngữ cảnh bảo mật tự người dùng định nghĩa. Khi một ứng dụng được cấu hình để dùng chứng thực Forms, các yêu cầu về tài nguyên được bảo vệ sẽ được chuyển tới một trang đăng nhập cụ thể.

Cơ chế chứng thực ASP.Net thường được cấu hình ở mức máy, dùng file machine.config hoặc mức ứng dụng, dùng file web.config. Chúng ta có thể cấu hình các thiết lập chứng thực sử dụng phần tử <authentication> cùng với các thuộc tính và phần tử con của nó.

Các thiết lập chứng thực khơng được phép cấu hình bên dưới mức ứng dụng. Tức là nếu muốn áp dụng quy chế chứng thực cho một thư mục con của một ứng dụng, chúng ta cần phải cấu hình nó như một ứng dụng trong IIS. Các thiết lập xác thực không gặp phải hạn chế này.

Một phần của tài liệu ỨNG DỤNG UML DESIGN PATTERN XÂY DỰNG HỆ THỐNG ĐĂNG KÝ TÍN CHỈ TRỰC TUYẾN (ONLINE COURSE REGISTER SYSTEM) (Trang 28 - 29)