Edge for Private Cloud v. 4.16.09
TLS (Transport Layer Security ซึ่ง SSL เป็นรุ่นก่อนหน้า) เป็นเทคโนโลยีความปลอดภัยมาตรฐานสำหรับการรับส่งข้อความที่เข้ารหัสอย่างปลอดภัยในสภาพแวดล้อม API ตั้งแต่แอปไปจนถึง Apigee Edge และบริการแบ็กเอนด์
ไม่ว่าคุณจะกำหนดค่าสภาพแวดล้อมสำหรับ API การจัดการอย่างไร เช่น กำลังใช้พร็อกซี เราเตอร์ และ/หรือโหลดบาลานซ์อยู่หน้า API การจัดการหรือไม่ Edge ให้คุณเปิดใช้และกำหนดค่า TLS ได้ ซึ่งจะช่วยให้คุณควบคุมการเข้ารหัสข้อความในสภาพแวดล้อมการจัดการ API ภายในองค์กรได้
สําหรับการติดตั้ง Edge Private Cloud ในองค์กร คุณสามารถกําหนดค่า TLS ได้ในหลายตำแหน่ง ดังนี้
- ระหว่างเราเตอร์กับ Message Processor
- สำหรับการเข้าถึง Edge Management API
- สําหรับการเข้าถึง UI การจัดการ Edge
- สำหรับการเข้าถึง API จากแอป
- สําหรับการเข้าถึงจาก Edge ไปยังบริการแบ็กเอนด์
การกำหนดค่า TLS สำหรับ 3 รายการแรกมีคำอธิบายอยู่ด้านล่าง ขั้นตอนทั้งหมดนี้ถือว่าคุณได้สร้างไฟล์ JKS ที่มีใบรับรอง TLS และคีย์ส่วนตัวแล้ว
หากต้องการกำหนดค่า TLS สำหรับการเข้าถึงจากแอปไปยัง API หมายเลข 4 ด้านบน โปรดดูการกำหนดค่าการเข้าถึง TLS ไปยัง API สำหรับระบบคลาวด์ส่วนตัว หากต้องการกำหนดค่า TLS สำหรับการเข้าถึงจาก Edge ไปยังบริการแบ็กเอนด์ #5 ด้านบน โปรดดูการกำหนดค่า TLS จาก Edge ไปยังแบ็กเอนด์ (ระบบคลาวด์และ Private Cloud)
ดูภาพรวมทั้งหมดเกี่ยวกับการกำหนดค่า TLS ใน Edge ได้ที่ TLS/SSL
การสร้างไฟล์ JKS
คุณแสดงคีย์สโตร์เป็นไฟล์ JKS โดยที่คีย์สโตร์มีใบรับรอง TLS และคีย์ส่วนตัว การสร้างไฟล์ JKS ทำได้หลายวิธี แต่วิธีหนึ่งคือการใช้ยูทิลิตี openssl และ keytool
ตัวอย่างเช่น คุณมีไฟล์ PEM ชื่อ server.pem ที่มีใบรับรอง TLS และไฟล์ PEM ชื่อ private_key.pem ที่มีคีย์ส่วนตัว ใช้คําสั่งต่อไปนี้เพื่อสร้างไฟล์ PKCS12
> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12
คุณต้องป้อนข้อความรหัสผ่านสำหรับคีย์ (หากมี) และรหัสผ่านการส่งออก คำสั่งนี้จะสร้างไฟล์ PKCS12 ชื่อ keystore.pkcs12
ใช้คำสั่งต่อไปนี้เพื่อแปลงเป็นไฟล์ JKS ชื่อ keystore.jks
> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks
ระบบจะแจ้งให้คุณป้อนรหัสผ่านใหม่สำหรับไฟล์ JKS และรหัสผ่านที่มีอยู่สำหรับไฟล์ PKCS12 ตรวจสอบว่าคุณใช้รหัสผ่านเดียวกันกับไฟล์ JKS กับที่ใช้กับไฟล์ PKCS12
หากต้องระบุชื่อแทนของคีย์ เช่น เมื่อกำหนดค่า TLS ระหว่างเราเตอร์และโปรแกรมประมวลผลข้อความ ให้ใส่ตัวเลือก "-name" ลงในคำสั่ง openssl ดังนี้
> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest
จากนั้นรวมตัวเลือก "-alias" ไว้ในคำสั่ง keytool ดังนี้
> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest
การสร้างรหัสผ่านที่มีการสร้างความสับสน
ขั้นตอนการกำหนดค่า TLS ของ Edge บางขั้นตอนกำหนดให้คุณป้อนรหัสผ่านที่มีการสร้างความสับสนในไฟล์การกําหนดค่า รหัสผ่านที่ปรับให้ยากต่อการอ่าน (Obfuscate) เป็นทางเลือกที่ปลอดภัยกว่าการป้อนรหัสผ่านในข้อความธรรมดา
คุณสร้างรหัสผ่านที่ปรับให้ยากต่อการอ่าน (Obfuscate) ใน Java ได้โดยใช้ไฟล์ Jetty .jar ที่ติดตั้งด้วย Edge สร้างรหัสผ่านที่มีการสร้างความสับสนโดยใช้คำสั่งในรูปแบบต่อไปนี้
> IFS= read -rsp Password: passvar; echo; java -cp "/opt/apigee/edge-gateway/lib/thirdparty/*" org.eclipse.jetty.util.security.Password $passvar 2>&1 |tail -2; unset passvar
ป้อนรหัสผ่านใหม่ตามข้อความแจ้ง ระบบจะไม่แสดงข้อความของรหัสผ่านเพื่อความปลอดภัย คำสั่งนี้จะแสดงรหัสผ่านในรูปแบบดังนี้
OBF:58fh40h61svy156789gk1saj MD5:902fobg9d80e6043b394cb2314e9c6
ใช้รหัสผ่านที่ปรับให้ยากต่อการอ่าน (Obfuscate) ที่ระบุโดย OBF เมื่อกำหนดค่า TLS
ดูข้อมูลเพิ่มเติมได้ที่บทความนี้