โดยค่าเริ่มต้น คุณจะเข้าถึง Edge UI ผ่าน HTTP โดยใช้ที่อยู่ IP ของโหนดเซิร์ฟเวอร์การจัดการและพอร์ต 9000 เช่น
http://ms_IP:9000
หรือจะกำหนดค่าการเข้าถึง TLS ไปยัง Edge UI เพื่อให้เข้าถึงได้ในรูปแบบต่อไปนี้ก็ได้
https://ms_IP:9443
ในตัวอย่างนี้ คุณกำหนดค่าการเข้าถึง TLS ให้ใช้พอร์ต 9443 อย่างไรก็ตาม Edge ไม่จำเป็นต้องใช้หมายเลขพอร์ตดังกล่าว คุณสามารถกำหนดค่าเซิร์ฟเวอร์การจัดการให้ใช้ค่าพอร์ตอื่นๆ ได้ ข้อกำหนดเพียงอย่างเดียวคือไฟร์วอลล์ของคุณต้องอนุญาตการรับส่งข้อมูลผ่านพอร์ตที่ระบุ
ตรวจสอบว่าพอร์ต TLS เปิดอยู่
ขั้นตอนในส่วนนี้จะกำหนดค่า TLS ให้ใช้พอร์ต 9443 ในเซิร์ฟเวอร์การจัดการ ไม่ว่าจะใช้พอร์ตใด คุณต้องตรวจสอบว่าพอร์ตนั้นเปิดอยู่ในเซิร์ฟเวอร์การจัดการ เช่น คุณสามารถใช้คำสั่งต่อไปนี้เพื่อเปิดไฟล์
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose
กำหนดค่า TLS
ใช้ขั้นตอนต่อไปนี้เพื่อกำหนดค่าการเข้าถึง TLS ไปยัง UI การจัดการ
- สร้างไฟล์ JKS ของคีย์สโตร์ที่มีการรับรอง TLS และคีย์ส่วนตัว แล้วคัดลอกไปยังโหนดเซิร์ฟเวอร์การจัดการ ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่า TLS/SSL สำหรับ Edge On Premises
- เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่า TLS
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- ป้อนหมายเลขพอร์ต HTTPS เช่น 9443
- ระบุว่าต้องการปิดใช้การเข้าถึง HTTP ไปยัง UI การจัดการหรือไม่ โดยค่าเริ่มต้น UI การจัดการจะเข้าถึงได้ผ่าน HTTP บนพอร์ต 9000
- ป้อนอัลกอริทึมคีย์สโตร์ ค่าเริ่มต้นคือ JKS
- ป้อน Absolute Path ไปยังไฟล์ JKS ของคีย์สโตร์
สคริปต์จะคัดลอกไฟล์ไปยังไดเรกทอรี
/opt/apigee/customer/confในโหนดเซิร์ฟเวอร์การจัดการ และเปลี่ยนการเป็นเจ้าของไฟล์เป็น "apigee" - ป้อนรหัสผ่านคีย์สโตร์แบบข้อความธรรมดา
- จากนั้นสคริปต์จะรีสตาร์ท UI การจัดการ Edge หลังจากรีสตาร์ท UI การจัดการจะรองรับการเข้าถึงผ่าน TLS
คุณดูการตั้งค่าเหล่านี้ได้ใน
/opt/apigee/etc/edge-ui.d/SSL.sh
การใช้ไฟล์การกำหนดค่าเพื่อกำหนดค่า TLS
อีกวิธีหนึ่งนอกเหนือจากขั้นตอนข้างต้นคือ คุณสามารถส่งไฟล์การกำหนดค่าไปยังคำสั่งในขั้นตอนที่ 2 ของกระบวนการได้ คุณจะต้องใช้วิธีนี้หากต้องการตั้งค่าพร็อพเพอร์ตี้ TLS ที่ไม่บังคับ
หากต้องการใช้ไฟล์การกำหนดค่า ให้สร้างไฟล์ใหม่และเพิ่มพร็อพเพอร์ตี้ต่อไปนี้
HTTPSPORT=9443 DISABLE_HTTP=y KEY_ALGO=JKS KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks KEY_PASS=clearTextKeystorePWord
บันทึกไฟล์ในไดเรกทอรีในเครื่องโดยใช้ชื่อใดก็ได้ที่ต้องการ จากนั้นใช้คำสั่งต่อไปนี้เพื่อกำหนดค่า TLS
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile
โดย configFile คือเส้นทางแบบเต็มไปยังไฟล์ที่คุณบันทึกไว้
กำหนดค่า Edge UI เมื่อ TLS สิ้นสุดในตัวจัดสรรภาระงาน
หากคุณมีตัวจัดสรรภาระงานที่ส่งต่อคำขอไปยัง Edge UI คุณอาจเลือกที่จะสิ้นสุดการเชื่อมต่อ TLS ในตัวจัดสรรภาระงาน แล้วให้ตัวจัดสรรภาระงานส่งต่อคำขอไปยัง Edge UI ผ่าน HTTP ระบบรองรับการกำหนดค่านี้ แต่คุณต้องกำหนดค่าตัวจัดสรรภาระงานและ Edge UI ให้สอดคล้องกัน
ต้องมีการกำหนดค่าเพิ่มเติมเมื่อ Edge UI ส่งอีเมลให้ผู้ใช้เพื่อตั้งรหัสผ่านเมื่อมีการสร้างผู้ใช้หรือเมื่อผู้ใช้ขอรีเซ็ตรหัสผ่านที่สูญหาย อีเมลนี้จะมี URL ที่ผู้ใช้เลือกเพื่อตั้งค่าหรือรีเซ็ตรหัสผ่าน โดยค่าเริ่มต้น หากไม่ได้กำหนดค่า Edge UI ให้ใช้ TLS แล้ว URL ในอีเมลที่สร้างขึ้นจะใช้โปรโตคอล HTTP ไม่ใช่ HTTPS คุณต้องกำหนดค่าตัวจัดสรรภาระงานและ Edge UI เพื่อสร้างอีเมลที่ใช้ HTTPS
หากต้องการกำหนดค่าตัวจัดสรรภาระงาน ให้ตรวจสอบว่าได้ตั้งค่าส่วนหัวต่อไปนี้ในคำขอที่ส่งต่อไปยัง Edge UI
X-Forwarded-Proto: https
วิธีกำหนดค่า Edge UI
- เปิดไฟล์
/opt/apigee/customer/application/ui.propertiesในเครื่องมือแก้ไข หากไม่มีไฟล์ ให้สร้างไฟล์โดยทำดังนี้vi /opt/apigee/customer/application/ui.properties
- ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ใน
ui.propertiesconf/application.conf+trustxforwarded=true
- บันทึกการเปลี่ยนแปลงใน
ui.properties - รีสตาร์ท Edge UI โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
การตั้งค่าพร็อพเพอร์ตี้ TLS ที่ไม่บังคับ
Edge UI รองรับพร็อพเพอร์ตี้การกำหนดค่า TLS ที่ไม่บังคับซึ่งคุณใช้เพื่อตั้งค่าสิ่งต่อไปนี้ได้
- โปรโตคอล TLS เริ่มต้น
- รายการโปรโตคอล TLS ที่รองรับ
- อัลกอริทึม TLS ที่รองรับ
- การเข้ารหัส TLS ที่รองรับ
พารามิเตอร์ที่ไม่บังคับเหล่านี้จะใช้ได้ก็ต่อเมื่อคุณตั้งค่าพร็อพเพอร์ตี้การกำหนดค่าต่อไปนี้ในไฟล์การกำหนดค่า ตามที่อธิบายไว้ใน การใช้ไฟล์การกำหนดค่าเพื่อกำหนดค่า TLS
TLS_CONFIGURE=y
ตารางต่อไปนี้จะอธิบายพร็อพเพอร์ตี้เหล่านี้
| พร็อพเพอร์ตี้ | คำอธิบาย |
|---|---|
TLS_PROTOCOL
|
กำหนดโปรโตคอล TLS เริ่มต้นสำหรับ Edge UI โดยค่าเริ่มต้นคือ TLS 1.2 ค่าที่ใช้ได้คือ TLSv1.2, TLSv1.1, TLSv1 |
TLS_ENABLED_PROTOCOL
|
กำหนดรายการโปรโตคอลที่เปิดใช้เป็นอาร์เรย์ที่คั่นด้วยคอมมา เช่น TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"] โปรดทราบว่าคุณต้องหลีกเลี่ยงอักขระ "
โดยค่าเริ่มต้น โปรโตคอลทั้งหมดจะเปิดใช้อยู่ |
TLS_DISABLED_ALGO
|
กำหนดชุดการเข้ารหัสที่ปิดใช้ และยังใช้เพื่อป้องกันไม่ให้ใช้คีย์ขนาดเล็กสำหรับแฮนด์เชค TLS ได้ด้วย ไม่มีค่าเริ่มต้น ค่าที่ส่งไปยัง
TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048 |
TLS_ENABLED_CIPHERS
|
กำหนดรายการการเข้ารหัส TLS ที่ใช้ได้เป็นอาร์เรย์ที่คั่นด้วยคอมมา เช่น TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\", \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"] โปรดทราบว่าคุณต้องหลีกเลี่ยงอักขระ "
รายการการเข้ารหัสที่เปิดใช้โดยค่าเริ่มต้นมีดังนี้ "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "SSL_RSA_WITH_RC4_128_SHA", "SSL_RSA_WITH_RC4_128_MD5", "TLS_EMPTY_RENEGOTIATION_INFO_SCSV" ดูรายการการเข้ารหัสที่ใช้ได้ที่นี่ |
การปิดใช้โปรโตคอล TLS
หากต้องการปิดใช้โปรโตคอล TLS คุณต้องแก้ไขไฟล์การกำหนดค่าตามที่อธิบายไว้ในหัวข้อการใช้ไฟล์การกำหนดค่าเพื่อกำหนดค่า TLS ดังนี้
- เปิดไฟล์การกำหนดค่าในเครื่องมือแก้ไข
- หากต้องการปิดใช้โปรโตคอล TLS รายการเดียว เช่น TLSv1.0 ให้เพิ่มรายการต่อไปนี้ลงในไฟล์การกำหนดค่า
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1"
หากต้องการปิดใช้หลายโปรโตคอล เช่น TLSv1.0 และ TLSv1.1 ให้เพิ่มรายการต่อไปนี้ลงในไฟล์การกำหนดค่า
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
- บันทึกการเปลี่ยนแปลงลงในไฟล์การกำหนดค่า
- เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่า TLS
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile
โดย configFile คือเส้นทางแบบเต็มไปยังไฟล์การกำหนดค่า
- รีสตาร์ท Edge UI โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
ใช้คุกกี้ที่ปลอดภัย
Apigee Edge สำหรับ Private Cloud รองรับการเพิ่มแฟล็ก secure ลงในส่วนหัว Set-Cookie สำหรับการตอบกลับจาก Edge UI หากมี Flag นี้ ระบบจะส่งคุกกี้ได้ผ่านช่องทางที่เปิดใช้ TLS เท่านั้น หากไม่มีแอตทริบิวต์นี้ ระบบจะส่งคุกกี้ผ่านช่องทางใดก็ได้ ไม่ว่าช่องทางนั้นจะปลอดภัยหรือไม่ก็ตาม
คุกกี้ที่ไม่มีแฟล็ก secure อาจทำให้ผู้โจมตีสามารถบันทึกและนำคุกกี้กลับมาใช้ใหม่หรือลักลอบใช้เซสชันที่ใช้งานอยู่ได้ ดังนั้น แนวทางปฏิบัติแนะนำคือการเปิดใช้การตั้งค่านี้
วิธีตั้งค่าแฟล็ก secure สำหรับคุกกี้ Edge UI
- เปิดไฟล์ต่อไปนี้ในเครื่องมือแก้ไขข้อความ
/opt/apigee/customer/application/ui.properties
หากไม่มีไฟล์ ให้สร้างไฟล์
- ตั้งค่าพร็อพเพอร์ตี้
conf_application_session.secureเป็นtrueในไฟล์ui.propertiesดังตัวอย่างต่อไปนี้conf_application_session.secure=true
- บันทึกการเปลี่ยนแปลง
- รีสตาร์ท Edge UI โดยใช้ยูทิลิตี
apigee-sericeดังตัวอย่างต่อไปนี้/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
หากต้องการยืนยันว่าการเปลี่ยนแปลงทำงานได้ ให้ตรวจสอบส่วนหัวการตอบกลับจาก Edge UI โดยใช้ยูทิลิตี เช่น curl ตัวอย่างเช่น
curl -i -v https://edge_UI_URL
ส่วนหัวควรมีบรรทัดที่มีลักษณะดังนี้
Set-Cookie: secure; ...
ปิดใช้ TLS ใน Edge UI
หากต้องการปิดใช้ TLS ใน Edge UI ให้ใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl