כברירת מחדל, ניגשים לממשק המשתמש של Edge דרך HTTP באמצעות כתובת ה-IP צומת של שרת ניהול ויציאה 9000. לדוגמה:
http://ms_IP:9000
לחלופין, אפשר להגדיר גישה של TLS לממשק המשתמש של Edge כדי לגשת אליה הטופס:
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 לממשק המשתמש של הניהול, מבצעים את התהליך הבא:
- יצירת קובץ ה-JKS של מאגר המפתחות שמכיל את אישור ה-TLS ואת המפתח הפרטי והעותק שלך אותו לצומת של שרת הניהול. מידע נוסף זמין במאמר הגדרת TLS/SSL (אבטחת שכבת התעבורה)/SSL עבור Edge On Premises.
- מריצים את הפקודה הבאה כדי להגדיר TLS:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- מזינים את מספר יציאת ה-HTTPS, לדוגמה 9443.
- מציינים אם רוצים להשבית גישת HTTP לממשק המשתמש של הניהול. כברירת מחדל, מנהל ממשק המשתמש נגיש באמצעות HTTP ביציאה 9000.
- מזינים את האלגוריתם של מאגר המפתחות. ברירת המחדל היא JKS.
- מזינים את הנתיב המוחלט לקובץ ה-JKS של מאגר המפתחות.
הסקריפט מעתיק את הקובץ לספרייה
/opt/apigee/customer/conf
צומת של שרת ניהול, ומשנה את הבעלות על הקובץ ל-'apigee'. - מזינים את הסיסמה של מאגר המפתחות של הטקסט הניקוי.
- לאחר מכן, הסקריפט יפעיל מחדש את ממשק המשתמש של ניהול Edge. לאחר ההפעלה מחדש, ממשק המשתמש של הניהול
תומכת בגישה באמצעות TLS.
אפשר לראות את ההגדרות האלה באפליקציה
/opt/apigee/etc/edge-ui.d/SSL.sh
.
שימוש בקובץ תצורה כדי להגדיר TLS
במקום לתהליך שלמעלה, אפשר להעביר קובץ config לפקודה בשלב השני של ההליך. צריך להשתמש בשיטה הזו אם רוצים להגדיר מאפייני 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 בזמן TLS מסתיים במאזן העומסים
אם יש לכם מאזן עומסים שמעביר בקשות לממשק המשתמש של Edge, אפשר לבחור לסיים את חיבור ה-TLS במאזן העומסים, ואז להפעיל את מאזן העומסים קדימה בקשות לממשק המשתמש של Edge ב-HTTP. ההגדרות האישיות האלה נתמכות, אבל צריך להגדיר את את מאזן העומסים ואת ממשק המשתמש של Edge בהתאם.
ההגדרות האישיות הנוספות נדרשות כשממשק המשתמש של Edge שולח למשתמשים אימיילים כדי להגדיר כשהמשתמש נוצר או כשהוא מבקש לאפס סיסמה שאבדה. האימייל הזה מכילה כתובת URL שהמשתמש בוחר כדי להגדיר או לאפס סיסמה. כברירת מחדל, אם לא הוגדר להשתמש ב-TLS, כתובת ה-URL באימייל שנוצר משתמשת בפרוטוקול HTTP ולא ב-HTTPS. צריך להגדיר את מאזן העומסים ואת ממשק המשתמש של Edge כדי ליצור כתובת אימייל שמשתמשת HTTPS.
כדי להגדיר את מאזן העומסים, צריך לוודא שהוא מגדיר את הכותרת הבאה בבקשות שמועברות לממשק המשתמש של Edge:
X-Forwarded-Proto: https
כדי להגדיר את ממשק המשתמש של Edge:
- פותחים את
/opt/apigee/customer/application/ui.properties
. את הקובץ בעורך. אם הקובץ לא קיים, יוצרים אותו:vi /opt/apigee/customer/application/ui.properties
- צריך להגדיר את המאפיין הבא ב-
ui.properties
:conf/application.conf+trustxforwarded=true
- שומרים את השינויים שבוצעו בקובץ
ui.properties
. - מפעילים מחדש את ממשק המשתמש של Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
הגדרת מאפיינים אופציונליים של TLS
בממשק המשתמש של Edge יש תמיכה במאפיינים אופציונליים של הגדרות TLS, שאפשר להשתמש בהם כדי:
- פרוטוקול TLS שמוגדר כברירת מחדל
- רשימת פרוטוקולי TLS נתמכים
- אלגוריתמים נתמכים של TLS
- צפנים נתמכים ב-TLS
הפרמטרים האופציונליים האלה זמינים רק כשמגדירים את המאפיין הבא של הגדרות אישיות בקובץ תצורה, כפי שמתואר במאמר שימוש בקובץ תצורה כדי להגדיר TLS:
TLS_CONFIGURE=y
הטבלה הבאה מתארת את המאפיינים האלו:
נכס | תיאור |
---|---|
TLS_PROTOCOL
|
המדיניות הזו מגדירה את פרוטוקול ברירת המחדל של TLS בממשק המשתמש של Edge. כברירת מחדל, היא TLS 1.2. הערכים החוקיים הם TLSv1.2, TLSv1.1, TLSv1. |
TLS_ENABLED_PROTOCOL
|
המדיניות הזו מגדירה את רשימת הפרוטוקולים המופעלים כמערך מופרד בפסיקים. לדוגמה: TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"] שימו לב שצריך לסמן בתו בריחה (escape) את האובייקט " .
כברירת מחדל, כל הפרוטוקולים מופעלים. |
TLS_DISABLED_ALGO
|
מגדיר את סט האלגוריתמים המושבת להצפנה (cipher suite) וניתן להשתמש בו גם כדי למנוע שימוש בגדלים קטנים של מפתחות. ללחיצת יד בפרוטוקול 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:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
שימוש בקובצי cookie מאובטחים
ב-Apigee Edge ל-Cloud פרטי יש תמיכה בהוספת הדגל secure
לכותרת Set-Cookie
עבור
מממשק המשתמש של Edge. אם הסימון הזה קיים, ניתן לשלוח את קובץ ה-cookie רק
ערוצים שתומכים ב-TLS. אם הקובץ לא נמצא, ניתן לשלוח את קובץ ה-cookie דרך כל ערוץ,
אם הוא מאובטח או לא.
קובצי Cookie ללא הדגל secure
עלולים לאפשר לתוקפים לתפוס וגם
שימוש חוזר בקובץ ה-Cookie או לפרוץ סשן פעיל. לכן, השיטה המומלצת היא להפעיל
הגדרה אישית.
כדי להגדיר את הדגל secure
בקובצי cookie של ממשק המשתמש של Edge:
- פותחים את הקובץ הבא בכלי לעריכת טקסט:
/opt/apigee/customer/application/ui.properties
אם הקובץ לא קיים, יוצרים אותו.
- צריך להגדיר את המאפיין
conf_application_session.secure
כ-true
בשדהui.properties
, כמו בדוגמה הבאה:conf_application_session.secure=true
- שומרים את השינויים.
- צריך להפעיל מחדש את ממשק המשתמש של Edge באמצעות הכלי
apigee-serice
, כמו בדוגמה הבאה מציג:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
כדי לוודא שהשינוי עובד, בודקים את כותרות התגובות בממשק המשתמש של Edge באמצעות
כלי שירות כמו curl
; לדוגמה:
curl -i -v https://edge_UI_URL
הכותרת צריכה להכיל שורה שנראית כך:
Set-Cookie: secure; ...
השבתת TLS בממשק המשתמש של Edge
כדי להשבית TLS בממשק המשתמש של Edge, משתמשים בפקודה הבאה:
/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl