โดยค่าเริ่มต้น ระบบจะปิดใช้ TLS สําหรับ Management API และคุณจะเข้าถึง Management API ของ Edge ผ่าน HTTP โดยใช้ที่อยู่ IP ของโหนดเซิร์ฟเวอร์การจัดการและพอร์ต 8080 เช่น
http://ms_IP:8080
อีกทางเลือกหนึ่งคือกำหนดค่าการเข้าถึง TLS ของ API การจัดการเพื่อให้เข้าถึงได้ในแบบฟอร์ม:
https://ms_IP:8443
ในตัวอย่างนี้ คุณจะกำหนดค่าการเข้าถึง TLS ให้ใช้พอร์ต 8443 แต่ Edge ไม่จำเป็นต้องใช้หมายเลขพอร์ตดังกล่าว แต่คุณจะกำหนดค่าเซิร์ฟเวอร์การจัดการให้ใช้ค่าพอร์ตอื่นก็ได้ ข้อกำหนดเพียงอย่างเดียวคือไฟร์วอลล์ของคุณอนุญาตให้มีการรับส่งข้อมูลผ่านพอร์ตที่ระบุ
โปรดกําหนดค่าการตั้งค่าในไฟล์ /opt/apigee/customer/application/management-server.properties
เพื่อเข้ารหัสการรับส่งข้อมูลไปยังและจาก 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 ในการรับส่งข้อมูลไปยังและจาก Management API หากไม่มีไฟล์นี้ ให้สร้างไฟล์
วิธีกำหนดค่าการเข้าถึง TLS ของ Management API
- สร้างไฟล์ JKS ของคีย์สโตร์ที่ประกอบด้วยใบรับรอง TLS และคีย์ส่วนตัว ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่า TLS/SSL สำหรับ Edge ในองค์กร
- คัดลอกไฟล์ 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 # Leave conf_webserver_http.turn.off set to false # because many Edge internal calls use HTTP. conf_webserver_http.turn.off=false conf_webserver_ssl.port=8443 conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks # Enter the obfuscated keystore password below. conf_webserver_keystore.password=OBF:obfuscatedPassword
โดยที่ keyStore.jks คือไฟล์คีย์สโตร์ และ obfuscatedPassword คือรหัสผ่านคีย์สโตร์ที่สร้างความสับสน ดูข้อมูลเกี่ยวกับการสร้างรหัสผ่านที่มีการสร้างความสับสนได้ที่การกำหนดค่า TLS/SSL สำหรับ Edge ในองค์กร
- รีสตาร์ท Edge Management Server โดยใช้คำสั่ง
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
ตอนนี้ Management API รองรับการเข้าถึงผ่าน TLS แล้ว
กำหนดค่า UI ของ Edge ให้ใช้ TLS เพื่อเข้าถึง Edge API
ในขั้นตอนข้างต้น Apigee แนะนำให้ปล่อย conf_webserver_http.turn.off=false
ไว้เพื่อให้ UI ของ Edge เรียกใช้ Edge API ผ่าน HTTP ได้ต่อไป
ใช้ขั้นตอนต่อไปนี้เพื่อกำหนดค่า UI ของ Edge ให้ทำการเรียกใช้ผ่าน HTTPS เท่านั้น
- กำหนดค่าการเข้าถึง TLS ไปยัง 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 UIconf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"
โดยที่ FQ_domain_name คือชื่อโดเมนแบบเต็มตามที่อยู่ใบรับรองของเซิร์ฟเวอร์การจัดการ และ port คือพอร์ตที่ระบุไว้ข้างต้นโดย
conf_webserver_ssl.port
หากไม่มี ui.properties ให้สร้างไฟล์นี้
- เฉพาะในกรณีที่คุณใช้ใบรับรองที่ลงนามด้วยตนเอง (ไม่แนะนำในสภาพแวดล้อมเวอร์ชันที่ใช้งานจริง) เมื่อกำหนดค่าการเข้าถึง TLS ของ API การจัดการข้างต้น ให้เพิ่มพร็อพเพอร์ตี้ต่อไปนี้ใน
ui.properties
conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true
มิฉะนั้น Edge UI จะปฏิเสธใบรับรองที่ลงชื่อด้วยตนเอง
- รีสตาร์ท UI ของ Edge โดยเรียกใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
การใช้คีย์สโตร์ PKCS12 สําหรับระบบปฏิบัติการที่เปิดใช้ FIPS
หากใช้ Edge for Private Cloud ในระบบปฏิบัติการที่เปิดใช้ FIPS คุณต้องใช้คีย์สโตร์ PKCS12 เพื่อให้เป็นไปตามมาตรฐาน FIPS นอกเหนือจากการกำหนดค่ามาตรฐานอื่นๆ ที่กล่าวถึงในบทความนี้ ให้เพิ่มการกำหนดค่าต่อไปนี้ลงในไฟล์ management-server.properties
conf/webserver.properties+keystore.type=PKCS12
อย่าลืมใช้การเปลี่ยนแปลงนี้หากสภาพแวดล้อมของคุณเปิดใช้ FIPS เพื่อให้เข้ากันได้กับมาตรฐานการเข้ารหัสที่กำหนด
พร็อพเพอร์ตี้ TLS สำหรับเซิร์ฟเวอร์การจัดการ
ตารางต่อไปนี้แสดงรายการพร็อพเพอร์ตี้ TLS/SSL ทั้งหมดที่คุณตั้งค่าได้ใน management-server.properties
พร็อพเพอร์ตี้ | คำอธิบาย |
---|---|
|
ค่าเริ่มต้นคือ 8080 |
|
เพื่อเปิด/ปิดใช้ TLS/SSL เมื่อเปิดใช้ TLS/SSL (จริง) คุณต้องตั้งค่าพร็อพเพอร์ตี้ ssl.port และ keystore.path ด้วย |
|
หากต้องการเปิด/ปิดใช้ http พร้อมกับ https หากต้องการใช้เฉพาะ HTTPS ให้ปล่อยค่าเริ่มต้นเป็น |
|
พอร์ต TLS/SSL ต้องระบุเมื่อเปิดใช้ TLS/SSL ( |
|
เส้นทางไปยังไฟล์คีย์สโตร์ ต้องระบุเมื่อเปิดใช้ TLS/SSL ( |
|
ใช้รหัสผ่านที่มีการสร้างความสับสนในรูปแบบ OBF:xxxxxxxxxx |
|
ชื่อแทนใบรับรองคีย์สโตร์ (ไม่บังคับ) |
|
หากเครื่องมือจัดการคีย์มีรหัสผ่าน ให้ป้อนรหัสผ่านเวอร์ชันที่มีการสร้างความสับสนในรูปแบบต่อไปนี้ OBF:xxxxxxxxxx |
|
กำหนดการตั้งค่าสำหรับที่เก็บข้อมูลเชื่อถือ ระบุว่าคุณต้องการยอมรับใบรับรอง TLS/SSL ทั้งหมดหรือไม่ (เช่น เพื่อยอมรับประเภทที่ไม่ใช่มาตรฐาน) โดยมีค่าเริ่มต้นเป็น OBF:xxxxxxxxxx |
|
ระบุชุดการเข้ารหัสที่ต้องการรวมหรือยกเว้น เช่น หากพบช่องโหว่ในรหัส คุณสามารถยกเว้นรหัสดังกล่าวได้ที่นี่ แยกการเข้ารหัสหลายรายการด้วยคอมมา การเข้ารหัสที่คุณนำออกผ่านรายการที่บล็อกจะมีความสําคัญเหนือกว่าการเข้ารหัสที่รวมไว้ผ่านรายการที่อนุญาต หมายเหตุ: โดยค่าเริ่มต้น ถ้าไม่มีการระบุรายการที่ไม่อนุญาตหรือรายการที่อนุญาตพิเศษ ระบบจะยกเว้นการเข้ารหัสที่ตรงกับนิพจน์ทั่วไปของ Java ต่อไปนี้โดยค่าเริ่มต้น ^.*_(MD5|SHA|SHA1)$ ^TLS_RSA_.*$ ^SSL_.*$ ^.*_NULL_.*$ ^.*_anon_.*$ แต่หากคุณระบุรายการที่ไม่อนุญาต ระบบจะลบล้างตัวกรองนี้และคุณต้องขึ้นบัญชีดำการเข้ารหัสทั้งหมดทีละรายการ ดูข้อมูลเกี่ยวกับชุดการเข้ารหัสและสถาปัตยกรรมการเข้ารหัสได้ที่ เอกสารประกอบของ Oracle Provider สำหรับ Java Cryptography Architecture สำหรับ JDK 8 |
|
จำนวนเต็มที่กำหนดสิ่งต่อไปนี้
|