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

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

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

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

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

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

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

คุณจะกำหนดค่าชุดการเข้ารหัสบนโฮสต์เสมือนหรือเราเตอร์ Apigee ก็ได้ หมายเหตุ ที่ 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

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

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

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

โปรดดูรายการการเข้ารหัสในชุดการเข้ารหัสที่รองรับ ที่ Apigee รองรับอีกด้วย

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

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

การใช้ Edge UI

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

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

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

ส่วนนี้จะอธิบายวิธีกำหนดค่าชุดการเข้ารหัสบนเราเตอร์ สามารถใช้ชุดการเข้ารหัสได้ กำหนดค่าผ่านพร็อพเพอร์ตี้เราเตอร์ 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 ยูทิลิตีการค้นหาจากโฟลเดอร์ /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