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

คุณกำลังดูเอกสารประกอบของ 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 คุณจะต้องระบุสตริงการเข้ารหัส 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 รับโฮสต์เสมือนดังที่แสดงด้านล่าง

    ผู้ใช้ Public Cloud

    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 อัปเดตโฮสต์เสมือน ดังนี้

    ผู้ใช้ 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}
    

    ผู้ใช้ 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 ดังที่แสดงด้านล่าง

    ผู้ใช้ Public Cloud

    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