Đị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 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 một kết nối mạng sử dụng TLS. Khách hàng và máy chủ phải đồng ý về bộ thuật toán mật mã cụ thể sẽ được sử dụng trong việc trao đổi tin nhắn. Nếu khách hàng và máy chủ không thống nhất về bộ thuật toán mật mã, thì không thực hiện được yêu cầu kèm theo lỗi Bắt tay TLS.

Trong Apigee, bộ thuật toán mật mã phải được 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 mọi bộ thuật toán mật mã không khớp giữa ứng dụng khách và Bộ định tuyến Apigee
  • Để sử dụng bộ thuật toán 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 bảo mật

Bạn có thể định cấu hình bộ thuật toán mật mã trên máy chủ ảo hoặc Bộ định tuyến Apigee. Ghi chú 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. Chiến lược phát hành đĩa đơn Trang tài liệu về thuật toán mật mã OpenSSL cung cấp bộ thuật toán mật mã SSL hoặc TLS trong quy cách có liên quan và các tham số tương đương cho OpenSSL tương ứng.

Ví dụ:

Nếu bạn muốn định cấu hình thuật toán mật mã TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 trên máy chủ ảo hoặc Bộ định tuyến Apigee, thì bạn cần xác định chuỗi mật mã OpenSSL tương ứng từ Trang tài liệu về thuật toán 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.. Do đó, 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ộ 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 một 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 các bộ thuật toán mật mã mà máy chủ ảo hỗ trợ.

Hãy xem Bộ thuật toán mật mã được hỗ trợ để biết danh sách thuật toán mật mã bộ ứng dụng 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 pháp sau:

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

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 Edge UI.
  2. Chuyển đến mục Quản trị > Máy chủ ảo.
  3. Chọn 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 phần Thuộc tính, hãy cập nhật giá trị Thuật toán mật mã bằng 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, sau đó xác định giá trị tương ứng Chuỗi mật mã OpenSSL từ Trang tài liệu về thuật toán mật mã OpenSSL như minh hoạ 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 phân tách dấu hai chấm như 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 API Edge, 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 Nhận API máy chủ ảo như sau:

    Người dùng Cloud 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 Cloud 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 cấu hình máy chủ ảo hiện có tải trọng JSON trong properties với 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, sau đó xác định giá trị tương ứng Chuỗi mật mã OpenSSL từ Trang tài liệu về thuật toán mật mã OpenSSL như minh hoạ 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:

    Cấu hình máy chủ ảo đã cập nhật 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 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 Cập nhật API máy chủ ảo như sau:

    Người dùng Cloud 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 Cloud 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 đây:

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 bộ thuật toán mật mã đã thành công sửa đổi trên máy chủ ảo bằng API Edge.

  1. Thực thi Nhận API máy chủ ảo để lấy cấu hình virtualhost như trình bày dưới đây:

    Người dùng Cloud 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 Cloud 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ập nhật 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 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 theo tất cả các bước được nêu trong Định cấu hình bộ thuật toán mật mã trên máy chủ ảo một cách chính xác. 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 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ộ thuật toán mật mã vào máy chủ ảo, hãy liên hệ với 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ộ thuật toán mật mã trên Bộ định tuyến. Bộ thuật toán mật mã có thể được định cấu hình thông qua thuộc tính Bộ định tuyến conf_load_balancing_load.balancing.driver.server.ssl.ciphers, đại diện cho bộ thuật toán mật mã được chấp nhận được phân tách bằng dấu hai chấm.

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

  1. Trên máy Bộ định tuyến, mở tệp sau đây trong trình chỉnh sửa. Nếu chưa tồn tại, sau đó tạo ứng dụng.

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

    Ví dụ: để mở tệp bằng vi, nhập thông tin 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ế một dòng 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, sau đó xác định giá trị tương ứng Chuỗi mật mã OpenSSL từ Trang tài liệu về thuật toán mật mã OpenSSL như minh hoạ 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 các 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ư hình 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ả cá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ộ 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 sử dụng Apigee tiện ích tìm kiếm từ thư mục /opt/apigee và kiểm tra xem thư mục này đã được thiết lập bằng giá trị mới 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ộ 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 từ 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ả của ví dụ ở trên, hãy lưu ý rằng thuộc tính Đã đặt conf_load_balancing_load.balancing.driver.server.ssl.ciphers bằng các giá trị mới của bộ thuật toán mật mã. Giá trị này cho biết rằng bộ thuật toán mật mã đã thành công cập nhật thành 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ũ của bộ thuật toán mật mã conf_load_balancing_load.balancing.driver.server.ssl.ciphers, sau đó xác minh bạn đã làm theo tất cả các bước nêu trong Định cấu hình bộ thuật toán mật mã trên Bộ định tuyến một cách chính xác. 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 một cách chính xác.
  4. Nếu bạn vẫn không thể sửa đổi bộ thuật toán mật mã trên Bộ định tuyến, hãy liên hệ với Hỗ trợ Apigee Edge.