כברירת מחדל, ה-TLS מושבת בממשק ה-API לניהול, והגישה לממשק ה-API לניהול של Edge מתבצעת באמצעות HTTP באמצעות כתובת ה-IP של צומת שרת הניהול והיציאה 8080. לדוגמה:
http://ms_IP:8080
לחלופין, אפשר להגדיר גישה ל-TLS לממשק ה-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 של מאגר המפתחות לספרייה בצומת של שרת הניהול, למשל
/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 On Premises.
- מפעילים מחדש את שרת הניהול של Edge באמצעות הפקודה:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
מעכשיו יש ב-Management API תמיכה בגישה דרך TLS.
הגדרת ממשק המשתמש של Edge כך שישתמש ב-TLS כדי לגשת ל-Edge API
בתהליך שלמעלה, ב-Apigee המליצו להשאיר את conf_webserver_http.turn.off=false
כדי ש-Edge UI יוכל להמשיך לבצע קריאות ל-Edge API דרך HTTP.
כדי להגדיר את ממשק המשתמש של Edge לבצע את הקריאות האלה רק דרך HTTPS:
- מגדירים גישה ל-TLS ל-Management API כפי שמתואר למעלה.
- אחרי שמוודאים ש-TLS פועל בממשק ה-API לניהול, עורכים את הקובץ
/opt/apigee/customer/application/management-server.properties
כדי להגדיר את המאפיין הבא:conf_webserver_http.turn.off=true
- מריצים את הפקודה הבאה כדי להפעיל מחדש את שרת ניהול הקצה:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- עורכים את
/opt/apigee/customer/application/ui.properties
כדי להגדיר את המאפיין הבא לממשק המשתמש של Edge:conf_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 ידחה אישור עם חתימה עצמית.
- כדי להפעיל מחדש את ממשק המשתמש של 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 מופעל (true), צריך להגדיר גם את המאפיינים 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_.*$ עם זאת, אם מציינים רשימת שחור, המסנן הזה מבוטל וצריך להוסיף לרשימת השחור את כל הצפנים בנפרד. מידע נוסף על סטים של אלגוריתמים להצפנה (cipher suite) ועל ארכיטקטורת קריפטוגרפיה זמין במאמר מסמכי התיעוד של Oracle Providers של Java Cryptography Architecture for JDK 8. |
|
מספרים שלמים שקובעים:
|