Edge สำหรับ Private Cloud เวอร์ชัน 4.17.05
โดยค่าเริ่มต้น TLS จะปิดใช้สำหรับ Management API และคุณเข้าถึง Edge Management API ผ่าน HTTP โดยใช้ที่อยู่ IP ของโหนด Management Server และพอร์ต 8080 เช่น
http://ms_IP:8080
นอกจากนี้ คุณอาจกำหนดค่าการเข้าถึง TLS ให้กับ Management API เพื่อให้เข้าถึงได้ในแบบฟอร์ม ดังนี้
https://ms_IP:8443
ในตัวอย่างนี้ คุณได้กำหนดค่าการเข้าถึง TLS เพื่อใช้พอร์ต 8443 แต่ Edge ไม่จำเป็นต้องใช้หมายเลขพอร์ตดังกล่าว คุณกำหนดค่าเซิร์ฟเวอร์การจัดการให้ใช้ค่าพอร์ตอื่นๆ ได้ ข้อกำหนดเพียงอย่างเดียวคือไฟร์วอลล์อนุญาตให้มีการรับส่งข้อมูลผ่านพอร์ตที่ระบุ
หากต้องการตรวจสอบว่ามีการเข้ารหัสการรับส่งข้อมูลไปยังและจาก Management API ให้กำหนดการตั้งค่าในไฟล์ /opt/apigee/customer/application/management-server.properties
นอกจากการกำหนดค่า TLS แล้ว คุณยังควบคุมการตรวจสอบรหัสผ่าน (ความยาวและความรัดกุมของรหัสผ่าน) ได้โดยการแก้ไขไฟล์ management-server.properties
ตรวจสอบว่าพอร์ต TLS เปิดอยู่
กระบวนการในส่วนนี้จะกำหนด TLS ให้ใช้พอร์ต 8443 ในเซิร์ฟเวอร์การจัดการ ไม่ว่าคุณจะใช้พอร์ตใด คุณต้องตรวจสอบว่าพอร์ตนั้นเปิดอยู่ในเซิร์ฟเวอร์การจัดการ เช่น ใช้คำสั่งต่อไปนี้เพื่อเปิด
$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose
กำหนดค่า TLS
แก้ไขไฟล์ /opt/apigee/customer/application/management-server.properties เพื่อควบคุมการใช้ TLS ในการรับส่งข้อมูลเข้าและออกจาก Management API หากไม่มีไฟล์นี้ ให้สร้างขึ้นมา
ใช้ขั้นตอนต่อไปนี้เพื่อกำหนดค่าการเข้าถึง TLS ไปยัง Management API
- สร้างไฟล์ JKS คีย์สโตร์ที่มีการรับรอง TLS และคีย์ส่วนตัว โปรดดูการกำหนดค่า TLS/SSL สำหรับ Edge ภายในองค์กร
- คัดลอกไฟล์ JKS สำหรับคีย์สโตร์ไปยังไดเรกทอรีในโหนดของเซิร์ฟเวอร์การจัดการ เช่น /opt/apigee/customer/application
- เปลี่ยนการเป็นเจ้าของไฟล์ JKS เป็น apigee:
$ chown apigee:apigee keystore.jks
โดยที่ keystore.jks คือชื่อไฟล์คีย์สโตร์ของคุณ - แก้ไข /opt/apigee/customer/application/management-server.properties เพื่อตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ หากไม่มี ให้สร้างไฟล์ดังนี้
conf_webserver_ssl.enabled=true
# ตั้งค่า conf_webserver_http.turn.off เป็น false
# เนื่องจากการเรียกใช้ภายใน Edge จํานวนมากใช้ HTTP
conf_webserver_http.turn.off=false
conf_webserver_ssl.port=8443
conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
# ป้อนรหัสผ่านคีย์สโตร์ที่มีการสร้างความสับสนด้านล่าง
conf_webserver_keystore.password=OBF:obfuscatedPassword
conf_webserver_cert.alias=apigee-devtest
โดยที่ keyStore.jks เป็นไฟล์คีย์สโตร์ และ obfuscatedPassword คือรหัสผ่านคีย์สโตร์ที่มีความสับสน โปรดดูการกำหนดค่า TLS/SSL สำหรับ Edge ภายในองค์กรเพื่อดูข้อมูลเกี่ยวกับการสร้างรหัสผ่านที่สร้างความสับสน - รีสตาร์ท Edge Management Server โดยใช้คำสั่งต่อไปนี้
$ /opt/apigee/apigee-service/bin/apigee-service edge-management-serverของหน้ารีสตาร์ท
ขณะนี้ Management API รองรับการเข้าถึงผ่าน TLS แล้ว
หลังจากตรวจสอบแล้วว่า TLS ทำงานอย่างถูกต้อง รวมถึงตรวจสอบว่า TLS ใช้งานได้กับ Edge UI แล้ว คุณอาจปิดใช้การเข้าถึง HTTP สำหรับ Management API ตามที่อธิบายไว้ในส่วนถัดไป
กำหนดค่า Edge UI เพื่อใช้ TLS ในการเข้าถึง Edge API
ในขั้นตอนด้านบน Apigee แนะนำให้ปล่อย conf_webserver_http.turn.off=false ไว้เพื่อให้ Edge UI เรียก Edge API ผ่าน HTTP ต่อไปได้
ใช้ขั้นตอนต่อไปนี้ในการกำหนดค่า Edge UI เพื่อทำการเรียกผ่าน HTTPS เท่านั้น
- กำหนดค่าการเข้าถึง TLS ไปยัง Management API ดังที่อธิบายข้างต้น
- หลังจากยืนยันว่า TLS ใช้งานได้กับ API การจัดการแล้ว ให้แก้ไข /opt/apigee/customer/application/management-server.properties เพื่อตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
conf_webserver_http.turn.off=true - รีสตาร์ท Edge Management Server โดยใช้คำสั่งต่อไปนี้
$ /opt/apigee/apigee-service/bin/apigee-service edge-management-serverบ้างไหม - แก้ไข /opt/apigee/customer/application/ui.properties เพื่อตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้สำหรับ Edge UI หากไม่มี ให้สร้างไฟล์ดังนี้
conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"
โดยที่ FQDN คือชื่อโดเมนแบบเต็มตามที่อยู่ใบรับรองของเซิร์ฟเวอร์การจัดการและหมายเลขพอร์ตคือพอร์ตที่ conf_webserver._ssl. ระบุไว้ด้านบน - เฉพาะในกรณีที่คุณใช้ใบรับรองแบบ Self-signed (ไม่แนะนำในสภาพแวดล้อมเวอร์ชันที่ใช้งานจริง) เมื่อกำหนดค่าการเข้าถึง TLS สำหรับ Management API ด้านบน ให้เพิ่มพร็อพเพอร์ตี้ต่อไปนี้ไปยัง ui.properties
conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true
มิเช่นนั้น Edge UI จะปฏิเสธใบรับรองที่ลงนามด้วยตนเอง - รีสตาร์ท UI ของ Edge โดยใช้คำสั่งต่อไปนี้
$ /opt/apigee/apigee-service/bin/apigee-service edge-uiของหน้าอีกครั้ง
พร็อพเพอร์ตี้ TLS สำหรับเซิร์ฟเวอร์การจัดการ
ตารางต่อไปนี้แสดงพร็อพเพอร์ตี้ TLS/SSL ทั้งหมดที่คุณตั้งค่าได้ใน management-server.properties
พร็อพเพอร์ตี้ |
คำอธิบาย |
---|---|
conf_webserver_http.port=8080 |
ค่าเริ่มต้นคือ 8080 |
conf_webserver_ssl.enabled=false |
ในการเปิด/ปิดใช้ TLS/SSL เมื่อเปิดใช้ TLS/SSL (จริง) คุณต้องตั้งค่าพร็อพเพอร์ตี้ ssl.port และ keystore.path ด้วย |
conf_webserver_http.turn.off=true |
หากต้องการเปิด/ปิดใช้ http พร้อมกับ https หากต้องการใช้เฉพาะ HTTPS ให้ใช้ค่าเริ่มต้นเป็น true |
conf_webserver_ssl.port=8443 |
พอร์ต TLS/SSL จำเป็นเมื่อมีการเปิดใช้ TLS/SSL (conf_webserver_ssl.enabled=true) |
conf_webserver_keystore.path=<path> |
เส้นทางไปยังไฟล์คีย์สโตร์ จำเป็นเมื่อมีการเปิดใช้ TLS/SSL (conf_webserver_ssl.enabled=true) |
conf_webserver_keystore.password= |
ใช้รหัสผ่านที่สร้างความสับสนในรูปแบบ OBF:xxxxxxxxxx |
conf_webserver_cert.alias= |
ชื่อแทนใบรับรองคีย์สโตร์ที่ไม่บังคับ |
conf_webserver_keymanager.password= |
หากเครื่องมือจัดการคีย์มีรหัสผ่าน ให้ป้อนรหัสผ่านที่มีการสร้างความสับสนในรูปแบบ OBF:xxxxxxxxxx |
conf_webserver_trust.all= <false | true> conf_webserver_trust.store.path=<path> conf_webserver_trust.store.password= |
กำหนดการตั้งค่าสำหรับ Trust Store กำหนดว่าคุณต้องการยอมรับใบรับรอง TLS/SSL ทั้งหมดหรือไม่ (เช่น เพื่อยอมรับประเภทที่ไม่ใช่มาตรฐาน) ค่าเริ่มต้นคือ false ระบุเส้นทางไปยัง Trust Store ของคุณ และป้อนรหัสผ่านของ Trust Store ที่มีการสร้างความสับสนในรูปแบบ OBF:xxxxxxxxxx |
conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2> conf_webserver_include.cipher.suites= |
ระบุชุดการเข้ารหัสที่ต้องการรวมหรือยกเว้น เช่น หากพบช่องโหว่ในการเข้ารหัส คุณจะยกเว้นช่องโหว่ดังกล่าวได้ที่นี่ คั่นการเข้ารหัสหลายรายการด้วยการเว้นวรรค สำหรับข้อมูลเกี่ยวกับชุด Cypher และสถาปัตยกรรมวิทยาการเข้ารหัส โปรดดู:
http://docs.oracle.com/javase/8/docs/technotes/ |
conf_webserver_ssl.session.cache.size= conf_webserver_ssl.session.timeout= |
จำนวนเต็มที่กำหนดข้อมูลต่อไปนี้
|