Edge for Private Cloud phiên bản 4.19.01
Tính năng mTLS của Apigee tăng cường bảo mật cho hoạt động liên lạc giữa các thành phần trong Edge cho cụm Đám mây riêng tư.
Tổng quan về cấu trúc
Để cung cấp khả năng giao tiếp an toàn giữa các thành phần, Apigee mTLS sử dụng một lưới dịch vụ thiết lập các kết nối TLS an toàn, được xác thực lẫn nhau giữa các thành phần.
Hình ảnh sau đây cho thấy các kết nối giữa các thành phần Apigee mà Apigee mTLS bảo mật (in red). Các cổng hiển thị trong hình ảnh là ví dụ; hãy tham khảo phần Sử dụng cổng để biết danh sách các dải ô mà mỗi thành phần có thể sử dụng.

(Xin lưu ý rằng các cổng có chữ "M" được dùng để quản lý thành phần và phải được mở trên thành phần để Máy chủ quản lý có thể truy cập.)
Như bạn có thể thấy trong sơ đồ trên, Apigee mTLS tăng cường bảo mật cho các kết nối giữa hầu hết thành phần trong cụm, bao gồm:
| Nguồn | Đích đến | |
|---|---|---|
| Máy chủ quản lý | Các nút Bộ định tuyến, MP, QPid, LDAP, Postgres, Zookeeper và Cassandra | |
| Bộ định tuyến | Loopback; các nút Qpid, Zookeeper và Cassandra | |
| Bộ xử lý thông báo | Loopback; các nút Qpid, Zookeeper và Cassandra | |
| ZooKeeper và Cassandra | Các nút Zookeeper và Cassandra khác | |
| Giao diện người dùng Edge | SMTP (chỉ dành cho IDP bên ngoài) | |
| Postgres | Các nút Postgres, Zookeeper và Cassandra khác |
Mã hoá/giải mã thư
Lưới dịch vụ mTLS của Apigee bao gồm các máy chủ Consul chạy trên mỗi nút ZooKeeper trong cụm của bạn và các dịch vụ Consul sau đây trên mọi nút trong cụm:
- Proxy đầu ra chặn các tin nhắn đi trên nút máy chủ. Dịch vụ này mã hoá tin nhắn đi trước khi gửi đến đích.
- Một proxy đầu vào chặn các tin nhắn đến trên nút máy chủ. Dịch vụ này giải mã các tin nhắn đến trước khi gửi đến đích đến cuối cùng.
Ví dụ: Khi Máy chủ quản lý gửi một tin nhắn đi đến Bộ định tuyến, dịch vụ proxy đầu ra sẽ chặn tin nhắn đi, mã hoá tin nhắn đó rồi gửi đến Bộ định tuyến. Khi nút của Bộ định tuyến nhận được thông báo, dịch vụ proxy đầu vào sẽ giải mã thông báo rồi chuyển thông báo đó đến thành phần Bộ định tuyến để xử lý.
Tất cả những điều này đều diễn ra một cách minh bạch đối với các thành phần Edge: chúng không biết về quá trình mã hoá và giải mã do các dịch vụ proxy Consul thực hiện.
Ngoài ra, Apigee mTLS sử dụng tiện ích iptables, một dịch vụ tường lửa Linux quản lý việc chuyển hướng lưu lượng truy cập.
Yêu cầu
Apigee mTLS cung cấp một cách thức theo tiêu chuẩn ngành để định cấu hình và cài đặt lưới dịch vụ. Công cụ này hỗ trợ quản lý gói và tự động hoá cấu hình.
Vì các dịch vụ proxy Consul được liên kết chặt chẽ dưới dạng chỉ định cổng cho từng quy trình, nên việc thay đổi một nút sẽ ảnh hưởng đến mọi nút khác. Do đó, nếu cấu trúc liên kết thay đổi, bạn phải định cấu hình lại và khởi chạy lại các dịch vụ trên mọi nút trong cụm.
Trước khi có thể cài đặt Apigee mTLS, môi trường của bạn phải đáp ứng các yêu cầu sau được mô tả trong phần này.
Các yêu cầu này bao gồm:
- Phiên bản Edge cho Private Cloud
- Một bộ tiện ích đã được cài đặt và bật
- Tài khoản người dùng có cấp quyền phù hợp
- Máy quản trị (nên dùng)
Yêu cầu đối với Edge cho Private Cloud
Apigee mTLS hỗ trợ phiên bản Edge sau đây cho Đám mây riêng tư (nhưng không hỗ trợ trên tất cả các nền tảng được hỗ trợ, như mô tả trong phần Yêu cầu về hệ điều hành):
- 4.19.06
- 4.19.01
Apigee mTLS yêu cầu cụm Đám mây riêng tư của bạn sử dụng cấu trúc liên kết bao gồm ít nhất ba nút Zookeeper. Do đó, bạn chỉ có thể cài đặt Apigee mTLS trên các cấu trúc liên kết sử dụng 5, 9, 12 (nhiều trung tâm dữ liệu) hoặc 13 nút. Để biết thêm thông tin, hãy xem phần Cấu trúc liên kết cài đặt.
Yêu cầu về hệ điều hành
Apigee mTLS hỗ trợ các nền tảng sau cho cụm Đám mây riêng tư của bạn (hệ điều hành được hỗ trợ cho mTLS phụ thuộc vào phiên bản Đám mây riêng tư):
| Hệ điều hành | Phiên bản đám mây riêng tư được hỗ trợ | ||
|---|---|---|---|
| v4.19.06 | v4.50.00 | v4.51.00 | |
| CentOS RedHat Enterprise Linux (RHEL) Oracle Linux |
7.5, 7.6, 7.7 | 7.5, 7.6, 7.7, 7.8, 7.9 | 7.5, 7.6, 7.7, 7.8, 7.9, 8.0 |
Tiện ích/gói
Apigee mTLS yêu cầu bạn phải cài đặt và bật các gói sau trên mỗi máy trong cụm của bạn, bao gồm cả máy quản trị, trước khi bạn bắt đầu quá trình cài đặt:
| Tiện ích/gói | Mô tả | Có thể xoá sau khi cài đặt không? |
|---|---|---|
base64 |
Xác minh dữ liệu trong tập lệnh cài đặt. | |
gnu-bashgnu-sedgnu-grep |
Được tập lệnh cài đặt và các công cụ phổ biến khác sử dụng. | |
iptables |
Thay thế tường lửa mặc định, firewalld. |
|
iptables-services |
Cung cấp chức năng cho tiện ích iptables. |
|
lsof |
Được tập lệnh cài đặt sử dụng. | |
nc |
Xác minh iptables tuyến đường. |
|
openssl |
Ký chứng chỉ trên thiết bị trong quá trình khởi động ban đầu. |
Trong quá trình cài đặt, bạn cũng cài đặt gói Consul trên máy quản trị để có thể tạo thông tin xác thực và khoá mã hoá.
Gói apigee-mtls cài đặt và định cấu hình máy chủ Consul, bao gồm cả proxy vào và ra trên các nút ZooKeeper trong cụm.
Quyền của tài khoản người dùng
Tài khoản thực thi quá trình cài đặt mTLS của Apigee trên mỗi nút trong cụm phải có khả năng:
- Bắt đầu, dừng, khởi động lại và khởi chạy các thành phần của Apigee
- Thiết lập quy tắc tường lửa
- Tạo tài khoản người dùng mới cho hệ điều hành/hệ thống
- Bật, tắt, khởi động, dừng và che giấu dịch vụ bằng
systemctl
Máy quản trị (nên dùng)
Apigee khuyên bạn nên có một nút trong cụm mà bạn có thể sử dụng để thực hiện nhiều nhiệm vụ được mô tả trong tài liệu này, bao gồm:
- Cài đặt HashiCorp Consul 1.6.2.
- Tạo và phân phối một cặp chứng chỉ/khoá và khoá mã hoá Gossip.
- Cập nhật và phân phối tệp cấu hình.
Máy quản trị yêu cầu:
- Bạn đã tải xuống và cài đặt các tiện ích
apigee-servicevàapigee-setuptrên đó, như mô tả trong phần Cài đặt tiện ích apigee-setup của Edge. - Có quyền truy cập
scp/sshvào tất cả các nút trong cụm. Để phân phối tệp cấu hình và thông tin đăng nhập, bạn phải có quyền truy cậpscp/sshvào tất cả máy chủ lưu trữ trong cụm. - Bạn có quyền truy cập thư mục gốc vào máy quản trị.
Sử dụng và chỉ định cổng
Phần này mô tả cách sử dụng cổng và chỉ định cổng để hỗ trợ hoạt động giao tiếp của Consul với Apigee mTLS.
Mức sử dụng cổng: Tất cả các nút đang chạy apigee-mtls
Tất cả các nút trong cụm sử dụng dịch vụ apigee-mtls phải cho phép kết nối từ các dịch vụ trên máy chủ cục bộ (127.0.0.1). Điều này cho phép các proxy Consul giao tiếp với các dịch vụ khác khi chúng xử lý các thông báo đến và đi.
Mức sử dụng cổng: Các nút máy chủ Consul (các nút chạy ZooKeeper)
Bạn phải mở hầu hết các cổng sau trên các nút máy chủ Consul (các nút đang chạy ZooKeeper) để chấp nhận yêu cầu từ tất cả các nút trong cụm:
| Nút | Cổng máy chủ Consul | Mô tả | Giao thức | Cho phép tác nhân mtls bên ngoài * |
|---|---|---|---|---|
| Máy chủ Consul (nút ZooKeeper) | 8300 |
Kết nối tất cả máy chủ Consul trong cụm. | RPC | |
8301 |
Xử lý thông báo phát đi và thông báo về tư cách thành viên trong cụm. | UDP/TCP | ||
8302 |
Cổng WAN xử lý thông báo phát đi và thông báo về tư cách thành viên trong cấu hình nhiều trung tâm dữ liệu. | UDP/TCP | ||
8500 |
Xử lý các kết nối HTTP đến API Máy chủ Consul từ các quy trình trên cùng một nút.
Cổng này không được dùng để liên lạc hoặc điều phối từ xa; cổng này chỉ theo dõi trên máy chủ cục bộ. |
HTTP | ||
8502 |
Xử lý các kết nối gRPC+HTTPS đến API Máy chủ Consul từ các nút khác trong cụm. | gRPC+HTTPS | ||
8503 |
Xử lý các kết nối HTTPS đến API Máy chủ Consul từ các nút khác trong cụm. | HTTPS | ||
8600 |
Xử lý DNS của máy chủ Consul. | UDP/TCP | ||
* Apigee đề xuất bạn chỉ nên hạn chế các yêu cầu gửi đến cho các thành viên trong cụm
(bao gồm cả kho dữ liệu chéo). Bạn có thể thực hiện việc này thông qua iptables.
|
||||
Như bảng này cho thấy, các nút chạy thành phần consul-server (nút ZooKeeper) phải mở các cổng 8301, 8302, 8502 và 8503 cho tất cả thành viên của cụm đang chạy dịch vụ apigee-mtls, ngay cả trên các trung tâm dữ liệu. Các nút không chạy ZooKeeper không cần mở các cổng này.
Chỉ định cổng cho tất cả các nút Consul (bao gồm cả các nút chạy ZooKeeper)
Để hỗ trợ hoạt động giao tiếp của Consul, các nút chạy các thành phần Apigee sau đây phải cho phép kết nối bên ngoài với các cổng trong phạm vi sau:
| Thành phần Apigee | Phạm vi | Số cổng cần thiết cho mỗi nút |
|---|---|---|
| Apigee mTLS | 10700 đến 10799 | 1 |
| Cassandra | 10100 đến 10199 | 2 |
| Bộ xử lý thông báo | 10500 đến 10599 | 2 |
| OpenLDAP | 10200 đến 10299 | 1 |
| Postgres | 10300 đến 10399 | 3 |
| Qpid | 10400 đến 10499 | 2 |
| Bộ định tuyến | 10600 đến 10699 | 2 |
| ZooKeeper | 10001 đến 10099 | 3 |
Consul chỉ định cổng theo cách tuyến tính đơn giản. Ví dụ: nếu cụm của bạn có hai nút Postgres, thì nút đầu tiên sẽ sử dụng hai cổng, vì vậy, Consul sẽ chỉ định cổng 10300 và 10301 cho nút đó. Nút thứ hai cũng sử dụng hai cổng, vì vậy, Consol chỉ định 10302 và 10303 cho nút đó. Điều này áp dụng cho tất cả các loại thành phần.
Như bạn có thể thấy, số lượng cổng thực tế phụ thuộc vào cấu trúc liên kết: Nếu cụm của bạn có hai nút Postgres, thì bạn cần mở bốn cổng (hai nút, mỗi nút có hai cổng).
Xin lưu ý những điều sau:
- Proxy Consul không thể nghe trên cùng một cổng với các dịch vụ Apigee.
- Consul chỉ có một không gian địa chỉ cổng. Việc chỉ định cổng proxy Consul phải là duy nhất trên toàn bộ cụm, bao gồm cả các trung tâm dữ liệu. Điều này có nghĩa là nếu proxy A trên máy chủ lưu trữ A nghe trên cổng 15000, thì proxy B trên máy chủ lưu trữ B không thể nghe trên cổng 15000.
- Số lượng cổng được sử dụng sẽ thay đổi tuỳ theo cấu trúc liên kết, như mô tả ở trên.
Trong cấu hình nhiều trung tâm dữ liệu, tất cả máy chủ lưu trữ chạy mTLS cũng phải mở cổng 8302.
Bạn có thể tuỳ chỉnh các cổng mặc định mà Apigee mTLS sử dụng. Để biết thông tin về cách thực hiện việc này, hãy xem phần Tuỳ chỉnh dải cổng proxy.
Các điểm hạn chế
Apigee mTLS có các giới hạn sau:
- Không mã hoá hoạt động giao tiếp giữa các nút Cassandra (cổng 7000)
- Quá trình định cấu hình và thiết lập không có tính luỹ đẳng. Điều này có nghĩa là nếu bạn thực hiện một thay đổi trên một nút, bạn phải thực hiện thay đổi tương tự trên tất cả các nút; hệ thống không nhận thay đổi đó và áp dụng cho các nút khác cho bạn. Để biết thêm thông tin, hãy xem phần Thay đổi cấu hình apigee-mtls hiện có.
Thuật ngữ
Phần này sử dụng các thuật ngữ sau:
| Thuật ngữ | Định nghĩa |
|---|---|
| cluster | Nhóm máy tạo nên bản cài đặt Edge cho đám mây riêng tư. |
| Consul | Lưới dịch vụ mà Apigee mTLS sử dụng. Để biết thông tin về cách Consul bảo mật thông tin liên lạc trên Private Cloud, hãy xem Mô hình bảo mật của Consul. |
| mTLS | TLS được xác thực lẫn nhau. |
| lưới dịch vụ | Một mạng lớp phủ (hoặc một mạng trong một mạng). |
| TLS | Bảo mật tầng truyền tải. Một giao thức xác thực theo tiêu chuẩn ngành để liên lạc an toàn. |