כברירת מחדל, ניגשים לממשק המשתמש של 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 ל-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
לחלופין, אפשר להעביר קובץ תצורה לפקודה בשלב 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 כשה-TLS מסתיים במאזן העומסים
אם יש לכם מאזן עומסים שמעביר בקשות לממשק המשתמש של Edge, תוכלו לסיים את חיבור ה-TLS במאזן העומסים, ואז להגדיר את מאזן העומסים להעביר את הבקשות לממשק המשתמש של Edge דרך HTTP. ההגדרה הזו נתמכת, אבל צריך להגדיר את מאזן העומסים ואת ממשק המשתמש של Edge בהתאם.
ההגדרה הנוספת נדרשת כשממשק המשתמש של Edge שולח למשתמשים אימיילים להגדרת הסיסמה שלהם כשהם נוצרים, או כשהם מבקשים לאפס סיסמה שאבדה. הודעת האימייל הזו מכילה כתובת URL שהמשתמש בוחר כדי להגדיר או לאפס סיסמה. כברירת מחדל, אם ממשק המשתמש של Edge לא מוגדר לשימוש ב-TLS, כתובת ה-URL באימייל שנוצר משתמשת בפרוטוקול HTTP ולא ב-HTTPS. צריך להגדיר את מאזן העומסים ואת ממשק Edge UI כך שייצרו כתובת אימייל שמשתמשת ב-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 for Private 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