Đị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.
Truy cập vào tài liệu Apigee X.
thông tin

Tài liệu này giải thích cách định cấu hình bộ mật mã trên 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. Máy khách và máy chủ phải đồng ý về bộ thuật toán mật mã cụ thể sẽ được dùng để trao đổi thông báo. Nếu ứng dụng và máy chủ không đồng ý về một 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, các bộ mật mã phải được các ứng dụng khách và Bộ định tuyến thoả thuận với nhau.

Bạn có thể muốn sửa đổi các bộ mật mã trên Apigee Edge vì những lý do sau:

  • Để tránh mọi trường hợp không khớp bộ mật mã giữa các ứng dụng khách và Bộ định tuyến Apigee
  • Để sử dụng các bộ mật mã an toàn hơn nhằm khắc phục mọi lỗ hổng bảo mật hoặc để tăng cường tính 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 các bộ 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 hướng dẫn về các thuật toán mật mã OpenSSL cung cấp các bộ thuật toán mật mã SSL hoặc TLS từ quy cách có liên quan và các thuật toán mật mã tương đương trong OpenSSL.

Ví dụ:

Nếu muốn định cấu hình bộ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 thuật toán mật mã 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 trong trang hướng dẫn về mật mã OpenSSL. Chuỗi mật mã OpenSSL cho bộ thuật toán 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ộ thuật toán 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ộ 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ộ mật mã trong các máy chủ ảo được liên kết với một tổ chức và môi trường. Bạn có thể định cấu hình bộ 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 các bộ mật mã mà máy chủ ảo hỗ trợ.

Hãy xem phần Các bộ mật mã được hỗ trợ để biết danh sách các bộ mật mã mà Apigee hỗ trợ.

Bạn có thể thiết lập máy chủ ảo bằng một trong những 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. Chuyển đến mục 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ộ mật mã.
  5. Trong mục Properties (Thuộc tính), hãy cập nhật giá trị Ciphers (Thuật toán mật mã) bằng danh sách chuỗi thuật toán 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 các 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 các chuỗi mật mã OpenSSL tương ứng từ trang hướng dẫn về mật mã OpenSSL như trong bảng sau:

    Bộ thuật toán mật mã Chuỗi thuật toán 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ó dấu hai chấm phân tách như minh hoạ trong hình sau:

    Ví dụ về mật mã

  6. Lưu thay đổi.

Sử dụng Edge API

Để định cấu hình các bộ mật mã trên một 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 Lấy máy chủ ảo như minh hoạ bên dưới:

    Người dùng Đám mây công khai:

    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:

    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 tải trọng JSON 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 các 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 các chuỗi mật mã OpenSSL tương ứng từ trang hướng dẫn về mật mã OpenSSL như trong bảng sau:

    Bộ thuật toán mật mã Chuỗi thuật toán 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 đây:

    Ví dụ về cấu hình máy chủ ảo đã cập nhật:

    {
      "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 vào một 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 Đám mây công khai:

    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:

    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}

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

Apigee hỗ trợ các bộ 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ộ mật mã trên máy chủ ảo

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

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

    Người dùng Đám mây công khai:

    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:

    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.

    Ví dụ về cấu hình máy chủ ảo đã cập nhật:

    {
      "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, hãy lưu ý rằng ssl_ciphers đã được đặt thành giá trị mới.

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

Định cấu hình bộ thuật toán 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ộ 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 Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers. Thuộc tính này đại diện cho các bộ thuật toán mật mã được chấp nhận, 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 Router, hãy mở tệp sau trong một trình chỉnh sửa. Nếu chưa có, hãy tạo một tệp.

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

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

    vi /opt/apigee/customer/application/router.properties
  2. Thêm một dòng theo đị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 các 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 các chuỗi mật mã OpenSSL tương ứng từ trang hướng dẫn về mật mã OpenSSL như trong bảng sau:

    Bộ thuật toán mật mã Chuỗi thuật toán 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 thay đổi.
  4. Đảm bảo tệp thuộc tính này thuộc sở hữu của người dùng apigee như minh hoạ dưới đây:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. Khởi động lại Bộ định tuyến như minh hoạ dưới đây:
    /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ộ thuật toán 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ạn đã sửa đổi thành công các bộ mật mã 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 đó đã được đặt thành giá trị mới hay chưa như sau:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
  2. Nếu bạn đặt thành công các bộ mật mã mới trên bộ định tuyến, thì lệnh trên sẽ cho thấy các giá trị mới.

    Sau đây là kết quả mẫu từ lệnh search ở trên khi các bộ 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 ví dụ về đầu ra ở 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ị bộ thuật toán mật mã mới. Đ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 thành các 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 đã thực hiện đúng tất cả các bước đượ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ước nào, hãy lặp lại tất cả các bước một cách chính xác.
  4. Nếu bạn vẫn không thể sửa đổi Bộ mật mã trên Bộ định tuyến, hãy liên hệ với Nhóm hỗ trợ Apigee Edge.