Edge for 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 On Premises
- คัดลอกไฟล์ JKS ของคีย์สโตร์ไปยังไดเรกทอรีในโหนด Management Server เช่น /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 On Premises - รีสตาร์ท Edge Management Server โดยใช้คำสั่งต่อไปนี้
$ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
ตอนนี้ 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 ทำงานสำหรับ Management 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 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
ไม่เช่นนั้น Edge UI จะปฏิเสธใบรับรองแบบ Self-signed - รีสตาร์ท Edge UI โดยใช้คำสั่งต่อไปนี้
$ /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= |
ใช้รหัสผ่านที่สร้างความสับสนในรูปแบบ OBF:xxxxxxxxxx |
|
conf_webserver_cert.alias= |
ชื่อแทนใบรับรอง Keystore ที่ไม่บังคับ |
|
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= |
ระบุชุดการเข้ารหัสที่ต้องการรวมหรือยกเว้น เช่น หากพบช่องโหว่ในการเข้ารหัส คุณสามารถยกเว้นได้ที่นี่ คั่นการเข้ารหัสหลายรายการด้วยการเว้นวรรค ดูข้อมูลเกี่ยวกับชุดการเข้ารหัสและสถาปัตยกรรมวิทยาการเข้ารหัสได้ที่หัวข้อต่อไปนี้
http://docs.oracle.com/javase/8/docs/technotes/ |
|
conf_webserver_ssl.session.cache.size= conf_webserver_ssl.session.timeout= |
จำนวนเต็มที่กำหนดสิ่งต่อไปนี้
|