คู่มือการผสานรวมโมดูลความปลอดภัยของฮาร์ดแวร์ขาออกสำหรับ Apigee Edge สำหรับ Private Cloud

เวอร์ชันที่เผยแพร่: Edge for Private Cloud v4.53.01.02 Patch Release ขึ้นไป

หน้านี้อธิบายวิธีกำหนดค่าการเชื่อมต่อ TLS ขาออก (จาก Message Processor ของ Apigee ไปยังบริการเป้าหมายแบ็กเอนด์) โดยใช้โมดูลความปลอดภัยของฮาร์ดแวร์ (HSM) ในเครือข่าย Entrust nShield® 5c

คำปฏิเสธเกี่ยวกับเนื้อหาของบุคคลที่สาม: หน้านี้มีขั้นตอนการกำหนดค่าฮาร์ดแวร์ Entrust nShield ที่เกี่ยวข้องกับการผสานรวม Apigee Edge ขั้นตอนเหล่านี้อิงตามรูปแบบการผสานรวมมาตรฐานและมีไว้เพื่อวัตถุประสงค์ในการให้ข้อมูลเท่านั้น การกำหนดค่า Entrust อาจมีการเปลี่ยนแปลงโดยผู้ผลิต โปรดดูข้อมูลจำเพาะที่เชื่อถือได้ การกำหนดค่าความปลอดภัย และข้อกำหนดของฮาร์ดแวร์ปัจจุบันได้ที่พอร์ทัลเอกสารประกอบอย่างเป็นทางการของ Entrust

ภาพรวม

โมดูลความปลอดภัยของฮาร์ดแวร์ (HSM) มีสภาพแวดล้อมเฉพาะที่ได้รับการเสริมความแข็งแกร่งสำหรับการจัดเก็บคีย์ที่ปลอดภัยและการดำเนินการเข้ารหัสลับ การผสานรวม Apigee Edge for Private Cloud กับ HSM ของ Entrust nShield จะช่วยให้คุณรักษาความปลอดภัยของคีย์ส่วนตัวที่ใช้ในการแฮนด์เชค TLS และ mTLS ขาออกได้

Apigee รองรับการผสานรวม HSM สำหรับการรับส่งข้อมูล HTTPS ขาออกในคอมโพเนนต์ต่อไปนี้

  • ปลายทางเป้าหมาย
  • เซิร์ฟเวอร์เป้าหมาย
  • นโยบายการเรียกใช้บริการ
  • นโยบายการบันทึกข้อความ
  • นโยบาย JavaScript

ข้อกำหนดเบื้องต้น

ตรวจสอบว่าคุณมีคุณสมบัติตามข้อกำหนดเบื้องต้นต่อไปนี้ก่อนที่จะกำหนดค่าการผสานรวม HSM

1. ข้อกำหนดด้านเวอร์ชันของซอฟต์แวร์

  • คลัสเตอร์ Apigee Edge for Private Cloud ต้องทำงานบนเวอร์ชัน 4.53.01.02 ขึ้นไป
  • การผสานรวม HSM รวมอยู่ใน RPM เวอร์ชันต่อไปนี้ (หรือสูงกว่า) โดยค่าเริ่มต้น
    • edge-management-server-4.53.01-0.0.60380.noarch.rpm
    • edge-message-processor-4.53.01-0.0.60380.noarch.rpm
    • edge-gateway-4.53.01-0.0.60380.noarch.rpm

2. การกำหนดค่าโครงสร้างพื้นฐานและระบบปฏิบัติการ

  • ระบบปฏิบัติการที่โฮสต์คลัสเตอร์ Edge for Private Cloud ต้องปิดใช้ FIPS
  • คุณต้องติดตั้งและกำหนดค่าไคลเอ็นต์ HSM และ Security World ในโหนด Message Processor ทั้งหมด
  • สำคัญ: ผู้ใช้ apigee ต้องเป็นผู้ดำเนินการตามขั้นตอนเหล่านี้

ตรวจสอบว่าการติดตั้งไคลเอ็นต์ HSM ได้รับการกำหนดค่าอย่างถูกต้องและผู้ใช้ apigee เข้าถึงได้โดยเรียกใช้การทดสอบการติดตั้ง JCA/JCE CSP มาตรฐานที่ระบุไว้ในเอกสารประกอบอย่างเป็นทางการของ Entrust nShield ตรวจสอบว่าการทดสอบนี้เสร็จสมบูรณ์ในโหนด Message Processor ทั้งหมด

การกำหนดค่าที่รองรับ

คุณสามารถกำหนดค่า Apigee ให้ใช้ HSM ได้ 2 โหมด ดังนี้

ในโหมดนี้ ระบบจะจัดเก็บเฉพาะคีย์ส่วนตัว (KeyStore) ไว้ใน HSM ส่วนใบรับรองที่เชื่อถือได้ (TrustStore) จะยังคงอยู่ในที่เก็บซอฟต์แวร์มาตรฐานของ Apigee

2. โหมด HSM เต็ม

ในโหมดนี้ ระบบจะจัดเก็บทั้ง KeyStore (คีย์ส่วนตัว) และ TrustStore (ใบรับรองที่เชื่อถือได้) ไว้ใน HSM ระบบรองรับโหมดนี้ แต่โหมดนี้อาจทำให้เกิดเวลาในการตอบสนองเพิ่มเติม

ขั้นตอนที่ 1: เปิดใช้ HSM ใน Message Processor

ทำตามขั้นตอนต่อไปนี้ในโหนด Message Processor แต่ละรายการทีละรายการ

1. หยุด Message Processor

apigee-service edge-message-processor stop

2. ตรวจสอบไฟล์ข้อมูล Keystore ของ HSM

ตรวจสอบว่าไฟล์ข้อมูล Keystore ของ HSM (อ้างอิงคีย์ที่โหลดใน HSM) อยู่ในโหนด Message Processor และผู้ใช้ apigee เป็นเจ้าของ

chown apigee:apigee /opt/apigee/{name_of_the_Keystore_Data_File}

3. สร้างไฟล์การกำหนดค่า HSM

สร้างหรืออัปเดตไฟล์การกำหนดค่าที่ /opt/apigee/hsm-config.properties กำหนดตำแหน่งและรหัสผ่านสำหรับ Keystore และ (ไม่บังคับ) TrustStore ของ HSM

ตัวอย่างการกำหนดค่า (รองรับทั้งพร็อกซี HSM แบบผสมและแบบเต็ม)

# HSM KeyStore Reference
hsm.property.unique_keystore_ref1.keystore.file.location=/opt/apigee/ks.keystore
hsm.property.unique_keystore_ref1.keystore.password=keystore_password

# HSM TrustStore Reference (Optional, only needed for Full HSM Mode)
hsm.property.unique_truststore_ref1.truststore.file.location=/opt/apigee/ts.truststore
hsm.property.unique_truststore_ref1.truststore.password=truststore_password

ตั้งค่าสิทธิ์ที่ถูกต้อง

chown apigee:apigee /opt/apigee/hsm-config.properties
chmod 600 /opt/apigee/hsm-config.properties

4. กำหนดค่าพร็อพเพอร์ตี้ของ Message Processor

สร้างหรือแก้ไข /opt/apigee/customer/application/message-processor.properties แล้วเพิ่มข้อมูลต่อไปนี้

# Enable HSM Integration
conf_system_apigee.hsm.enabled=true

# HSM Configuration File Path
conf_system_apigee.hsm.properties.file=/opt/apigee/hsm-config.properties

# Advanced Custom HSM Port Support (Optional, default is 9000/9001)
# conf_system_apigee.hsm.priv_port=9001
# conf_system_apigee.hsm.nonpriv_port=9000

ตรวจสอบว่าเจ้าของถูกต้อง

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

5. กำหนดค่าใหม่และรีสตาร์ท

apigee-service edge-message-processor configure
apigee-service edge-message-processor restart

6. ตรวจสอบการเริ่มต้น

ตรวจสอบบันทึกของระบบ /opt/apigee/var/log/edge-message-processor/logs/system.log เพื่อดูข้อความการเริ่มต้นที่สำเร็จ

main INFO  SECURITY-CONTEXT - SSLPreEvaluationContext.isHSMConfigEnabled() : HSM_FLOW : HSM config is enabled
main INFO  SECURITY-CONTEXT - SSLPreEvaluationContext.loadProperties() : HSM_FLOW :  HSM config properties loaded from file /opt/apigee/hsm-config.properties

ขั้นตอนที่ 2: กำหนดค่าพร็อกซี API

อัปเดตบล็อก SSLInfo ในการกำหนดค่าพร็อกซี API (TargetEndpoint, ServiceCallout หรือนโยบาย) ใช้คำนำหน้า hsmref:// เพื่ออ้างอิงที่เก็บที่ HSM จัดการ และ ref:// (หรือชื่อการอ้างอิงมาตรฐาน) สำหรับที่เก็บซอฟต์แวร์

ใช้ HSM สำหรับ KeyStore (การตรวจสอบสิทธิ์ไคลเอ็นต์) และซอฟต์แวร์สำหรับ TrustStore

<SSLInfo>
    <Enabled>true</Enabled>
    <ClientAuthEnabled>true</ClientAuthEnabled>
    <KeyStore>hsmref://unique_keystore_ref1</KeyStore>
    <TrustStore>ref://mySoftwareTrustStoreRef</TrustStore>
</SSLInfo>

2. การกำหนดค่า HSM เต็ม

ใช้ HSM สำหรับทั้ง KeyStore และ TrustStore

<SSLInfo>
    <Enabled>true</Enabled>
    <ClientAuthEnabled>true</ClientAuthEnabled>
    <KeyStore>hsmref://unique_keystore_ref1</KeyStore>
    <TrustStore>hsmref://unique_truststore_ref1</TrustStore>
</SSLInfo>

การข้ามการตรวจสอบความถูกต้องในเวลาที่ทำให้ใช้งานได้

Apigee จะข้ามการตรวจสอบการมีอยู่ของ Keystore/TrustStore ในสภาพแวดล้อมโดยอัตโนมัติในระหว่างการทำให้ใช้งานได้สำหรับการอ้างอิงใดๆ ที่ขึ้นต้นด้วยคำนำหน้า hsmref:// เพื่อให้การทำให้ใช้งานได้ง่ายขึ้นโดยไม่ต้องอัปโหลดคีย์ส่วนตัวไปยังฐานข้อมูล Cassandra ของ Apigee

การดำเนินการ: การเพิ่ม Keystore/TrustStore ใหม่ของ HSM

วิธีเพิ่ม Keystore หรือ TrustStore ใหม่ของ HSM ลงในสภาพแวดล้อมที่ทำงานอยู่

  1. โหลดคีย์/ใบรับรองลงใน HSM จริง (ดู การโหลด Keystore/TrustStore ลงใน HSM)
  2. คัดลอกไฟล์ข้อมูล Keystore ใหม่ไปยังโหนด Message Processor และตั้งค่าเจ้าของเป็น apigee
  3. อัปเดต /opt/apigee/hsm-config.properties ในโหนด Message Processor ทั้งหมด ด้วยการอ้างอิงใหม่
    hsm.property.new_keystore_ref.keystore.file.location=/opt/apigee/new_ks.keystore
    hsm.property.new_keystore_ref.keystore.password=new_password
        
  4. รีสตาร์ท Message Processor ในแต่ละโหนด
    apigee-service edge-message-processor restart
  5. อัปเดตการกำหนดค่าพร็อกซี API เพื่อใช้ hsmref://new_keystore_ref ใหม่ แล้วทำให้ใช้งานได้

การปิดใช้ HSM ทั่วโลก

วิธีปิดใช้ HSM

  1. อัปเดตพร็อกซีที่ใช้งานอยู่ทั้งหมดที่ใช้ hsmref:// ให้ใช้การอ้างอิงซอฟต์แวร์มาตรฐาน (ref://)
  2. ในโหนด Message Processor แต่ละรายการ ให้แก้ไข /opt/apigee/customer/application/message-processor.properties แล้วตั้งค่าดังนี้
    conf_system_apigee.hsm.enabled=false
  3. กำหนดค่าใหม่และรีสตาร์ท Message Processor
    apigee-service edge-message-processor configure
    apigee-service edge-message-processor restart

ข้อจำกัดและคำเตือน

  • ฮาร์ดแวร์ที่รองรับ: จำกัดเฉพาะ HSM ในเครือข่าย Entrust nShield 5c
  • การบำรุงรักษา: ลูกค้ามีหน้าที่รับผิดชอบในการบำรุงรักษาเซิร์ฟเวอร์/ไคลเอ็นต์ HSM
  • เวลาในการตอบสนอง: เวลาในการตอบสนองเพิ่มเติมอาจเกิดขึ้นเนื่องจากการเจรจาต่อรองเครือข่ายกับ HSM การใช้โหมดผสม HSM จะช่วยลดปัญหานี้ได้ในระดับหนึ่ง
  • การรีสตาร์ท HSM: หากฮาร์ดแวร์เซิร์ฟเวอร์ HSM รีสตาร์ท คุณต้องรีสตาร์ท edge-message-processor ในโหนด Message Processor ที่เชื่อมต่อ

การโหลด Keystore/TrustStore ลงใน HSM

โปรดดูคำสั่ง keytool ที่แน่นอนซึ่งจำเป็นสำหรับการนำเข้า Keystore PKCS12 หรือใบรับรอง PEM ลงใน HSM ได้ที่พอร์ทัลเอกสารประกอบอย่างเป็นทางการของ Entrust nShield

ไฟล์ Keystore ของ HSM ที่ได้ต้องเป็นไปตามข้อกำหนดต่อไปนี้เพื่อให้มั่นใจว่าเข้ากันได้กับ Apigee

  • ไดเรกทอรี: ต้องบันทึกไว้ที่ /opt/apigee/ (เช่น /opt/apigee/hsmks.keystore)
  • สิทธิ์: ต้องเป็นของผู้ใช้ apigee (chown apigee:apigee /opt/apigee/<filename>)
  • ความสามารถในการอ่าน: บริการ edge-message-processor ต้องอ่านได้

ข้อมูลอ้างอิงข้อผิดพลาด

รหัสข้อผิดพลาด สถานะ HTTP คำอธิบาย / สาเหตุ
entities.HsmConfigNotEnabled 500 พร็อกซี API พยายามใช้ hsmref:// ในรันไทม์ แต่ HSM ถูกปิดใช้ทั่วโลก (conf_system_apigee.hsm.enabled=false) ใน Message Processor

Entrust และ nShield เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Entrust Corporation หรือบริษัทในเครือ เครื่องหมายการค้าอื่นๆ ทั้งหมดเป็นกรรมสิทธิ์ของเจ้าของเครื่องหมายนั้นๆ