Đị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 có thể 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 API đó trong biểu mẫu:

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, số cổng đó không mà Edge yêu cầu – 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. Chỉ là yêu cầu tường lửa của bạn cho phép lưu lượng truy cập qua cổng được 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 chế độ cài đặt trong /opt/apigee/customer/application/management-server.properties .

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

Đảm bảo rằng cổng TLS đ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ể sử dụng cổng là gì, bạn phải đảm bảo rằng cổng đó đang mở trên trang Quản lý Máy chủ. Ví dụ: bạn có thể dùng lệnh sau để mở tệp đó:

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 /opt/apigee/customer/application/management-server.properties để kiểm soát việc sử dụng TLS đối với lưu lượng truy cập đến và đi từ API quản lý của bạn. Nếu tệp này không tồn tại, tạo ứng dụng.

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

  1. Tạo tệp JKS trong kho khoá chứa chứng chỉ TLS và khoá riêng tư của bạn. Để biết thêm xem Định cấu hình TLS/SSL cho Edge On Premise.
  2. Sao chép tệp JKS kho khoá vào một thư mục trên nút Management Server (Máy chủ quản lý), chẳng hạn như với tên /opt/apigee/customer/application.
  3. Thay đổi quyền sở hữu tệp JKS thành "API" người dùng:
    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á của bạn và obfuscatedPassword là mật khẩu kho khoá đã làm rối mã nguồn của bạn. Xem Định cấu hình TLS/SSL cho Edge On Premise cho thông tin về việc tạo mật khẩu làm rối mã nguồn.

  5. Khởi động lại Máy chủ quản lý Edge bằ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 nhằm sử dụng TLS để truy cập API Edge

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

Sử dụng quy trình sau để định cấu hình giao diện người dùng Edge nhằm 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 thành đặ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. Chỉnh sửa /opt/apigee/customer/application/ui.properties để đặt thuộc tính sau cho giao diện người dùng Edge:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    Trong đó FQ_domain_name là tên miền đầy đủ, theo chứng chỉ của bạn của Máy chủ quản lý và port là cổng được chỉ định ở trên bởi conf_webserver_ssl.port.

    Nếu ui.properties không tồn tại, hãy tạo nó.

  5. Chỉ khi bạn sử dụng chứng chỉ tự ký (không nên dùng trong phiên bản phát hành công khai môi trường) khi định cấu hình quyền truy cập TLS vào API quản lý ở trên, hãy thêm thuộc tính thuộc tính sau vào ui.properties:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    Nếu không, giao diện người dùng Edge sẽ từ chối chứng chỉ tự ký.

  6. Khởi động lại giao diện người dùng Edge bằng cách thực thi lệnh sau:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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ể thiết lập management-server.properties:

Thuộc tính Mô tả

conf_webserver_http.port=8080

Mặc định là 8080.

conf_webserver_ssl.enabled=false

Để bật/tắt TLS/SSL. Khi TLS/SSL được bật (true), bạn cũng phải đặt ssl.port và kho khoá.path.

conf_webserver_http.turn.off=true

Để 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 thành true.

conf_webserver_ssl.port=8443

Cổng TLS/SSL.

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

conf_webserver_keystore.path=path

Đường dẫn đến tệp kho khoá của bạn.

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

conf_webserver_keystore.password=password

Sử dụng mật khẩu bị làm rối mã nguồn theo định dạng sau: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Bí danh chứng chỉ kho khóa tùy chọn

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 một phiên bản mật khẩu đã bị làm rối mã nguồn vào đị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

Thiết lập 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 (ví dụ: để chấp nhận các loại không theo chuẩn). Mặc định là false. Cung cấp đường dẫn vào kho lưu trữ uy tín của bạn và nhập mật khẩu kho lưu trữ tin cậy đã được làm rối mã nguồn theo định dạng sau:

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ã bạn muốn đưa vào hoặc loại trừ. Ví dụ: nếu bạn phát hiện lỗ hổng bảo mật trong một thuật toán mật mã, bạn có thể loại trừ lỗ hổng đó tại đây. Phân tách nhiều mật mã bằng dấu phẩy.

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

Lưu ý: Theo mặc định, nếu không có danh sách cấm hoặc danh sách trắng nào được chỉ định, thì thuật toán mật mã sẽ so khớp biểu thức chính quy Java sau đây 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, bộ lọc này sẽ bị ghi đè và bạn phải đưa tất cả thuật toán mật mã vào danh sách đen.

Để biết thông tin về bộ cypher và kiến trúc mật mã học, hãy xem Tài liệu về nhà cung cấp Oracle kiến trúc mã hoá Java dành 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 của phiên TLS/SSL (tính bằng byte) để lưu trữ thông tin phiên cho nhiều khách hàng.
  • Khoảng thời gian các phiên TLS/SSL có thể kéo dài trước khi hết thời gian chờ (tính theo mili giây).