Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. thông tin
Edge cho phép bạn tạo các máy chủ ảo hỗ trợ TLS một chiều và hai chiều. Với TLS một chiều, ứng dụng sẽ đưa ra yêu cầu phiên cho một máy chủ ảo được triển khai trên Bộ định tuyến Edge và Bộ định tuyến sẽ phản hồi bằng một chứng chỉ chứa khoá công khai của máy chủ ảo. Đối với chứng chỉ đã ký, ứng dụng có thể gửi yêu cầu tới Tổ chức phát hành chứng chỉ (CA) để xác thực chứng chỉ.
Trong TLS hai chiều, cả ứng dụng khách và Edge đều chuyển các chứng chỉ được xác thực theo yêu cầu:
- Bộ định tuyến Edge hiển thị chứng chỉ cho ứng dụng TLS để tự xác thực. Sau đó, ứng dụng sẽ xác minh danh tính của máy chủ trước khi gửi chứng chỉ đến máy chủ.
- Ứng dụng TLS hiển thị chứng chỉ cho Edge để tự xác thực.
Hãy xem bài viết Giới thiệu về máy chủ ảo để biết thêm thông tin.
Ghi lại thông tin kết nối TLS
Trong khi yêu cầu proxy API thông qua một máy chủ ảo hỗ trợ TLS, Edge có thể thu thập thông tin về kết nối TLS. Sau đó, proxy API của bạn có thể truy cập thông tin đó thông qua các biến luồng để thực hiện việc phân tích và xác thực bổ sung.
Loại thông tin TLS mà Edge ghi lại tuỳ thuộc vào việc máy chủ ảo có hỗ trợ TLS một chiều hay hai chiều. Ví dụ: đối với TLS một chiều, Edge có thể thu thập thông tin về thuật toán mật mã TLS hoặc giao thức TLS dùng trong kết nối TLS.
Đối với TLS hai chiều, Edge có thể thu thập tất cả thông tin giống như được ghi lại cho TLS một chiều, đồng thời thu thập thông tin về chứng chỉ của ứng dụng. Ví dụ: Edge có thể ghi lại vân tay số SHA1 của chứng chỉ ứng dụng và chứng chỉ ứng dụng ở định dạng PEM.
Thu thập thông tin cho cả TLS một chiều và hai chiều
Bảng sau đây liệt kê những biến luồng chứa thông tin kết nối TLS mà Edge ghi lại và có thể truy cập trong proxy API. Thông tin này được ghi lại cho cả TLS một chiều và hai chiều bằng cách đặt <ConnectionProperties>
thành true trong định nghĩa máy chủ ảo:
Biến luồng | Mô tả |
---|---|
tls.cipher
|
Thuật toán mật mã mà kết nối TLS sử dụng. |
tls.protocol
|
Giao thức mà kết nối TLS sử dụng. |
tls.server.name
|
Tên máy chủ KDDI được yêu cầu. |
tls.session.id
|
Giá trị nhận dạng phiên. Biến luồng này sẽ có sẵn khi bạn đặt |
Thu thập thông tin TLS bổ sung trong TLS hai chiều
Bảng sau đây liệt kê các biến luồng chứa thông tin chi tiết về chứng chỉ ứng dụng khách do Edge ghi lại trong TLS hai chiều. Thông tin này được ghi lại cho TLS hai chiều bằng cách đặt <ClientProperties>
thành true trong định nghĩa máy chủ ảo:
Biến luồng | Mô tả |
---|---|
tls.client.s.dn
|
Tên phân biệt chủ đề (DN) của chứng chỉ ứng dụng. |
tls.client.i.dn
|
Nhà phát hành Tên phân biệt (DN) của chứng chỉ ứng dụng. |
tls.client.raw.cert
|
Chứng chỉ ứng dụng ở định dạng PEM. |
tls.client.cert.serial
|
Số sê-ri của chứng chỉ ứng dụng. |
tls.client.cert.fingerprint
|
Vân tay số SHA1 của chứng chỉ ứng dụng. |
tls.session.id
|
Giá trị nhận dạng phiên. Biến luồng này sẽ có sẵn khi bạn đặt |
Định cấu hình máy chủ ảo để thu thập thông tin TLS
Để định cấu hình máy chủ ảo nhằm thu thập thông tin TLS, hãy thiết lập các thuộc tính sau trong <PropagateTLSInformation>
thành true
.
<ConnectionProperties>
: Bật tính năng thu thập thông tin kết nối TLS cho cả TLS một chiều và hai chiều. Giá trị mặc định làfalse
.<ClientProperties>
: Bật tính năng thu thập thông tin bổ sung cho TLS hai chiều. Giá trị mặc định làfalse
.
Ví dụ: định nghĩa máy chủ ảo sau đây sử dụng TLS hai chiều và cho phép thu thập cả hai loại thông tin TLS:
<VirtualHost name="secure"> .... <SSLInfo> <Enabled>true</Enabled> # Enable two-way TLS. <ClientAuthEnabled>true</ClientAuthEnabled> <IgnoreValidationErrors>false</IgnoreValidationErrors> <KeyAlias>ks-alias</KeyAlias> <KeyStore>ref://ks-ref</KeyStore> <TrustStore>ref://ts-ref</TrustStore> </SSLInfo> <PropagateTLSInformation> <ConnectionProperties>true</ConnectionProperties> <ClientProperties>true</ClientProperties> </PropagateTLSInformation> </VirtualHost>
Nếu bạn đang truyền nội dung JSON, hãy đặt các thuộc tính như sau:
"propagateTLSInformation" : { "connectionProperties" : true, "clientProperties" : true }
Đặt giới hạn kích thước tiêu đề
Khi bạn bật tính năng thu thập thông tin TLS trên máy chủ ảo, Edge sẽ truyền thông tin đó bằng các tiêu đề HTTP. Do đó, bạn phải đảm bảo giới hạn kích thước tiêu đề được thiết lập phù hợp dựa trên việc bạn dùng Edge cho Đám mây hay Edge cho Đám mây riêng tư:
- Edge for the Cloud (Cạnh cho đám mây): Apigee đặt kích thước tiêu đề một cách phù hợp.
- Edge for the Private Cloud (Cạnh tranh cho đám mây riêng tư): Không có tính năng.
Truy cập vào các biến luồng trong proxy API
Trong proxy API của mình, bạn có thể truy cập và kiểm tra các biến luồng TLS. Ví dụ: bạn có thể sử dụng chính sách AssignMessage để truy cập vào các thư đó, truy cập chúng trong JavaScript bằng chính sách JavaScript.
Bạn cũng có thể tham chiếu các biến luồng trong phần tử <Condition>
của proxy hoặc luồng mục tiêu, hay trong <Step>
hoặc <RouteRule>
. Ví dụ: bạn có thể định tuyến một yêu cầu đến các mục tiêu khác nhau dựa trên SN của ứng dụng.
Để biết thêm thông tin, hãy xem bài viết: