การกำหนดค่าชุดการเข้ารหัสในโฮสต์และเราเตอร์เสมือน

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เอกสารนี้อธิบายวิธีกำหนดค่าชุดการเข้ารหัสบนโฮสต์เสมือนและเราเตอร์ใน Apigee Edge

ชุดการเข้ารหัสคือชุดอัลกอริทึมที่ช่วยรักษาความปลอดภัยของการเชื่อมต่อเครือข่ายที่ใช้ TLS ไคลเอ็นต์และเซิร์ฟเวอร์ต้องตกลงชุดการเข้ารหัสที่เฉพาะเจาะจงที่จะใช้ ในการแลกเปลี่ยนข้อความ หากไคลเอ็นต์และเซิร์ฟเวอร์ไม่เห็นด้วยกับชุดการเข้ารหัส คำขอจะล้มเหลวเนื่องจากแฮนด์เชค TLS ไม่สำเร็จ

ใน Apigee ชุดการเข้ารหัสควรเป็นไปตามข้อตกลงร่วมกันระหว่างแอปพลิเคชันไคลเอ็นต์และ เราเตอร์

คุณอาจต้องการแก้ไขชุดการเข้ารหัสใน Apigee Edge ด้วยเหตุผลต่อไปนี้

  • เพื่อหลีกเลี่ยงไม่ให้ชุดการเข้ารหัสไม่ตรงกันระหว่างแอปพลิเคชันไคลเอ็นต์กับเราเตอร์ Apigee
  • หากต้องการใช้ชุดการเข้ารหัสที่ปลอดภัยยิ่งขึ้นเพื่อแก้ไขช่องโหว่ด้านความปลอดภัยหรือเพื่อเพิ่มความปลอดภัย

คุณกำหนดค่าชุดการเข้ารหัสได้ทั้งในโฮสต์เสมือนหรือ Apigee Router โปรดทราบ ว่า Apigee ยอมรับชุดการเข้ารหัสเฉพาะในรูปแบบสตริงการเข้ารหัส OpenSSL ที่ ทั้งโฮสต์เสมือนและเราเตอร์ หน้าคู่มือการเข้ารหัส OpenSSL ระบุชุดการเข้ารหัส SSL หรือ TLS จากข้อกำหนดที่เกี่ยวข้องและชุดการเข้ารหัสที่เทียบเท่าใน OpenSSL

เช่น

หากต้องการกำหนดค่าชุด TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 การเข้ารหัส ในโฮสต์เสมือนหรือ Apigee Router คุณต้องระบุสตริงการเข้ารหัส OpenSSL ที่เกี่ยวข้องจากหน้าคู่มือการเข้ารหัส OpenSSL สตริงการเข้ารหัส OpenSSL สำหรับชุดการเข้ารหัส TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 คือ ECDHE-RSA-AES128-GCM-SHA256. ดังนั้นคุณต้องใช้สตริงการเข้ารหัส OpenSSL ECDHE-RSA-AES128-GCM-SHA256 ขณะกำหนดค่าชุดการเข้ารหัสในโฮสต์เสมือน หรือใน Apigee Router

ก่อนเริ่มต้น

การกำหนดค่าชุดการเข้ารหัสในโฮสต์เสมือน

ส่วนนี้จะอธิบายวิธีกำหนดค่าชุดการเข้ารหัสในโฮสต์เสมือนที่เชื่อมโยงกับองค์กรและสภาพแวดล้อม คุณกำหนดค่าชุดการเข้ารหัสในโฮสต์เสมือนได้ผ่านพร็อพเพอร์ตี้ ssl_ciphers ซึ่งแสดงรายการชุดการเข้ารหัสที่โฮสต์เสมือนรองรับ

ดูรายการชุดการเข้ารหัสที่ Apigee รองรับได้ที่ชุดการเข้ารหัสที่รองรับ

คุณกำหนดค่าโฮสต์เสมือนได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

  • การใช้ Edge UI
  • การใช้ Edge API

การใช้ Edge UI

หากต้องการกำหนดค่าโฮสต์เสมือนโดยใช้ UI ของ Edge ให้ทำดังนี้

  1. เข้าสู่ระบบ Edge UI
  2. ไปที่ผู้ดูแลระบบ > โฮสต์เสมือน
  3. เลือกสภาพแวดล้อมที่ต้องการทำการเปลี่ยนแปลงนี้
  4. เลือกโฮสต์เสมือนที่เฉพาะเจาะจงซึ่งคุณต้องการกำหนดค่าชุดการเข้ารหัส
  5. ในส่วนพร็อพเพอร์ตี้ ให้อัปเดตค่าการเข้ารหัสด้วยรายการสตริงการเข้ารหัส OpenSSL ที่คั่นด้วยโคลอน

    ตัวอย่างเช่น หากต้องการอนุญาตเฉพาะชุดการเข้ารหัส TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 และ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ให้กำหนดสตริงการเข้ารหัส OpenSSL ที่เกี่ยวข้องจาก หน้าคู่มือการเข้ารหัส OpenSSL ดังที่แสดงในตารางต่อไปนี้

    ชุดการเข้ารหัส สตริงการเข้ารหัส 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

    เพิ่มสตริงการเข้ารหัส OpenSSL โดยคั่นด้วยโคลอนดังที่แสดงในรูปต่อไปนี้

    ตัวอย่างการเข้ารหัส

  6. บันทึกการเปลี่ยนแปลง

การใช้ Edge API

หากต้องการกำหนดค่าชุดการเข้ารหัสในโฮสต์เสมือนโดยใช้ Edge API ให้ทำดังนี้

  1. รับการกำหนดค่าโฮสต์เสมือนปัจจุบันโดยใช้ Get virtual host API ดังที่แสดงด้านล่าง

    ผู้ใช้ระบบคลาวด์สาธารณะ:

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

    ผู้ใช้ Private Cloud:

    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. เพิ่มพร็อพเพอร์ตี้ ssl_ciphers ลงในเพย์โหลด JSON ของการกำหนดค่าโฮสต์เสมือนที่มีอยู่ ภายใต้ properties พร้อมสตริงการเข้ารหัส OpenSSL ที่เหมาะสม

    ตัวอย่างเช่น หากต้องการอนุญาตเฉพาะชุดการเข้ารหัส TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 และ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ให้กำหนดสตริงการเข้ารหัส OpenSSL ที่เกี่ยวข้องจาก หน้าคู่มือการเข้ารหัส OpenSSL ดังที่แสดงในตารางต่อไปนี้

    ชุดการเข้ารหัส สตริงการเข้ารหัส 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

    เพิ่มpropertiesโค้ดบล็อกต่อไปนี้

    ตัวอย่างการกำหนดค่าโฮสต์เสมือนที่อัปเดตแล้ว

    {
      "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. บันทึกการกำหนดค่าโฮสต์เสมือนที่อัปเดตแล้วในไฟล์ เช่น virtualhost-payload.json
  4. อัปเดตvirtualhostการกำหนดค่าด้วยการเปลี่ยนแปลงโดยใช้ API อัปเดตโฮสต์เสมือนดังนี้

    ผู้ใช้ระบบคลาวด์สาธารณะ:

    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}

    ผู้ใช้ Private Cloud:

    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}

ชุดการเข้ารหัสที่รองรับ

Apigee รองรับชุดการเข้ารหัสต่อไปนี้

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

การยืนยันชุดการเข้ารหัสในโฮสต์เสมือน

ส่วนนี้อธิบายวิธียืนยันว่าชุดการเข้ารหัสได้รับการแก้ไขในโฮสต์เสมือนโดยใช้ Edge API เรียบร้อยแล้ว

  1. เรียกใช้ API Get virtual host เพื่อรับการกำหนดค่า virtualhost ดังที่แสดงด้านล่าง

    ผู้ใช้ระบบคลาวด์สาธารณะ:

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

    ผู้ใช้ Private Cloud:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
  2. ตรวจสอบว่าได้ตั้งค่าพร็อพเพอร์ตี้ ssl_ciphers เป็นค่าใหม่แล้ว

    ตัวอย่างการกำหนดค่าโฮสต์เสมือนที่อัปเดตแล้ว

    {
      "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
    }

    ในตัวอย่างด้านบน โปรดสังเกตว่ามีการตั้งค่า ssl_ciphers ด้วยค่าใหม่

  3. หากยังเห็นค่าเดิมสำหรับ ssl_ciphers ให้ตรวจสอบว่าคุณได้ ทำตามขั้นตอนทั้งหมดที่ระบุไว้ใน การกำหนดค่าชุดการเข้ารหัสในโฮสต์เสมือนอย่างถูกต้อง หากคุณพลาดขั้นตอนใดไป ให้ทำตามขั้นตอนทั้งหมดอีกครั้งอย่างถูกต้อง
  4. หากยังอัปเดตหรือเพิ่มชุดการเข้ารหัสลงในโฮสต์เสมือนไม่ได้ โปรดติดต่อทีมสนับสนุนของ Apigee Edge

การกำหนดค่าชุดการเข้ารหัสในเราเตอร์

ส่วนนี้จะอธิบายวิธีกำหนดค่าชุดการเข้ารหัสในเราเตอร์ คุณกำหนดค่าชุดการเข้ารหัสได้ผ่านพร็อพเพอร์ตี้ Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers ซึ่งแสดงถึง ชุดการเข้ารหัสที่ยอมรับซึ่งคั่นด้วยเครื่องหมายโคลอน

หากต้องการกำหนดค่าชุดการเข้ารหัสในเราเตอร์ ให้ทำดังนี้

  1. เปิดไฟล์ต่อไปนี้ในโปรแกรมแก้ไขบนเครื่องเราเตอร์ หากยังไม่มี ให้สร้าง

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

    ตัวอย่างเช่น หากต้องการเปิดไฟล์ด้วย vi ให้ ป้อนข้อมูลต่อไปนี้

    vi /opt/apigee/customer/application/router.properties
  2. เพิ่มบรรทัดในรูปแบบต่อไปนี้ลงในไฟล์ properties โดยแทนที่ค่า ด้วย colon_separated_cipher_suites
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites

    ตัวอย่างเช่น หากต้องการอนุญาตเฉพาะชุดการเข้ารหัส TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 และ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ให้กำหนดสตริงการเข้ารหัส OpenSSL ที่เกี่ยวข้องจาก หน้าคู่มือการเข้ารหัส OpenSSL ดังที่แสดงในตารางต่อไปนี้

    ชุดการเข้ารหัส สตริงการเข้ารหัส 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

    จากนั้นเพิ่มบรรทัดต่อไปนี้

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
  3. บันทึกการเปลี่ยนแปลง
  4. ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้นี้เป็นของapigeeผู้ใช้ตามที่แสดงด้านล่าง
    chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. รีสตาร์ทเราเตอร์ตามที่แสดงด้านล่าง
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. หากมีเราเตอร์มากกว่า 1 ตัว ให้ทำตามขั้นตอนข้างต้นในเราเตอร์ทั้งหมด

การยืนยันชุดการเข้ารหัสในเราเตอร์

ส่วนนี้จะอธิบายวิธียืนยันว่าชุดการเข้ารหัสได้รับการแก้ไขในเราเตอร์เรียบร้อยแล้ว

  1. ในเราเตอร์ ให้ค้นหาพร็อพเพอร์ตี้ conf_load_balancing_load.balancing.driver.server.ssl.ciphers โดยใช้ Apigee search utility จากโฟลเดอร์ /opt/apigee แล้วตรวจสอบว่าได้ตั้งค่าด้วย ค่าใหม่ดังนี้หรือไม่
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
  2. หากตั้งค่าชุดการเข้ารหัสใหม่ในเราเตอร์สำเร็จ คำสั่งข้างต้นจะแสดงค่าใหม่

    ต่อไปนี้คือตัวอย่างผลลัพธ์จากคำสั่ง search ด้านบนเมื่อมีการอัปเดตชุด การเข้ารหัสเป็น DHE-RSA-AES128-GCM-SHA256 และ ECDHE-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

    ในเอาต์พุตตัวอย่างด้านบน โปรดสังเกตว่าพร็อพเพอร์ตี้ conf_load_balancing_load.balancing.driver.server.ssl.ciphers ได้รับการตั้งค่า ด้วยค่าชุดการเข้ารหัสใหม่ ซึ่งหมายความว่าชุดการเข้ารหัสได้รับการอัปเดตเป็นสตริงการเข้ารหัส OpenSSL DHE-RSA-AES128-GCM-SHA25และ ECDHE-RSA-AES128-GCM-SHA256 บนเราเตอร์เรียบร้อยแล้ว

  3. หากยังเห็นค่าเดิมสำหรับชุดการเข้ารหัส conf_load_balancing_load.balancing.driver.server.ssl.ciphers ให้ตรวจสอบ ว่าคุณได้ทำตามขั้นตอนทั้งหมดที่ระบุไว้ใน การกำหนดค่าชุดการเข้ารหัสในเราเตอร์อย่างถูกต้อง หากคุณพลาดขั้นตอนใดไป ให้ทำตามขั้นตอนทั้งหมดอีกครั้งอย่างถูกต้อง
  4. หากยังคงแก้ไขชุดการเข้ารหัสในเราเตอร์ไม่ได้ โปรดติดต่อทีมสนับสนุนของ Apigee Edge