HướngdẫnvềPKI–Phần2:Thiếtkế Ngu ồn : quantrimang.com Martin Kiaer Trong phần đầu tiên của loạt bài hướngdẫnvềPKI này, chúng ta đã có được một cái nhìn tổng quan về cách chuẩn bị và lên kế hoạch cho PKI của bạn. Trong phần hai này, chúng tôi sẽ tiếp tục giới thiệu với thêm một chút kỹ thuật. Chúng ta sẽ xem xét một số vấn đề vềthiếtkế PKI. Xuyên suốt trong toàn bộ bài này, chúng tôi sẽ giới thiệu đến bạn cách để tránh nhữ ng lỗi chung nhất trong quá trình thiết kế. Thiếtkế một PKI Khi thiếtkế một PKI, có rất nhiều thứ mà bạn cần phải xem xét đến: • Kiến trúc của CA sẽ như thế nào (ví dụ như số lượng CA và những role gì sẽ có) • Bạn muốn bảo vệ như các khóa riêng của CA như thế nào • Nơi nào bạn muốn tạo các điểm công bố Chúng ta hãy xem xét sâu hơn nữa trong các vấn đề trên Tạo kiến trúc CA có khả năng mở rộng tốt Số lượng và các mức của CA bạn nên bổ sung cơ bản dựa vào sự bảo mật của bạn và các yêu cầu về khả năng sẵn có. Bạn nên cố gắng tổ chức kiến trúc của mình theo những gì cần thi ết. Thực sự không có một kinh nghiệm tốt nhất nào trong việc chọn bao nhiêu mức CA bạn cần, tuy vậy thật hiếm khi có ai cần đến trên bốn mức; mặc dù vậy vẫn có một nguyên tắc mà chúng tôi đã liệt kê trong bảng 1 dưới đây giúp bạn đi đúng hướng: Mức CA Chú thích - Độ bảo mật thấp - Các yêu cầu cần thiếtvề bảo mật CA thấp hơn - Gồm một CA gốc - Số lượng nhỏ các yêu cầu chứng chỉ - Độ bảo mật trung bình - Gồm một CA gốc offline và các CA cấp dưới online - CA gốc offline được xóa khỏi mạng - Đưa ra các CA online trên mạng - Có từ hai CA trở lên đưa ra với mỗi chứng chỉ - Độ bảo mật cao - Gồm có CA gốc offline và chính sách offline - Một hoặc nhiều CA thứ cấp online - Hợp với khu vực địa lý rộng và các tổ chức bảo mật cao Bảng 1: Số các mức CA cần thiết Như một lưu ý bổ sung, bạn có thể nhớ lại từ phần 1 của loạt bài này, có một thứ được gọi là chính sách chứng chỉ dùng để mô tả cách và ai phát hành/phân phối các chứng chỉ đối với một chủ đề (ví dụ các chủ đề về người dùng đang tồn tại, các máy tính, thiết bị,…). Nếu bạn đã từng có lúc nghĩ mình cần nhiều hơn một chính sách chứng chỉ vì sự hợp lệ, tính địa lý, tính tổ chức hoặc cách sử dụng chứng chỉ thì cần phải định nghĩa một kiến trúc 3 mức, yêu cầu này sẽ cần đến 2 hoặc nhiều CA chính sách ở mức 2 (các CA chính sách). Khi thực thi một PKI, bạn sẽ luôn luôn phải bắt đầu với một CA gốc, hoàn toàn không quan trọng khi chúng ta xử lý với một kiến trúc PKI mứ c 1, mức 2 hay mức 3. Khi CA gốc luôn là CA gốc và thường được thực thi bởi tự nó thì bạn cần phải bảo vệ khóa riêng của CA gốc một cách tốt nhất có thể. Điều này luôn luôn cần phải chú ý, không quan tâm đến việc kiến trúc PKI của bạn gồm bao nhiêu mức. Nếu kiến trúc PKI của bạn gồm có hai mức hoặc nhiều hơn thì CA gốc cần có một số lượng tối thiểu s ự truy cập, vì chỉ có các CA cấp thứ mới yêu cầu sự truy cập vào CA gốc. Mặc dù vậy, khi khoảng cách từ CA gốc tăng (nghĩa là có nhiều mức được bổ sung), các yêu cầu bảo mật sẽ giảm và sự truy cập tăng đối với các CA cấp thứ. Đây sẽ là một hệ số quan trọng khi chúng ta bắt đầu cài đặt các CA, thứ mà chúng tôi sẽ giới thiệu đến trong phần sau. Các khóa riêng CA Trước khi cài đặt một CA, bạn nên có một kế hoạch về kích thước của khóa riêng CA sẽ là bao nhiêu và nó được bảo vệ như thế nào. Chúng ta hãy xem xét đến kích thước khóa, điều rất quan trọng cho lý do bảo mật và khả năng tương thích. Bảng 2 dưới đây liệt kê các kích thước khóa được khuyến khích: CA role Kích thước khóa Root CA 4096 Policy CA 4096 Issuing CA 2048 Bảng 2: Một số kích thước khóa CA Thông thường, kích thước khóa 4096 được khuyến khích sử dụng để tăng độ bảo mật, đặc biệt cho CA gốc. Mặc dù vậy, điều này có thể phát sinh các vấn đề không tương thích, ví dụ với các sản phẩm mạng của Cisco (phụ thuộc vào phiên bản nào Cisco IOS đang được sử dụng). Điều này là do nhiều sản phẩm của nhóm sản xuất thứ ba có các vấn đề trong việc quản lý kích thước khóa lớn hơn 2048. Và khi thiết bị mạng có thể được tích hợp trong các giải pháp như 802.1x cho vấn đề hợp lệ và tính nguyên tắc thì kích thước khóa sẽ có tính chất quan trọng. Vì vậy bạn phải bảo đảm rằng biết được thiết bị gì sẽ được sử dụng và các hạn chế nào có thể xảy ra đối với việc quản lý chứng chỉ tr ước khi bắt đầu thực thi một PKI. Khi đã định nghĩa kích thước khóa CA bạn muốn sử dụng thì chúng ta sẽ xem xét đến cách khóa riêng của CA sẽ được bảo vệ như thế nào. Bảo vệ khóa riêng CA Mặc định, CA sử dụng Cryptographic Service Provider (CSP) của Microsoft và bảo vệ khóa riêng của nó với sự trợ giúp của Data Protection API (DPAPI). Điều này gây ra một vấn đề, do tất cả các thành viên của nhóm quản trị viên đề u có quyền truy cập đối với khóa riêng của CA và bất kỳ thành viên nào của nhóm này cũng đều có thể export khóa riêng CA, có thể tạo một CA giả mạo mới và đi kèm với nó là các chứng chỉ giả mạo. Các thách thức khác về bảo mật cũng tồn tại như những tấn công tràn bộ đệm từ các phần mềm mã độc. Vậy bạn nên làm gì? Bạn cần phải cân bằng các yêu cầu bảo mậ t với chi phí và khả năng sử dụng liên quan đến sự bảo vệ khóa riêng của CA. Trong bảng 3 dưới đây, chúng tôi đã liệt kê một số phương pháp chung nhất để bảo vệ khóa riêng của CA. Chúng tôi sẽ để cho bạn đánh giá dưới dạng cách tốt nhất để bảo vệ khóa riêng CA như thế nào. Hãy nhớ rằng điều này có thể là thành phần quan trọng nhất để bảo vệPKI củ a bạn. Phương pháp bảo vệ Điểm mạnh Điểm yếu Lưu chứng chỉ cục bộ - Dễ thực thi (mặc định) - Chi phí thấp - Độ bảo mật thấp - CSP chỉ là FIPS 140-1 compliant Chứng thực dựa trên chip (thẻ thông minh hoặc USB Token) - Dễ thực thi - Chi phí thấp - FIPS 140-2 compliant - Độ bảo mật vật lý thấp vì thẻ thông minh có thể dễ bị mất cắp hoặc đánh rơi. - Yêu cầu sự hiện diện mặt vật lý khi các dịch vụ chứng chỉ được bắt đầu - Yêu cầu CSP đặc biệt là cả FIPS 140-2 compliant và các dịch vụ h ỗ trợ chứng chỉ Microsoft. Các máy ảo được mã hóa - Dễ triển khai - Chi phí thấp - Không phần cứng - Tính phụ thuộc - FIPS 140-2 compliant - Độ bảo mật trung bình - Dễ bị xâm hại bằng các tấn công analog vì máy tính ảo gồm có ổ đĩa cứng hoặc DVD dễ bị mất hoặc lấy trộm Modul bảo mật phần cứng (HSM) - Mức bảo mật rất cao - FIPS 140-2 mức 2 và 3 compliant - Có thể là PCI hoặc LAN - Có thể được sử dụng như các bộ trợ giúp cho SSL. - Chi phí cao (phụ thuộc vào cấu hình) - Yêu cầu sự cẩn trọng và lập kế hoạch tỉ mỉ Bảng 3: Một số phương pháp chung để bảo vệ khóa riêng CA. Bổ sung thêm vào những phương pháp đã được liệt kê trong bảng 3, bạn cũng muốn tăng độ bảo mật của CA bằng việc bảo đảm tất cả CA, ngoại trừ việc phát hành các CA được giữ offline. Bằng cách này chúng sẽ xuất hiện ít trên mạng và chỉ được kết nối vào mạng khi CRL và đã phát hành các chứng chỉ cho các CA khi có những sự thay đổi mới cần thiết với PKI của bạn. Hầu như, các CA gốc và chính sách đều được tắt một cách toàn bộ, tuy nhiên điều này sẽ phụ thuộc vào mức bảo mật vật lý của bạn tốt như thế nào và các khóa riêng của CA được bảo vệ tốt ra sao cũng phần cứng có khả năng tin cậy như thế nào. Nơi tạo các điểm công bố Vùng cuối cùng mà chúng ta sẽ tập trung trước khi bắt đầu thực thi PKI là vị trí công bố Certificate Revocation Lists (CRL) và các khóa công khai của CA. Điều này có thể được hiểu như các điểm phân phối chứng chỉ Certificate Distribution Points (CDP). Có các giao thức khác nhau chúng ta có thể sử dụng để định nghĩa CDP và chúng được liệt kê dưới đây: • HTTP • LDAP (trong thế giới Microsoft thông thường có nghĩa là Active Directory) • FTP • File share (SMB) Trong hình 1 bên dưới, chúng tôi đã minh chứng nơi công bố CRL và các khóa công khai CA cùng với thứ tự các giao thức được khuyến cáo sử dụng với nó. Hình 1: Thứ tự giao thức CDP được khuyến cáo Như những gì bạn có thể thấy, giao thức chính được khuyến khích ở đây là HTTP và cũng có lý do cho sử dụng giao thức này đó là: HTTP là một giao thức tốt nhất cho cả các điểm công bố bên trong và ngoài. Nó rất hoàn hảo nếu bạn bạ n cần phải phát hành các chứng chỉ cho cả người dùng bên trong và bên ngoài tại cùng một thời điểm. Đặc biệt cách sử dụng bên ngoài rất quan trọng cần phải xem xét, vì bạn sẽ phải bảo đảm rằng các chứng chỉ đã sử dụng cho truy cập VPN, NAQ hay Wi-Fi đó được kiểm tra hủy bỏ trước khi người dùng được phép truy cập vào mạng bên trong. Bạn cũng cần phải chú ý rằng nếu một CDP không có sẵn cho giao thức đã được cấp thì nó sẽ time-out (thườ ng sau 30s) và chuyển đến giao thức kế tiếp trên danh sách. Vì vậy bằng việc có cấu hình đúng ngay từ đầu là một điều quan trọng và cần thiết đối với cảm nhận người dùng, vì CRL có thể được kiểm tra từ các vị trí bên trong và ngoài mà không có các vấn đề time-out và không có việc gây tổn thất cài đặt bảo mật mạng của bạn. Mặc dù vậy, nếu bạn có một lý do chọn giao thức mặc đị nh là LDAP thì cũng không có điều gì phải lo lắng lắm đặc biệt nếu PKI của bạn sẽ chỉ được sử dụng cho mục đích bên trong. Bạn cũng cần phải thận trọng rằng nếu sử dụng một Active Directory có tích hợp PKI và phát hành các chứng chỉ đến người dùng bên ngoài thì có thể chúng sẽ cần thực thi các truy vấn LDAP đối với Active Directory của bạn (thừa nhận rằng bạn sử d ụng Active Directory như một kho chứa CDP LDAP). Mặc dù vậy bạn nên bảo đảm có một cài đặt web server dự phòng, sử dụng cài đặt luân chuyển vòng DNS khi giao thức ưa thích là HTTP. Nếu muốn sử dụng LDAP thì bạn cần phải có một cài đặt dự phòng khi có hai hoặc nhiều bộ điều khiển trong miền của mình. Kết luận Trong phần 2 này, chúng tôi đã giới thiệu cho các bạn một số hướng d ẫn và những lời khuyên bổ ích về cách thiếtkế tốt nhất như thế nào với một PKI có cả các CA offline và online. Các bạn nên nghiên cứu đến các bảng và hình trong phần này vì chúng gồm có rất nhiều chi tiết cần thiết cho việc thực hành. Trong phần tiếp theo của loạt bài này (phần 3), chúng tôi sẽ sử dụng thực hành tốt nhất cho việc thiếtkế từ phần hai này và giới thiệu cho các bạn cách cài đặt PKI từng bước một. . Hướng dẫn về PKI – Phần 2: Thiết kế Ngu ồn : quantrimang.com Martin Kiaer Trong phần đầu tiên của loạt bài hướng dẫn về PKI này, chúng. đề về thiết kế PKI. Xuyên suốt trong toàn bộ bài này, chúng tôi sẽ giới thiệu đến bạn cách để tránh nhữ ng lỗi chung nhất trong quá trình thiết kế. Thiết