การกําหนดค่า TLS/SSL สําหรับสถานที่ภายในองค์กร

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 ได้ในหลายตำแหน่ง ดังนี้

  1. ระหว่างเราเตอร์กับ Message Processor
  2. สำหรับการเข้าถึง Edge Management API
  3. สําหรับการเข้าถึง UI การจัดการ Edge
  4. สำหรับการเข้าถึง API จากแอป
  5. สําหรับการเข้าถึงจาก 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

ดูข้อมูลเพิ่มเติมได้ที่บทความนี้