เวอร์ชันที่เผยแพร่: 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.rpmedge-message-processor-4.53.01-0.0.60380.noarch.rpmedge-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 โหมด ดังนี้
1. โหมดผสม HSM (แนะนำ)
ในโหมดนี้ ระบบจะจัดเก็บเฉพาะคีย์ส่วนตัว (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:// (หรือชื่อการอ้างอิงมาตรฐาน) สำหรับที่เก็บซอฟต์แวร์
1. การกำหนดค่าโหมดผสม HSM (แนะนำ)
ใช้ 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 ลงในสภาพแวดล้อมที่ทำงานอยู่
- โหลดคีย์/ใบรับรองลงใน HSM จริง (ดู การโหลด Keystore/TrustStore ลงใน HSM)
- คัดลอกไฟล์ข้อมูล Keystore ใหม่ไปยังโหนด Message Processor และตั้งค่าเจ้าของเป็น
apigee - อัปเดต
/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 - รีสตาร์ท Message Processor ในแต่ละโหนด
apigee-service edge-message-processor restart
- อัปเดตการกำหนดค่าพร็อกซี API เพื่อใช้
hsmref://new_keystore_refใหม่ แล้วทำให้ใช้งานได้
การปิดใช้ HSM ทั่วโลก
วิธีปิดใช้ HSM
- อัปเดตพร็อกซีที่ใช้งานอยู่ทั้งหมดที่ใช้
hsmref://ให้ใช้การอ้างอิงซอฟต์แวร์มาตรฐาน (ref://) - ในโหนด Message Processor แต่ละรายการ ให้แก้ไข
/opt/apigee/customer/application/message-processor.propertiesแล้วตั้งค่าดังนี้conf_system_apigee.hsm.enabled=false
- กำหนดค่าใหม่และรีสตาร์ท 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 หรือบริษัทในเครือ เครื่องหมายการค้าอื่นๆ ทั้งหมดเป็นกรรมสิทธิ์ของเจ้าของเครื่องหมายนั้นๆ