โดยค่าเริ่มต้น คุณจะเข้าถึง UI ของ Edge ผ่าน HTTP โดยใช้ที่อยู่ IP ของโหนดเซิร์ฟเวอร์การจัดการและพอร์ต 9000 เช่น
http://ms_IP:9000
หรือคุณจะกำหนดค่าการเข้าถึง TLS ไปยัง UI ของ 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 ในองค์กร
- เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่า 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
ในไฟล์การกําหนดค่า
กำหนดค่า UI ของ Edge เมื่อ TLS สิ้นสุดที่ตัวจัดสรรภาระงาน
หากมีตัวจัดสรรภาระงานที่ส่งต่อคำขอไปยัง UI ของ Edge คุณอาจเลือกที่จะสิ้นสุดการเชื่อมต่อ TLS ในตัวจัดสรรภาระงาน จากนั้นให้ตัวจัดสรรภาระงานส่งต่อคำขอไปยัง UI ของ Edge ผ่าน HTTP ระบบรองรับการกำหนดค่านี้ แต่คุณต้องกำหนดค่าตัวจัดสรรภาระงานและ Edge UI ให้สอดคล้องกัน
จำเป็นต้องมีการกําหนดค่าเพิ่มเติมเมื่อ UI ของ Edge ส่งอีเมลให้ผู้ใช้เพื่อตั้งรหัสผ่านเมื่อสร้างผู้ใช้หรือเมื่อผู้ใช้ขอรีเซ็ตรหัสผ่านที่สูญหาย อีเมลนี้มี URL ที่ผู้ใช้เลือกเพื่อตั้งค่าหรือรีเซ็ตรหัสผ่าน โดยค่าเริ่มต้น หากไม่ได้กําหนดค่า UI ของ Edge ให้ใช้ TLS URL ในอีเมลที่สร้างขึ้นจะใช้โปรโตคอล HTTP ไม่ใช่ HTTPS คุณต้องกำหนดค่าตัวจัดสรรภาระงานและ UI ของ Edge เพื่อสร้างอีเมลที่ใช้ HTTPS
หากต้องการกําหนดค่าตัวจัดสรรภาระงาน ให้ตรวจสอบว่าตัวจัดสรรภาระงานตั้งค่าส่วนหัวต่อไปนี้ในคําขอที่ส่งต่อไปยัง UI ของ Edge
X-Forwarded-Proto: https
วิธีกำหนดค่า UI ของ Edge
- เปิดไฟล์
/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\"] โปรดทราบว่าคุณต้องกำหนดอักขระ " เป็นอักขระหลีก
รายการเริ่มต้นของการเข้ารหัสที่เปิดใช้มีดังนี้ "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 เท่านั้น หากไม่มี คุกกี้จะส่งผ่านช่องทางใดก็ได้ ไม่ว่าจะปลอดภัยหรือไม่ก็ตาม
คุกกี้ที่ไม่มี Flag secure
อาจทำให้ผู้โจมตีสามารถบันทึกและนําคุกกี้มาใช้ซ้ำ หรือลักลอบใช้เซสชันที่ใช้งานอยู่ ดังนั้น แนวทางปฏิบัติแนะนําคือเปิดใช้การตั้งค่านี้
วิธีตั้งค่า Flag secure
สําหรับคุกกี้ UI ของ Edge
- เปิดไฟล์ต่อไปนี้ในเครื่องมือแก้ไขข้อความ
/opt/apigee/customer/application/ui.properties
หากไม่มีไฟล์ ให้สร้างขึ้นมา
- ตั้งค่าพร็อพเพอร์ตี้
conf_application_session.secure
เป็นtrue
ในไฟล์ui.properties
ตามตัวอย่างต่อไปนี้conf_application_session.secure=true
- บันทึกการเปลี่ยนแปลง
- รีสตาร์ท UI ของ Edge โดยใช้ยูทิลิตี
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