Định cấu hình bộ thuật toán mật mã trên máy chủ ảo và Bộ định tuyến

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Tài liệu này giải thích cách định cấu hình bộ thuật toán mật mã trên các máy chủ ảo và Bộ định tuyến trong Apigee Edge.

Bộ thuật toán mật mã là một tập hợp các thuật toán giúp bảo mật kết nối mạng sử dụng TLS. Ứng dụng và máy chủ phải thống nhất về bộ thuật toán mật mã cụ thể sẽ dùng để trao đổi thông báo. Nếu ứng dụng và máy chủ không thống nhất được bộ thuật toán mật mã, thì các yêu cầu sẽ không thành công do lỗi bắt tay TLS.

Trong Apigee, bộ thuật toán mật mã phải có sự thống nhất giữa các ứng dụng khách và Bộ định tuyến.

Bạn nên sửa đổi bộ thuật toán mật mã trên Apigee Edge vì những lý do sau:

  • Để tránh tình trạng bộ thuật toán mật mã không khớp giữa các ứng dụng khách và Bộ định tuyến Apigee
  • Để sử dụng các bộ thuật toán mật mã bảo mật hơn để khắc phục mọi lỗ hổng bảo mật hoặc để tăng cường bảo mật

Bạn có thể định cấu hình bộ mật mã trên máy chủ ảo hoặc Bộ định tuyến Apigee. Xin lưu ý rằng Apigee chỉ chấp nhận bộ thuật toán mật mã ở định dạng chuỗi mật mã OpenSSL tại cả máy chủ ảo và Bộ định tuyến. Trang quản lý thuật toán mật mã OpenSSL cung cấp bộ thuật toán mật mã SSL hoặc TLS từ thông số kỹ thuật có liên quan và phiên bản tương đương của OpenSSL.

Ví dụ:

Nếu muốn định cấu hình bộ mật mã TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 tại máy chủ ảo hoặc Bộ định tuyến Apigee, bạn cần xác định chuỗi mật mã OpenSSL tương ứng trên trang quản lý mật mã OpenSSL. Chuỗi mật mã OpenSSL cho bộ mật mã TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256. Vì vậy, bạn cần sử dụng chuỗi mật mã OpenSSL ECDHE-RSA-AES128-GCM-SHA256 trong khi định cấu hình bộ mật mã trong máy chủ ảo hoặc trên Bộ định tuyến Apigee.

Trước khi bắt đầu

Định cấu hình bộ thuật toán mật mã trên máy chủ ảo

Phần này giải thích cách định cấu hình bộ thuật toán mật mã trong máy chủ ảo được liên kết với tổ chức và môi trường. Bạn có thể định cấu hình bộ thuật toán mật mã trong máy chủ ảo thông qua thuộc tính ssl_ciphers. Thuộc tính này đại diện cho danh sách bộ thuật toán mật mã được máy chủ ảo hỗ trợ.

Xem phần Bộ thuật toán mật mã được hỗ trợ để biết danh sách các bộ thuật toán mật mã mà Apigee hỗ trợ.

Bạn có thể định cấu hình máy chủ ảo bằng một trong các phương thức sau:

  • Sử dụng giao diện người dùng Edge
  • Sử dụng Edge API

Sử dụng giao diện người dùng Edge

Để định cấu hình máy chủ ảo bằng giao diện người dùng Edge, hãy làm như sau:

  1. Đăng nhập vào Giao diện người dùng Edge.
  2. Di chuyển đến phần Quản trị > Máy chủ ảo.
  3. Chọn một Môi trường cụ thể mà bạn muốn thực hiện thay đổi này.
  4. Chọn máy chủ ảo cụ thể mà bạn muốn định cấu hình bộ thuật toán mật mã.
  5. Trong mục Thuộc tính, hãy cập nhật giá trị Mã mật mã bằng một danh sách các chuỗi mật mã OpenSSL được phân tách bằng dấu hai chấm.

    Ví dụ: nếu bạn chỉ muốn cho phép bộ thuật toán mật mã TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, hãy xác định chuỗi mật mã OpenSSL tương ứng trong trang quản lý mật mã OpenSSL như minh hoạ trong bảng sau:

    Bộ thuật toán mật mã Chuỗi mật mã OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Thêm chuỗi mật mã OpenSSL có phân tách dấu hai chấm như minh hoạ trong hình sau:

    Ví dụ về thuật toán mật mã

  6. Lưu nội dung thay đổi.

Sử dụng API Edge

Để định cấu hình bộ thuật toán mật mã trên máy chủ ảo bằng Edge API, hãy làm như sau:

  1. Lấy cấu hình máy chủ ảo hiện tại bằng cách sử dụng API Tải máy chủ ảo như sau:

    Người dùng Public Cloud:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Người dùng Đám mây riêng tư:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  2. Thêm thuộc tính ssl_ciphers vào phần tải trọng JSON của cấu hình máy chủ ảo hiện có trong properties bằng các chuỗi mật mã OpenSSL thích hợp.

    Ví dụ: nếu bạn chỉ muốn cho phép bộ thuật toán mật mã TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, hãy xác định chuỗi mật mã OpenSSL tương ứng trong trang quản lý mật mã OpenSSL như minh hoạ trong bảng sau:

    Bộ thuật toán mật mã Chuỗi mật mã OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Thêm khối mã properties sau:

    Cấu hình máy chủ ảo được cập nhật theo mẫu:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  3. Lưu cấu hình máy chủ ảo đã cập nhật trong tệp. Ví dụ: virtualhost-payload.json
  4. Cập nhật cấu hình virtualhost với thay đổi bằng cách sử dụng API Cập nhật máy chủ ảo như sau:

    Người dùng Public Cloud:

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

    Người dùng Đám mây riêng tư:

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

Bộ thuật toán mật mã được hỗ trợ

Apigee hỗ trợ các bộ thuật toán mật mã sau:

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

Xác minh bộ thuật toán mật mã trên máy chủ ảo

Phần này giải thích cách xác minh rằng bộ thuật toán mật mã đã được sửa đổi thành công trên máy chủ ảo bằng cách sử dụng Edge API.

  1. Thực thi API Tải máy chủ ảo để lấy cấu hình virtualhost như minh hoạ bên dưới:

    Người dùng Public Cloud:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Người dùng Đám mây riêng tư:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
  2. Xác minh rằng thuộc tính ssl_ciphers đã được đặt thành giá trị mới.

    Cấu hình máy chủ ảo được cập nhật theo mẫu:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    

    Trong ví dụ trên, lưu ý rằng ssl_ciphers đã được thiết lập bằng giá trị mới.

  3. Nếu bạn vẫn thấy giá trị cũ của ssl_ciphers, hãy xác minh rằng bạn đã làm đúng tất cả các bước trong bài viết Định cấu hình bộ thuật toán mật mã trên máy chủ ảo. Nếu bạn bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước đúng cách một lần nữa.
  4. Nếu bạn vẫn không thể cập nhật hoặc thêm bộ thuật toán mật mã vào máy chủ ảo, hãy liên hệ với Bộ phận hỗ trợ Apigee.

Định cấu hình bộ mật mã trên Bộ định tuyến

Phần này giải thích cách định cấu hình bộ thuật toán mật mã trên Bộ định tuyến. Bạn có thể định cấu hình bộ thuật toán mật mã thông qua thuộc tính Bộ định tuyến conf_load_balancing_load.balancing.driver.server.ssl.ciphers. Thuộc tính này đại diện cho bộ mật mã được chấp nhận và phân tách bằng dấu hai chấm.

Để định cấu hình bộ mật mã trên Bộ định tuyến, hãy làm như sau:

  1. Trên máy Bộ định tuyến, hãy mở tệp sau trong trình chỉnh sửa. Hãy tạo tài khoản nếu bạn chưa có.

    /opt/apigee/customer/application/router.properties
    

    Ví dụ: để mở tệp bằng vi, hãy nhập như sau:

    vi /opt/apigee/customer/application/router.properties
    

  2. Thêm một dòng ở định dạng sau vào tệp properties, thay thế giá trị cho colon_separated_cipher_suites:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
    

    Ví dụ: nếu bạn chỉ muốn cho phép bộ thuật toán mật mã TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, hãy xác định chuỗi mật mã OpenSSL tương ứng trong trang quản lý mật mã OpenSSL như minh hoạ trong bảng sau:

    Bộ thuật toán mật mã Chuỗi mật mã OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Sau đó, hãy thêm dòng sau:

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    
  3. Lưu các thay đổi.
  4. Đảm bảo tệp thuộc tính này do người dùng apigee sở hữu như minh hoạ bên dưới:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  5. Khởi động lại Bộ định tuyến như hình bên dưới:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  6. Nếu bạn có nhiều Bộ định tuyến, hãy lặp lại các bước trên cho tất cả Bộ định tuyến.

Xác minh bộ mật mã trên Bộ định tuyến

Phần này giải thích cách xác minh rằng bộ thuật toán mật mã đã được sửa đổi thành công trên Bộ định tuyến.

  1. Trên Bộ định tuyến, hãy tìm thuộc tính conf_load_balancing_load.balancing.driver.server.ssl.ciphers bằng tiện ích tìm kiếm Apigee trong thư mục /opt/apigee và kiểm tra xem thuộc tính này đã được đặt bằng giá trị mới như sau hay chưa:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
    
  2. Nếu bộ thuật toán mật mã mới đã được thiết lập thành công trên bộ định tuyến, thì lệnh trên sẽ hiển thị các giá trị mới.

    Sau đây là kết quả mẫu của lệnh search ở trên khi bộ thuật toán mật mã được cập nhật thành DHE-RSA-AES128-GCM-SHA256ECDHE-RSA-AES128-GCM-SHA256:

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties
    

    Trong kết quả ví dụ ở trên, hãy lưu ý rằng thuộc tính conf_load_balancing_load.balancing.driver.server.ssl.ciphers đã được đặt bằng các giá trị mới của bộ mật mã. Điều này cho biết rằng bộ thuật toán mật mã đã được cập nhật thành công lên chuỗi mật mã OpenSSL DHE-RSA-AES128-GCM-SHA25ECDHE-RSA-AES128-GCM-SHA256 trên Bộ định tuyến.

  3. Nếu bạn vẫn thấy các giá trị cũ cho bộ mật mã conf_load_balancing_load.balancing.driver.server.ssl.ciphers, hãy xác minh rằng bạn đã làm đúng tất cả các bước nêu trong phần Định cấu hình bộ mật mã trên Bộ định tuyến. Nếu bạn bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước đúng cách một lần nữa.
  4. Nếu bạn vẫn không thể sửa đổi bộ Cipher (Bộ định tuyến) trên Bộ định tuyến, thì hãy liên hệ với Apigee Edge Support (Bộ phận hỗ trợ API).