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

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

doc68 trang | Chia sẻ: tuandn | Lượt xem: 2197 | Lượt tải: 1download
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