Hiện nay công nghệ .NET của Microsoft được sử dụng rất rộng rãi trong việc xây dựng các ứng dụng sử dụng trong thực tế. Bên cạnh việc xây dựng ứng dụng thì vấn đề an toàn của một ứng dụng là rất quan trọng, đặc biệt là trong các ứng dụng thương mại điện tử như bán hàng qua mạng, thực hiện chuyển tiền vào tài khoản qua mạng, .NET Framework cung cấp cho ta rất nhiều thư viện dùng để tăng cường an ninh cho ứng dụng.
Khoá luận này trình bày khả năng tăng cường an ninh cho các ứng dụng xây dựng trên nền .NET Framework và đặc biệt tập trung vào các ứng dụng Web.
Khoá luận gồm 4 chương:
Chương 1. An toàn ứng dụng Web.
Trình bày tổng quan về an toàn ứng dụng web.
Chương 2. An toàn ứng dụng Web xây dựng trên nền .NET Framework.
Trình bày tổng quan về an toàn ứng dụng Web xây dựng trên nền .NET Framework, các kỹ thuật chính và các thư viện dùng để tăng cường an ninh.
Chương 3. Xây dựng ứng dụng Web ASP.NET an toàn
Nghiên cứu cụ thể về an toàn ứng dụng Web ASP.NET. Xây dựng các gói assemblies, các thành phần dịch vụ, các dịch vụ Web, các trang và các điều khiển an toàn. Các kiểu tấn công phổ biến và biện pháp phòng chống hữu hiệu.
Chương 4. Thiết kế demo.
Tăng cường an ninh cho web site của Cục bảo vệ tài nguyên môi trường
68 trang |
Chia sẻ: tuandn | Lượt xem: 2209 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Tăng cường an ninh cho các ứng dụng xây dựng trên nền NET Framework, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
HÌNH ẢNH
Hình 1: Các bước tấn công. 9
Hình 2: Tiến trình mô hình hiểm hoạ 10
Hình 3: Role-based security 12
Hình 4: Code access security 14
Hình 5: Các security namespaces 15
Hình 6: Các mối đe doạ hàng đầu 16
Hình 7: Các thành phần dịch vụ trong một ứng dụng Enterprise Services tầng giữa. 20
Hình 8: Enterprise Services threats 21
Hình 9: Các mối hiểm hoạ chính đối với dịch vụ Web 24
Hình 10: Kiến trúc bảo mật 37
Hình 11: Khoanh vùng web site 44
Hình 12: Mô hình hoá chức năng. 61
Hình 13: Phân rã chức năng 62
Hình 14: Hệ thống 62
Hình 15: Cơ sở gây ô nhiễm 63
Hình 16: Quản lý hồ sơ 63
Hình 17: Quản lý người dùng 64
Hình 18: Quản lý dữ liệu tĩnh cấp cục 65
Hinh 19: Thống kê báo cáo 65
LỜI CẢM ƠN
Em xin cảm ơn các thầy cô trong khoa Công nghệ Thông tin trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội, đặc biệt là các thầy cô ở bộ môn Mạng và truyền thông đã giúp đỡ chúng em trưởng thành trong những năm học tập tu dưỡng.
Em bày tỏ lòng biết ơn đối với PGS – TS Hồ Sỹ Đàm là người đã nhiệt tình hướng dẫn giúp đỡ em, chỉ bảo tận tình, cùng với sự động viên và giúp em vượt qua nhiều khó khăn trong quá trình hoàn thành bản khoá luận này.
Khóa luận tốt nghiệp được thực hiện trong khuôn khổ của đề tài: “Tăng cường an ninh cho các ứng dụng trên nền .NET”
Cuối cùng em xin gửi lời cảm ơn tới tất cả các bạn bè, gia đình đã động viên em trong quá trình học tập và làm khoá luận tốt nghiệp.
Hà Nội, tháng 5 năm 2006
Sinh viên
Đặng Hữu Thành
LỜi NÓI ĐẦU
Hiện nay công nghệ .NET của Microsoft được sử dụng rất rộng rãi trong việc xây dựng các ứng dụng sử dụng trong thực tế. Bên cạnh việc xây dựng ứng dụng thì vấn đề an toàn của một ứng dụng là rất quan trọng, đặc biệt là trong các ứng dụng thương mại điện tử như bán hàng qua mạng, thực hiện chuyển tiền vào tài khoản qua mạng,… .NET Framework cung cấp cho ta rất nhiều thư viện dùng để tăng cường an ninh cho ứng dụng.
Khoá luận này trình bày khả năng tăng cường an ninh cho các ứng dụng xây dựng trên nền .NET Framework và đặc biệt tập trung vào các ứng dụng Web.
Khoá luận gồm 4 chương:
Chương 1. An toàn ứng dụng Web.
Trình bày tổng quan về an toàn ứng dụng web.
Chương 2. An toàn ứng dụng Web xây dựng trên nền .NET Framework.
Trình bày tổng quan về an toàn ứng dụng Web xây dựng trên nền .NET Framework, các kỹ thuật chính và các thư viện dùng để tăng cường an ninh.
Chương 3. Xây dựng ứng dụng Web ASP.NET an toàn
Nghiên cứu cụ thể về an toàn ứng dụng Web ASP.NET. Xây dựng các gói assemblies, các thành phần dịch vụ, các dịch vụ Web, các trang và các điều khiển an toàn. Các kiểu tấn công phổ biến và biện pháp phòng chống hữu hiệu.
Chương 4. Thiết kế demo.
Tăng cường an ninh cho web site của Cục bảo vệ tài nguyên môi trường
Chương 1 – AN TOÀN ỨNG DỤNG WEB
1.1. Các vấn đề cơ bản về an toàn ứng dụng Web.
Khi ta nghe nói về an toàn ứng dụng Web, có một khuynh hướng ngay lập tức nghĩ về các kẻ tấn công làm hỏng Web site, ăn cắp các số credit card, và ném bom các Web site với các kiểu tấn công từ chối dịch vụ. Ta cũng có thể nghĩ về virus, Trojan horses, và worms. Đây là những vấn đề rắc rối được quan tâm nhất vì chúng đại diện cho một số các hiểm hoạ đáng quan tâm nhất mà các ứng dụng Web ngày nay phải đối mặt.
An toàn về cơ bản là việc bảo vệ các tài nguyên quan trọng. Các tài nguyên này có thể là những thứ có thể sờ thấy được như trang Web hoặc cơ sở dữ liệu hoặc có thể là những thữ không sờ thấy được như danh tiếng của một công ty.
An toàn là một con đường không có đích. Mỗi khi phân tích kiến trúc và ứng dụng, ta xác định các hiểm hoạ tiềm tàng và hiểu rằng mỗi hiểm hoạ đại diện cho một mức độ rắc rối.Vấn đề an toàn chính là việc quản lý rắc rối và việc thực thi các biện pháp phòng chống hữu ích.
Các vấn đề cơ bản:
Xác thực
Xác thực trả lời câu hỏi: bạn là ai? Nó là một tiến trình nhận dạng các client của các ứng dụng và các dịch vụ. Đó có thể là người dùng cuối, các dịch vụ, các tiến trình, hoặc là các máy tính. Theo cách nói về an toàn thì các client được xác thực được đề cập tới như là principals
Chứng thực
Chứng thực trả lời câu hỏi: bạn có thể làm gì? Đó là một tiến trình quản lý các tài nguyên và các hoạt động mà client đã được xác thực được cấp quyền truy cập. Các tài nguyên bao gồm các tệp, cơ sở dữ liệu, các bảng, hàng, vv…cùng với các tài nguyên mức hệ thống như dữ liệu cấu hình. Các hoạt động bao gồm việc thực thi các giao tác, bán một sản phẩm, chuyển tiền từ một tài khoản sang một tài khoản khác, vv…
Kiểm tra
Kiểm tra và ghi lại là điểm chính để không từ chối. Không từ chối đảm bảo rằng một người dùng không thể từ chối việc thực thi một hoạt động hay việc khởi tạo một giao tác. Ví dụ trong một hệ thống thương mại điện tử, kỹ thuật không từ chối được yêu cầu để đảm bảo rằng một người dùng không thể từ chối việc đặt 100 quyển sách.
Sự tin cậy
Sự cẩn mật cũng được đề cập tới như là privacy, là một tiến tình đảm bảo rằng dữ liệu vẫn riêng tư và tin cậy và không thể được xem bởi những người dùng không được chứng thực hoặc bởi những kẻ nghe lén mạng ( người quản lý giao thông mạng). Mã hoá thường được dùng để đảm bảo sự tin cậy. ACL đôi cũng là một phương tiện cho mục đích này
Sự toàn vẹn
Toàn vẹn đảm bảo rằng dữ liệu được bảo vệ khỏi việc chỉnh xửa vô tình hay cố ý. Sự riêng tư và sự toàn vẹn là vấn đề quan tâm chính, đặc biệt là với dữ liệu truyền qua mạng. Về cơ bản ta có thể sử dụng kỹ thuật băm và MAC để đảm bảo sự toàn vẹn.
Sự sẵn sàng
Nghĩa là hệ thống vẫn sẵn sàng với những người dùng hợp pháp. Nhiều kẻ tấn công sử dụng các hành động tấn công từ chối dịch vụ để phá hỏng một ứng dụng để người dùng khác không thể truy cập ứng dụng.
Ta không thể thiết kế và xây dựng một ứng dụng Web an toàn cho tới khi ta biết các hiểm hoạ. Một qui tắc quan trọng để xác định mẫu thiết kế ứng dụng đó là việc mô hình hiểm hoạ. Mục đích của việc mô hình hiểm hiểm hoạ là để phân tích kiến trúc của ứng dụng, thiết kế và xác định các vùng yếu tiềm tàng có thể cho phép một người dùng hoặc một kẻ tấn công với ý đồ xấu làm hại tới sự an toàn của hệ thống.
Việc thiết kế và phát triển phần mềm ứng dụng cần được hỗ trợ bởi việc cấu hình an toàn mạng, máy chủ và ứng dụng trên máy chủ nơi ứng dụng được phát hành.
1.2. Thuật tấn công
Các bước trong phương pháp tấn công thể hiện ở hình dưới đây.
Hình 1: Các bước tấn công.
Khảo sát và đánh giá
Khám phá và thâm nhập
Vượt quyền
Duy trì kết nối
Từ chối dịch vụ
1.3. Mô hình hiểm họa
Mô hình hiểm hoạ nên được sử dụng trong suốt quá trình thiết kế ứng dụng cũng như trong suốt vòng đời của ứng dụng. Có hai lý do để làm như vậy. Thứ nhất, không thể xác định toàn bộ hiểm hoạ có thể xảy ra. Thứ hai, vì các ứng dụng hiếm khi tĩnh và cần nâng cấp và sửa lại cho phù hợp với sự thay đổi các yêu cầu nghiệp vụ.
Hình 2: Tiến trình mô hình hiểm hoạ
Xác định các tài nguyên có giá trị
Lập một kiến trúc tổng quan bao gồm các hệ thống con, các rào cản tin cậy, và dòng chảy dữ liệu
Phân tích ứng kiến trúc của ứng dụng, bao gồm hạ tần mạng và máy chủ, tạo một chiến lược an toàn cho ứng dụng. Mục tiêu của chiến lược này là để nhận ra các điểm yếu trong thiết kế, thi hành hoặc cấu hình phát hành của ứng dụng.
Xác định các hiểm hoạ có thể ảnh hưởng tới ứng dụng.
Lập tài liệu các hiểm hoạ
Đánh giá các hiểm hoạ để chỉ ra hiểm hoạ nguy hiểm nhất.
Chương 2 – AN TOÀN ỨNG DỤNG WEB XÂY DỰNG TRÊN .NET FRAMEWORK
2.1. Tổng quan về an toàn ứng dụng Web xây dựng trên .NET Framework.
Microsoft .Net Framework cung cấp nhiều kỹ thuật và nhiều thư viện giúp chúng ta xây dựng mã và tạo các ứng dụng Web được an toàn.
Các kỹ thuật chính được sử dụng là Role-based security và Code access security.
2.1.1. Role-Based Security
Bảo mật dựa vào vai trong .NET Framework cho phép một ứng dụng Web tạo các quyết định bảo mật dựa theo đặc tính nhận dạng hoặc các vai thành viên của người dùng giao tác với ứng dụng. Nếu ứng dụng của chúng ta sử dụng xác thực Windows thì một vai là một nhóm Windows. Nếu ứng dụng của chúng ta sử dụng các dạng xác thực khác thì một vai là một ứng dụng được định nghĩa và người dùng và chi tiết vai được giữ trong SQL Server hay các nơi lưu trữ người dùng trong Active Directory.
Đặc tính nhận dạng của người dùng được xác thực và tư cách vai thành viên được kết hợp của nó sẵn có cho các ứng dụng Web qua đối tượng Principal, đối tượng này được đính kèm vào yêu cầu Web hiện tại.
Hình 3 cách sử dụng Role-based security trong ứng dụng Web để hạn chế người dùng truy cập tới các trang Web, mức nghiệp vụ, các hoạt động và dữ liệu.
Hình 3: Role-based security
Role-based security trong .NET Framework là một công nghệ chính được dùng để chứng thực các hành động của người dùng trong một ứng dụng. Các vai thường được dùng để ép buộc các qui định về nghiệp vụ. Ví dụ: một chương trình tài chính có thể chỉ cho phép các nhà quản lý thực hiện chuyển một lượng tiền vượt quá một ngưỡng quy định.
Role-based security bao gồm các yếu tố sau:
Principals và identities
PrincipalPermission object
Role-based security checks
URL authorization
Principals and Identities
Role-based security được thực thi với các đối tượng Principal và Identity. Đặc tính nhận dạng và vai thành viên của người dùng đã xác thực được phơi bày qua đối tượng Principal, đối tượng này được gắn kèm với yêu cầu Web hiện tại. Chúng ta có thể sử dụng thuộc tính HttpContext.Current.User để lấy thông tin về đối tượng. Nếu người dùng không được yêu cầu xác thực với ứng dụng chẳng hạn người dùng đang duyệt một phần có thể truy cập công cộng của site thì đối tượng Principal đại diện cho người dùng Internet ẩn danh.
Có nhiều loại đối tượng Principal và dùng loại nào là tùy thuộc vào kỹ thuật xác thực mà ứng dụng đó sử dụng. Tuy vậy, tất cả các đối tượng Principal đều thực thi interface System.Security.Principal.IPrincipal và tất cả được lưu dữ trong một danh sách các vai mà người dùng là thành viên của nó.
Các đối tượng chính cũng chứa các đối tượng Identity. Đối tượng này chứa tên người dùng và các cờ để xác minh kiểu xác thực và xác minh người dùng đã được xác thực rồi hay chưa. Có các loại đối tượng Identity khác nhau tuỳ thuộc vào loại xác thực, nhưng tất cả đều thực thi interface System.Security.Principal.IIdentity.
The following table shows the range of possible authentication types and the different types of Principal and Identity objects that ASP.NET Web applications use.
Bảng dưới đây là các loại xác thực và các loại đối tượng Principal và Identity mà ứng dụng web ASP.NET sử dụng.
Kiểu xác thực
Loại Principal và Identity
Chú thích
Windows
WindowsPrincipal + WindowsIdentity
Việc xác minh là tự động và sử dụng SAM hoặc Active Directory. Windows Groups được dùng cho các vai.
Forms
GenericPrincipal + FormsIdentity
Chúng ta phải thêm mã để xác minh người dùng là đáng tin và lấy về các vai thành viên từ một user store.
Passport
GenericPrincipal + PassportIdentity
Dựa vào Microsoft Passport SDK. PassportIdentity cung cấp truy cập tới vé xác thực passport.
2.1.2. Code Access Security
Bảo mật truy nhập mã cấp quyền cho đoạn mã khi nó cố gắng truy cập tới các tài nguyên được bảo mật như: file system, registry, network,… hoặc khi nó cố gắng thực thi các hoạt động đặc quyền khác như: gọi tới các đoạn mã không được quản lý hoặc sử dụng reflection
Bảo mật truy nhập mã là một kỹ thuật rào cản bổ xung quan trọng, ta có thể sử dụng để cung cấp các ràng buộc vào một phần nhỏ của đoạn mã. Một người quản trị có thể cấu hình chính sách bảo mật truy nhập mã để hạn chế các loại tài nguyên mà mã có thể truy cập và các hoạt động đặc quyền khác có thể thực hiện. Đối với một ứng dụng Web, một kẻ tấn công có thể chiếm điều khiển của một tiến trình của nó hoặc nhúng mã để thực thi bên trong tiến trình đó, các ràng buộc thêm vào mà bảo mật mã cung cấp có thể hạn chế sự phá huỷ khi các hành động này được thực hiện.
Hình 4 minh hoạ hoạt động logic của code access security
Hình 4: Code access security
Việc xác thực mã dựa vào bằng chứng về mã chẳng hạn như: tên, nhà phân phối, thư mục cài đặt. Còn việc chứng thực dựa vào các quyền truy cập mã.
2.1.3. Các không gian tên để xây dựng an toàn các ứng dụng trong .NET Framework
Để lập trình bảo mật trong .NET Framework, chúng ta sử dụng các loại không gian tên bảo mật trong .NET Framework.
Các namespace dùng cho bảo mật:
System.Security
System.Web.Security
System.Security.Cryptography
System.Security.Principal
System.Security.Policy
System.Security.Permissions
Hình 5: Các security namespaces
2.2. Xây dựng các gói assembly an toàn
2.2.1. Các mối đe doạ và biện pháp phòng chống:
Hiểu các mối đe doạ và các kiểu tấn công chung giúp chúng ta nhận ra các phương án phòng chống tương ứng và cho phép chúng ta xây dựng các gói assemblies an hoàn và vững chắc hơn . Các mối đe doạ chính:
Truy cập không được chứng thực hoặc sự vượt quyền, hoặc cả hai.
Nhúng mã.
Phơi bày thông tin.
Làm xáo trộn thông tin
Hình 6: Các mối đe doạ hàng đầu
a. Truy nhập không được chứng thực hoặc vượt quyền, hoặc cả hai
Các rắc rối với truy cập không được chứng thực có thể dẫn tới sự vượt quyền, tức là một người dùng không được chứng thực hoặc mã không được chứng thực có thể gọi thư viện của bạn và thực thi các hoạt động đặc quyền và truy cập tới tài nguyên bị hạn chế.
Các điểm yếu:
Bao gồm:
Sự chứng thực dựa vào vai là yếu ớt hoặc thiếu chặt chẽ.
Các kiểu bên trong và các kiểu thành viên bị phơi bày một cách tình cờ.
Sử dụng các khẳng định truy nhập mã và các yêu cầu liên quan không an toàn.
Không khai báo bịt kín và không hạn chế truy cập các lớp cơ sở, điều này cho phép mã bất kỳ dẫn xuất từ chúng.
Các hành động tấn công:
Bao gồm:
Một tấn công nhử mồi ở nơi mà mã ác ý truy cập vào thư viện của bạn qua một thư viện trung gian đáng tin bằng cách vượt qua các kỹ thuật chứng thực.
Mộ tấn công ở nơi mà mã ác ý vượt qua các điều khiển truy cập bằng việc gọi trực tiếp các lớp mà không định dạng phần API công cộng của thư viện.
Các phương án phòng chống:
Bao gồm:
Sử dụng Role-based authorization để tránh truy cập các điều khiển trên các lớp công cộng và các thành viên lớp.
Hạn chế hiển thị kiểu và thành viên để giới hạn đoạn mã nào là có thể truy cập công cộng.
Đóng kín đoạn mã đăc quyền và đảm bảo việc gọi mã được chứng thực với các yêu cầu quyền tương ứng.
Đóng kín các lớp không cơ sở chưa đóng hoặc hạn chế thừa kế với code access security.
b. Nhúng mã
Kẻ tấn công thực thi mã đặc biệt, mà đoạn mã này sử dụng ngữ cảnh bảo mật mức xử lý của gói assembly. Rắc rối được sinh ra nếu gói assembly gọi mã không được quản lý và nếu gói assembly thực thi một tài khoản đặc quyền.
Các điểm yếu:
Bao gồm:
Kiểm tra dữ liệu vào kém, cụ thể là nơi mà gói assembly triệu gọi tới mã không được quản lý.
Chấp nhận các ứng viên từ mã đáng tin cục bộ.
Các tài khoản sử lý đặc quyền.
Các hành động tấn công:
Bao gồm:
Tràn bộ đệm
đính kèm một ứng viên từ một nguồn không đáng tin.
Các phương án phòng chống:
Bao gồm:
Kiểm tra các tham số đầu vào.
Kiểm tra dữ liệu được truyền qua các API không được quản lý.
Không chấp nhận các ứng viên từ nguồn không đáng tin.
Sử dụng các ứng viên có kiểu mạnh và từ chối các quyền trước khi gọi ứng viên.
Thực thi các gói assembly bằng việc sử dụng các tài khoản ít đặc quyền nhất.
c. Phơi bày thông tin:
Các gói assembly có thể hứng chịu việc phơi bày thông tin nếu chúng rò rỉ những dữ liệu nhạy cảm.
Các điểm yếu:
Bao gồm:
Nắm bắt ngoại lệ yếu ớt.
Khó giữ bí mật mã.
Các hành động tấn công:
Bao gồm:
Cố gắng gây lỗi bằng việc truyền đầu vào nguy hiểm cho gói assembly
Sử dụng ILDASM trong một gói assembly để che kín các thông tin bí mật.
Các phương án phòng chống:
Bao gồm:
Kiểm tra chặt chẽ đầu vào.
Nắm bắt ngoại lệ có cấu trúc và trả về các lỗi chung cho máy khách.
Không lưu thông tin bí mật trong mã.
d. Xáo trộn thông tin:
Các rắc rối với sự xáo trộn thông tin là gói assembly của ta bị chỉnh sửa bằng việc lựa chọn các chỉ thị MSIL trong các file DLL hoặc EXE.
Các điểm yếu:
Điểm yếu nói riêng làm cho gói assembly có nguy cơ bị xáo trộn thông tin là sự thiếu một tên tốt.
Các hành động tấn công:
Bao gồm:
Thực thi trực tiếp các chỉ thị MSIL
Đảo các chỉ thị MSIL
Các phương án phòng chống:
Để chống lại hiểm hoạ xáo trộn thông tin, ta sử dụng một tên tốt cho gói assembly với một khoá riêng. Khi một gói assembly đã đăng ký được triệu gọi, ngôn ngữ thực thi chung sẽ dò tìm xem gói assembly có bị chỉnh sửa hay không, nếu bị chỉnh sửa nó sẽ không được triệu gọi.
2.2.2. Các lưu ý khi thiết kế gói assembly
Một trong những vấn đề quan trọng nhất khi thiết kế một gói assembly là mức độ tin cậy của môi trưòng mà gói assembly này được sử dụng. Nó ảnh hưởng tới các quyền bảo mật truy nhập mã được cấp cho mã của chúng ta và với mã gọi mã của chúng ta. Điều này được xác định bởi chính sách bảo mật truy nhập mã được định nghĩa bởi người quản trị và nó ảnh hưởng tới các loại tài nguyên mà mã của chúng ta được cho phép để truy cập và các hoạt động đặc quyền khác có thể thực thi.
Khi thiết kế một gói assembly, ta nên:
Xác định mã đặc quyền
Xác định mức độ tin cậy của môi trường mà gói assembly sẽ thực thi
Đóng gói các mã đặc quyền cấp cao
Thiết kế giao diện công cộng.
2.2.3. Các lưu ý khi thiết kế lớp
Hạn chế hiển thị lớp và thành viên
Che kín các lớp cơ sở chưa che đậy
Hạn chế người dùng có thể gọi mã
Phơi bày các trường bằng cách sử dụng các thuộc tinh.
2.3. Xây dựng thành phần dịch vụ an toàn
Các dịch vụ COM+ được biết như Enterprise Services, có thể được truy cập từ mã được quản lý. Các ứng dụng Enterprise Services bao gồm một hay nhiều các thành phần dịch vụ, đó là các lớp được quản lý dẫn xuất từ System.EnterpriseServices.Serviced Component.
Các thành phần dịch vụ cơ bản được dùng để đóng gói mức logic nghiệp vụ và truy cập dữ liệu của ứng dụng và được dùng khi các dịch vụ hạ tầng như giao dịch phân tán, thu thập đối tượng, các thành phần hàng đợi, và các dịch vụ khác được yêu cầu ở tầng giữa của ứng dụng. Các ứng dụng dịch vụ Enterprise Services thường nằm cạnh các server ứng dụng tầng giữa.
Hình 7: Các thành phần dịch vụ trong một ứng dụng Enterprise Services tầng giữa.
2.3.1. Các mối hiểm hoạ và các biện pháp phòng chống
Các mối hiểm hoạ bao gồm:
Nghe lén mạng
Truy cập trái phép
Sự uỷ quyền không được ràng buộc
Phơi bày dữ liệu cấu hình.
Sự từ chối.
Hình 8: Enterprise Services threats
a. Nghe lén mạng
Các ứng dụng Enterprise Service thường chạy trên các server ứng dụng tầng giữa, từ Web server từ xa. Vì vậy các dữ liệu nhạy cảm phải được bảo vệ tránh những kẻ nghe lén mạng. Ta có thể sử dụng Internet Protocol Security (IPSec) để mã hoá kênh truyền giữa server Web và ứng dụng. Giải pháp này thường được sử dụng tại các trung tâm dữ liệu Internet. Các thành phần dịch vụ cũng hỗ trợ xác thực gói tin triệu gọi từ xa (RPC), nó cung cấp kỹ thuật mã hoá theo gói.
b. Truy cập không được chứng thực
Cho phép chứng thực dựa vào vai COM+ ta có thể ngăn truy cập ẩn danh và cung cấp chứng thực dựa vào vai để điều khiển truy cập tới các hoạt động bị hạn chế
c. Sự uỷ quyền không được ràng buộc
Nếu ta cho phép uỷ quyền trên Windows 2000 để cho phép một server từ xa truy cập tài nguyên mạng bằng cách sử dụng thẻ ẩn danh của client thì sự uỷ quyền không bị ràng buộc. Nghĩa là không hạn chế số bước nhảy mạng có thể được tạo ra.
d. Phơi bày dữ liệu cấu hình
Nhiều ứng dụng lưu dữ liệu nhạy cảm như chuỗi kết nối trong COM+ catalog bằng cách sử dụng chuỗi khởi tạo dối tượng. Các chuỗi này được lấy về và được truyền tới một đối tượng bởi COM+ khi đối tượng được tạo. Dữ liệu cấu hình nhạy cảm nên được mã hoá lưu trong catalog.
d. Sự từ chối
Hiểm họa từ chối xảy ra khi một người dùng từ chối việc thực thi một hoạt động hoặc một giao tác, và ta không có đủ bằng chứng để chống lại yêu cầu đó. Ta cần theo dõi qua tất cả các tầng ứng dụng. Các thành phần dịch vụ nên ghi lại hoạt động của người dùng ở tần giữa. Các thành phần dịch vụ thường có quyền truy cập tới các đặc tính nhận dạng của lần triệu gọi khởi tạo vì các ứng dụng Web font-end thường cho ph