Edge for Private Cloud v. 4.17.01
โดยค่าเริ่มต้น TLS จะปิดใช้สำหรับ API การจัดการ และคุณจะเข้าถึง Edge Management API ผ่าน HTTP โดยใช้ที่อยู่ IP ของโหนดเซิร์ฟเวอร์การจัดการและพอร์ต 8080 เช่น
http://ms_IP:8080
หรือจะกําหนดค่าการเข้าถึง TLS ไปยัง Management API เพื่อให้เข้าถึงในรูปแบบต่อไปนี้ก็ได้
https://ms_IP:8443
ในตัวอย่างนี้ คุณจะกำหนดค่าการเข้าถึง TLS ให้ใช้พอร์ต 8443 แต่ Edge ไม่จำเป็นต้องใช้หมายเลขพอร์ตดังกล่าว แต่คุณจะกำหนดค่าเซิร์ฟเวอร์การจัดการให้ใช้ค่าพอร์ตอื่นก็ได้ ข้อกำหนดเพียงอย่างเดียวคือไฟร์วอลล์ต้องอนุญาตให้มีการรับส่งข้อมูลผ่านพอร์ตที่ระบุ
โปรดกําหนดการตั้งค่าในไฟล์ /opt/apigee/customer/application/management-server.properties เพื่อให้แน่ใจว่ามีการเข้ารหัสการรับส่งข้อมูลไปยังและจาก Management API
นอกจากการกำหนดค่า 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 ในการรับส่งข้อมูลไปยังและจาก API การจัดการ หากไม่มีไฟล์นี้ ให้สร้างไฟล์
ทําตามขั้นตอนต่อไปนี้เพื่อกําหนดค่าการเข้าถึง TLS ไปยัง Management API
- สร้างไฟล์ JKS ของคีย์สโตร์ที่ประกอบด้วยใบรับรอง TLS และคีย์ส่วนตัว ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่า TLS/SSL สำหรับ Edge On Premises
- คัดลอกไฟล์ 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
# ป้อนรหัสผ่าน Keystore ที่ปรับให้ยากต่อการอ่าน (Obfuscate) ด้านล่าง
conf_webserver_keystore.password=OBF:obfuscatedPassword
conf_webserver_cert.alias=apigee-devtest
โดยที่ keyStore.jks คือไฟล์คีย์สโตร์ และ obfuscatedPassword คือรหัสผ่านคีย์สโตร์ที่สร้างความสับสน โปรดดูการกำหนดค่า TLS/SSL สำหรับ Edge On Premises สำหรับข้อมูลเกี่ยวกับการสร้างรหัสผ่านที่ปรับให้ยากต่อการอ่าน (Obfuscate) - รีสตาร์ทเซิร์ฟเวอร์การจัดการ Edge โดยใช้คําสั่ง
$ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
ตอนนี้ Management API รองรับการเข้าถึงผ่าน TLS แล้ว
หลังจากตรวจสอบว่า TLS ทํางานอย่างถูกต้อง รวมถึงตรวจสอบว่า TLS ทํางานกับ UI ของ Edge คุณสามารถปิดใช้การเข้าถึง HTTP ไปยัง Management API ตามที่อธิบายไว้ในส่วนถัดไป
กำหนดค่า UI ของ Edge ให้ใช้ TLS เพื่อเข้าถึง Edge API
ในขั้นตอนข้างต้น Apigee จะต้องทิ้ง conf_webserver_http.turn.off=false เพื่อให้ Edge UI เรียกใช้ Edge API ผ่าน HTTP ต่อไปได้
ใช้ขั้นตอนต่อไปนี้ในการกำหนดค่า Edge UI เพื่อทำการเรียกใช้ผ่าน HTTPS เท่านั้น
- กำหนดค่าการเข้าถึง TLS ของ Management API ตามที่อธิบายไว้ข้างต้น
- หลังจากยืนยันว่า TLS ทํางานสําหรับ Management API แล้ว ให้แก้ไข /opt/apigee/customer/application/management-server.properties เพื่อตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
conf_webserver_http.turn.off=true - รีสตาร์ทเซิร์ฟเวอร์การจัดการ Edge โดยใช้คําสั่ง
$ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - แก้ไข /opt/apigee/customer/application/ui.properties
เพื่อตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้สำหรับ Edge UI หากไม่มีไฟล์ดังกล่าว ให้สร้างไฟล์
conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"
โดยที่ FQDN คือชื่อโดเมนแบบเต็มตามที่อยู่ใบรับรองของเซิร์ฟเวอร์การจัดการ และหมายเลขพอร์ตคือพอร์ตที่ระบุไว้ด้านบนโดย conf_webserver_ssl.port - เฉพาะในกรณีที่คุณใช้ใบรับรองแบบ Self-signed (ไม่แนะนำในสภาพแวดล้อมที่ใช้งานจริง) เมื่อกำหนดค่าการเข้าถึง TLS ไปยัง Management API ด้านบน ให้เพิ่มพร็อพเพอร์ตี้ต่อไปนี้ลงใน ui.properties
conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true
มิเช่นนั้น UI ของ Edge จะปฏิเสธใบรับรองแบบ Self-signed - รีสตาร์ท UI ของ Edge โดยใช้คําสั่ง
$ /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
พร็อพเพอร์ตี้ 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= |
ใช้รหัสผ่านที่มีการปรับให้ยากต่อการอ่าน (Obfuscate) ในรูปแบบนี้: 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= |
กำหนดการตั้งค่าสำหรับที่เก็บข้อมูลเชื่อถือ ระบุว่าคุณต้องการยอมรับใบรับรอง TLS/SSL ทั้งหมดหรือไม่ (เช่น เพื่อยอมรับประเภทที่ไม่ใช่มาตรฐาน) โดยมีค่าเริ่มต้นเป็น false ระบุเส้นทางไปยังที่เก็บข้อมูลที่เชื่อถือ และป้อนรหัสผ่านที่เก็บข้อมูลที่เชื่อถือซึ่งสร้างความสับสนในรูปแบบนี้ OBF:xxxxxxxxxx |
conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2> conf_webserver_include.cipher.suites= |
ระบุชุดการเข้ารหัสที่ต้องการรวมหรือยกเว้น เช่น หากพบช่องโหว่ในรหัส คุณสามารถยกเว้นรหัสดังกล่าวได้ที่นี่ เว้นวรรคคั่นการเข้ารหัสหลายรายการ ดูข้อมูลเกี่ยวกับชุดการเข้ารหัสและสถาปัตยกรรมวิทยาการเข้ารหัสได้ที่
http://docs.oracle.com/javase/8/docs/technotes/ |
conf_webserver_ssl.session.cache.size= conf_webserver_ssl.session.timeout= |
จำนวนเต็มที่กำหนดสิ่งต่อไปนี้
|