Một số giao thức, chẳng hạn như HTTPS, sử dụng SSL (Secure Sockets Layer) hoặc TLS (Transport Layer Security - phiên bản nâng cấp của SSL) để mã hóa lưu lượng nhằm đảm bảo an toàn cho dữ liệu được truyền. Vì bản chất hệ thống không thể kiểm tra các kết nối bị mã hóa nên để kiểm tra được tính an toàn cũng như áp dụng các chính sách cho dữ liệu này thì trước hết ta cần phải giải mã chúng. SSL Decryption Policy FTD của Cisco cung cấp khả năng kiểm tra nội dung được mã hóa SSL qua mạng, ví dụ như kết nối HTTPS.
Có 2 phương pháp mà SSL Decryption sử dụng:
Trong bài viết này mình sẽ hướng dẫn các bạn cách tạo chứng chỉ FTD nội bộ đồng thời cách cấu hình chính sách SSL Decryption trên FTD.
I. Tạo chứng chỉ CA Internal trên Cisco FTD
Như mình đã đề cập đến phương pháp đầu tiên Decrypt Re-Sign thì FTD sẽ dùng chứng chỉ của chính nó để cấp cho người dùng trong mạng thay vì sử dụng chứng chỉ của server thực và yêu cầu tất cả người dùng phải trust chứng chỉ này.
Bước 1: Truy cập GUI FMC quản trị FTD, vào phần Objects > Object Management > PKI > Internal CAs > Generate CA:
Bước 2: Điền thông tin CA và chọn chọn Generate self-signed CA (lưu ý điều này chỉ nên áp dụng trong môi trường lab thôi nhé):
Sau đó các bạn tiến hành chọn Edit vào Certificate vừa được tạo, chọn Download:
Hệ thống sẽ yêu cầu các bạn tạo Password để mã hóa file certificate này, các bạn điền thông tin và chọn OK:
Bước 3: Sau khi đã lưu certificate tiến hành đưa về máy người dùng, mở file certificate, chọn Next:
Chọn nơi lưu và chọn Next:
Điền Password (được tạo ở bước Download Certificate) và chọn Next:
Tiếp tục chọn Next:
Chọn Finish để tiến thành trust Certificate trên máy người dùng.
Bước 4: Để kiểm tra Certificate đã được thêm thành công chưa thì chúng ta vào Start tìm mở ứng dụng Manage Computer Certificate (certmgr), mở phần Personal > Certificates:
II. Cấu hình chính sách SSL để Giải mã và Re-Sign
Tiếp theo chúng ta sẽ cấu hình Chính sách SSL, trong ví dụ này mình sẽ Giải mã các web HTTPS ngoại trừ trang cisco.com
Bước 1: Để trust certificate trong chính sách SSL, truy cập vào phần Policies > SSL > New Policy:
Điền tên chính sách và chọn Save:
Bước 2: Ở trong phần Edit Policy, tại mục Rules chọn Add Rule, điền các thông tin như hình và chọn Add:
Tạo 1 Rule khác như hình:
Như vậy ta sẽ có 2 Rule như hình, lưu ý Default Action sẽ là Do not decrypt và chọn Save để lưu thông tin cấu hình:
Bước 3: Kích hoạt Chính sách SSL trong ACL bằng cách truy cập vào phần và chọn SSL Policy, sau đó sổ chọn chính sách SSL vừa tạo và chọn OK:
Bước 4: Chọn Save để lưu thay đổi:
Có 2 phương pháp mà SSL Decryption sử dụng:
- Decrypt Re-Sign: Áp dụng trong trường hợp người dùng bên trong mạng muốn duyệt các trang web HTTPS nằm bên ngoài hệ thống, khi đó Cisco FTD sẽ giải mã nội dung của trang web này, sau khi kiểm tra các thông tin được giải mã, nội dung sẽ được mã hóa lại và ký (sign) trước khi chuyển đến cho người dùng. Với phương pháp này, Cisco FTD sẽ cấp chứng chỉ riêng cho người dùng nội bộ và người dùng cũng cần trust chứng chỉ của FTD.
- Decypt Known Key: Phương pháp thứ hai này sử dụng trong trường hợp trang web hay server nằm bên trong mạng nội bộ, khi đó người dùng bên ngoài mạng muốn truy cập dịch vụ từ server/ trang web nội bộ thì Cisco FTD sẽ giải mã nội dụng của các truy cập này để ngăn chặn các thông tin độc hại muốn tiếp cận các server bên trong mạng nội bộ, và sau khi đã kiểm tra nội dung sẽ được chuyển tiếp đến các server trong mạng. Để áp dụng phương pháp này, Cisco FTD cần có chứng chỉ của server và khóa riêng của nó để có thể giải mã tất cả nội dung từ người dùng bên ngoài đến server này. Bên cạnh đó, sau khi kiểm tra Cisco FTD có thể lựa chọn chuyển tiếp nội dung dưới dạng Clear Text (SSL offloading) hoặc được mã hóa đến server.
Trong bài viết này mình sẽ hướng dẫn các bạn cách tạo chứng chỉ FTD nội bộ đồng thời cách cấu hình chính sách SSL Decryption trên FTD.
I. Tạo chứng chỉ CA Internal trên Cisco FTD
Như mình đã đề cập đến phương pháp đầu tiên Decrypt Re-Sign thì FTD sẽ dùng chứng chỉ của chính nó để cấp cho người dùng trong mạng thay vì sử dụng chứng chỉ của server thực và yêu cầu tất cả người dùng phải trust chứng chỉ này.
Bước 1: Truy cập GUI FMC quản trị FTD, vào phần Objects > Object Management > PKI > Internal CAs > Generate CA:
Bước 2: Điền thông tin CA và chọn chọn Generate self-signed CA (lưu ý điều này chỉ nên áp dụng trong môi trường lab thôi nhé):
Sau đó các bạn tiến hành chọn Edit vào Certificate vừa được tạo, chọn Download:
Hệ thống sẽ yêu cầu các bạn tạo Password để mã hóa file certificate này, các bạn điền thông tin và chọn OK:
Bước 3: Sau khi đã lưu certificate tiến hành đưa về máy người dùng, mở file certificate, chọn Next:
Chọn nơi lưu và chọn Next:
Điền Password (được tạo ở bước Download Certificate) và chọn Next:
Tiếp tục chọn Next:
Chọn Finish để tiến thành trust Certificate trên máy người dùng.
Bước 4: Để kiểm tra Certificate đã được thêm thành công chưa thì chúng ta vào Start tìm mở ứng dụng Manage Computer Certificate (certmgr), mở phần Personal > Certificates:
II. Cấu hình chính sách SSL để Giải mã và Re-Sign
Tiếp theo chúng ta sẽ cấu hình Chính sách SSL, trong ví dụ này mình sẽ Giải mã các web HTTPS ngoại trừ trang cisco.com
Bước 1: Để trust certificate trong chính sách SSL, truy cập vào phần Policies > SSL > New Policy:
Điền tên chính sách và chọn Save:
Bước 2: Ở trong phần Edit Policy, tại mục Rules chọn Add Rule, điền các thông tin như hình và chọn Add:
Tạo 1 Rule khác như hình:
Như vậy ta sẽ có 2 Rule như hình, lưu ý Default Action sẽ là Do not decrypt và chọn Save để lưu thông tin cấu hình:
Bước 3: Kích hoạt Chính sách SSL trong ACL bằng cách truy cập vào phần và chọn SSL Policy, sau đó sổ chọn chính sách SSL vừa tạo và chọn OK:
Bước 4: Chọn Save để lưu thay đổi: