โดยค่าเริ่มต้น คุณจะเข้าถึง UI ของ Edge ผ่าน 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
- ป้อนเส้นทางสัมบูรณ์ไปยังไฟล์ 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 # Set type to PKCS12 if you are using a PKCS12 keystore 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 คือเส้นทางแบบเต็มไปยังไฟล์ที่คุณบันทึกไว้
การใช้คีย์สโตร์ PKCS12 สำหรับระบบปฏิบัติการที่พร้อมใช้งาน FIPS
หากคุณใช้ Edge for Private Cloud ในระบบปฏิบัติการที่เปิดใช้ FIPS คุณควรใช้คีย์สโตร์ PKCS12 คุณสร้างคีย์สโตร์ PKCS12 ได้โดยใช้คําสั่ง OpenSSL มาตรฐาน เมื่อใช้คีย์สโตร์ PKCS12 ให้ตั้งค่า KEY_ALGO=PKCS12
ในไฟล์การกำหนดค่า
กำหนดค่า Edge UI เมื่อ TLS สิ้นสุดบนตัวจัดสรรภาระงาน
หากคุณมีตัวจัดสรรภาระงานที่ส่งต่อคำขอไปยัง Edge UI คุณอาจเลือกที่จะ สิ้นสุดการเชื่อมต่อ TLS บนตัวจัดสรรภาระงาน จากนั้นจึงส่งต่อตัวจัดสรรภาระงาน ไปยัง Edge UI ผ่าน HTTP ระบบรองรับการกำหนดค่านี้ แต่คุณต้องกำหนดค่าตัวจัดสรรภาระงานและ UI ของ Edge ให้สอดคล้องกัน
ต้องมีการกำหนดค่าเพิ่มเติมเมื่อ Edge UI ส่งอีเมลให้ผู้ใช้เพื่อตั้งค่า รหัสผ่าน เมื่อสร้างผู้ใช้ หรือเมื่อผู้ใช้ขอรีเซ็ตรหัสผ่านที่สูญหาย อีเมลนี้จะมี URL ที่ผู้ใช้เลือกเพื่อตั้งค่าหรือรีเซ็ตรหัสผ่าน โดยค่าเริ่มต้น หากไม่ได้กําหนดค่า UI ของ Edge ให้ใช้ 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.properties
conf/application.conf+trustxforwarded=true
- บันทึกการเปลี่ยนแปลงลงใน
ui.properties
- รีสตาร์ท UI ของ Edge โดยทำดังนี้
/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 เริ่มต้นสําหรับ UI ของ Edge โดยค่าเริ่มต้นจะเป็น 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\"] โปรดสังเกตว่าคุณต้อง Escape " อักขระ
รายการเริ่มต้นของการเข้ารหัสที่เปิดใช้มีดังนี้ "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 รองรับการเพิ่ม Flag secure
ไปยังส่วนหัว Set-Cookie
สําหรับคําตอบจาก UI ของ Edge หากมี Flag นี้ ระบบจะส่งคุกกี้ผ่านช่องทางที่เปิดใช้ TLS เท่านั้น หากไม่มี คุกกี้จะส่งผ่านช่องใดก็ได้ไม่ว่า
ว่าปลอดภัยไหม
คุกกี้ที่ไม่มี Flag secure
อาจทำให้ผู้โจมตีสามารถบันทึกและนําคุกกี้มาใช้ซ้ำ หรือลักลอบใช้เซสชันที่ใช้งานอยู่ ดังนั้นแนวทางปฏิบัติแนะนำคือให้เปิดใช้
การตั้งค่า
วิธีตั้งค่า Flag secure
สําหรับคุกกี้ UI ของ Edge
- เปิดไฟล์ต่อไปนี้ในเครื่องมือแก้ไขข้อความ
/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
หากต้องการตรวจสอบว่าการเปลี่ยนแปลงใช้งานได้ ให้ตรวจสอบส่วนหัวการตอบกลับจาก UI ของ Edge โดยใช้ยูทิลิตี เช่น curl
ดังนี้
curl -i -v https://edge_UI_URL
ส่วนหัวควรมีบรรทัดที่มีลักษณะดังต่อไปนี้
Set-Cookie: secure; ...
ปิดใช้ TLS ใน UI ของ Edge
หากต้องการปิดใช้ TLS ใน UI ของ Edge ให้ใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl