Định cấu hình TLS cho API quản lý

Theo mặc định, TLS bị tắt đối với API quản lý và bạn truy cập vào API quản lý Edge qua HTTP bằng cách sử dụng địa chỉ IP của nút Máy chủ quản lý và cổng 8080. Ví dụ:

http://ms_IP:8080

Ngoài ra, bạn có thể định cấu hình quyền truy cập TLS vào API quản lý để có thể truy cập vào API này ở dạng:

https://ms_IP:8443

Trong ví dụ này, bạn định cấu hình quyền truy cập TLS để sử dụng cổng 8443. Tuy nhiên, Edge không yêu cầu số cổng đó – bạn có thể định cấu hình Máy chủ quản lý để sử dụng các giá trị cổng khác. Yêu cầu duy nhất là tường lửa của bạn cho phép lưu lượng truy cập qua cổng đã chỉ định.

Để đảm bảo mã hoá lưu lượng truy cập đến và đi từ API quản lý, hãy định cấu hình các chế độ cài đặt trong tệp /opt/apigee/customer/application/management-server.properties.

Ngoài cấu hình TLS, bạn cũng có thể kiểm soát quá trình xác thực mật khẩu (độ dài và độ mạnh của mật khẩu) bằng cách sửa đổi tệp management-server.properties.

Đảm bảo rằng cổng TLS của bạn đang mở

Quy trình trong phần này định cấu hình TLS để sử dụng cổng 8443 trên Máy chủ quản lý. Bất kể bạn sử dụng cổng nào, bạn phải đảm bảo rằng cổng đó đang mở trên Máy chủ quản lý. Ví dụ: bạn có thể sử dụng lệnh sau để mở cổng đó:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose

Định cấu hình TLS

Chỉnh sửa tệp /opt/apigee/customer/application/management-server.properties để kiểm soát việc sử dụng TLS trên lưu lượng truy cập đến và đi từ API quản lý. Nếu tệp này không tồn tại, hãy tạo tệp đó.

Cách định cấu hình quyền truy cập TLS vào API quản lý:

  1. Tạo tệp kho khoá JKS chứa chứng chỉ TLS và khoá riêng tư. Để biết thêm thông tin xem bài viết Định cấu hình TLS/SSL cho Edge tại chỗ.
  2. Sao chép tệp kho khoá JKS vào một thư mục trên nút Máy chủ quản lý, chẳng hạn như /opt/apigee/customer/application.
  3. Thay đổi quyền sở hữu tệp JKS thành người dùng "apigee":
    chown apigee:apigee keystore.jks

    Trong đó, keystore.jks là tên của tệp kho khoá.

  4. Chỉnh sửa /opt/apigee/customer/application/management-server.properties để đặt các thuộc tính sau. Nếu tệp đó không tồn tại, hãy tạo tệp đó:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    Trong đó, keyStore.jks là tệp kho khoá và obfuscatedPassword là mật khẩu kho khoá bị làm rối. Hãy xem bài viết Định cấu hình TLS/SSL cho Edge tại chỗ để biết thông tin về cách tạo mật khẩu bị làm rối.

  5. Khởi động lại Máy chủ quản lý Edge bằng cách sử dụng lệnh:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

API quản lý hiện hỗ trợ quyền truy cập qua TLS.

Định cấu hình Giao diện người dùng Edge mới để sử dụng TLS nhằm truy cập vào API Edge

Trong quy trình ở trên, Apigee khuyên bạn nên để conf_webserver_http.turn.off=false để Giao diện người dùng Edge mới có thể tiếp tục thực hiện các lệnh gọi API Edge qua HTTP.

Hãy sử dụng quy trình sau để định cấu hình Giao diện người dùng Edge mới chỉ thực hiện các lệnh gọi này qua HTTPS:

  1. Định cấu hình quyền truy cập TLS vào API quản lý như mô tả ở trên.
  2. Sau khi xác nhận rằng TLS đang hoạt động cho API quản lý, hãy chỉnh sửa /opt/apigee/customer/application/management-server.properties để đặt thuộc tính sau:
    conf_webserver_http.turn.off=true
  3. Khởi động lại Máy chủ quản lý Edge bằng cách thực thi lệnh sau:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Cập nhật cấu hình Giao diện người dùng Edge mới để kết nối với Máy chủ quản lý qua HTTPS. Đặt các thuộc tính sau trong tệp cấu hình Giao diện người dùng Edge mới:
    APIGEE_PORT_HTTP_MS=port
    MS_SCHEME=https

    Trong đó, port là cổng được conf_webserver_ssl.port chỉ định trước đó (ví dụ: 8443).

  5. Áp dụng cấu hình đã cập nhật cho Giao diện người dùng Edge mới:
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile

    Để biết thêm thông tin chi tiết về tệp cấu hình Giao diện người dùng Edge mới, hãy xem bài viết Định cấu hình Giao diện người dùng Edge mới. Để định cấu hình quyền truy cập HTTPS vào chính Giao diện người dùng Edge mới, hãy xem bài viết Định cấu hình TLS cho Giao diện người dùng Edge mới.

Thuộc tính TLS cho Máy chủ quản lý

Bảng sau đây liệt kê tất cả các thuộc tính TLS/SSL mà bạn có thể đặt trong management-server.properties:

Thuộc tính Mô tả

conf_webserver_http.port=8080

Giá trị mặc định là 8080.

conf_webserver_ssl.enabled=false

Cách bật/tắt TLS/SSL. Khi bật TLS/SSL (true), bạn cũng phải đặt các thuộc tính ssl.port và keystore.path.

conf_webserver_http.turn.off=true

Cách bật/tắt http cùng với https. Nếu bạn chỉ muốn sử dụng HTTPS, hãy để giá trị mặc định là true.

conf_webserver_ssl.port=8443

Cổng TLS/SSL.

Bắt buộc khi bật TLS/SSL (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

Đường dẫn đến tệp kho khoá.

Bắt buộc khi bật TLS/SSL (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=password

Sử dụng mật khẩu bị làm rối ở định dạng này: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Bí danh chứng chỉ kho khoá không bắt buộc

conf_webserver_keymanager.password=password

Nếu trình quản lý khoá của bạn có mật khẩu, hãy nhập phiên bản mật khẩu bị làm rối ở định dạng này:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

Định cấu hình các chế độ cài đặt cho kho lưu trữ uy tín. Xác định xem bạn có muốn chấp nhận tất cả chứng chỉ TLS/SSL hay không (ví dụ: để chấp nhận các loại không chuẩn). Giá trị mặc định là false. Cung cấp đường dẫn đến kho lưu trữ uy tín và nhập mật khẩu kho lưu trữ uy tín bị làm rối ở định dạng này:

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

Cho biết mọi bộ thuật toán mật mã mà bạn muốn thêm hoặc loại trừ. Ví dụ: nếu phát hiện thấy lỗ hổng trong một mật mã, bạn có thể loại trừ mật mã đó tại đây. Phân tách nhiều mật mã bằng dấu phẩy.

Mọi mật mã mà bạn xoá bằng danh sách đen sẽ được ưu tiên hơn mọi mật mã có trong danh sách cho phép.

Lưu ý: Theo mặc định, nếu bạn không chỉ định danh sách đen hoặc danh sách cho phép, thì các mật mã khớp với biểu thức chính quy Java sau đây sẽ bị loại trừ theo mặc định.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

Tuy nhiên, nếu bạn chỉ định một danh sách đen, thì bộ lọc này sẽ bị ghi đè và bạn phải đưa tất cả mật mã vào danh sách đen riêng lẻ.

Để biết thông tin về các bộ mật mã và kiến trúc mật mã học, hãy xem tài liệu về Nhà cung cấp Oracle cho Kiến trúc mật mã học Java cho JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Số nguyên xác định:

  • Kích thước bộ nhớ đệm phiên TLS/SSL (tính bằng byte) để lưu trữ thông tin phiên cho nhiều ứng dụng.
  • Khoảng thời gian mà các phiên TLS/SSL có thể kéo dài trước khi hết thời gian chờ (tính bằng mili giây).