מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
במסמך הזה מוסבר איך להגדיר סטים של אלגוריתמים להצפנה (cipher suite) במארחים ובנתבים וירטואליים ב-Apigee Edge.
חבילת הצפנה היא קבוצת אלגוריתמים שעוזרים לאבטח חיבור לרשת שמשתמש ב-TLS. הלקוח והשרת חייבים להסכים על חבילת ההצפנה הספציפית שבה ייעשה שימוש. בהתכתבות. אם הלקוח והשרת לא מסכימים לגבי חבילת הצפנה, אזי בקשות נכשלות בלחיצת יד של TLS (אבטחת שכבת התעבורה).
ב-Apigee צריך להגיע להסכמה הדדית בין סטים של אלגוריתמים להצפנה (cipher suite) בין אפליקציות הלקוח נתבים.
יכול להיות שתרצו לשנות את חבילות ההצפנה ב-Apigee Edge מהסיבות הבאות:
- כדי למנוע התאמה בין סטים של אלגוריתמים להצפנה (cipher suite) בין אפליקציות לקוח לבין נתבי Apigee
- כדי להשתמש בסטים מאובטחים יותר של אלגוריתמים להצפנה (cipher suite) כדי לתקן פרצות אבטחה או כדי לשפר את האבטחה.
אפשר להגדיר סטים של אלגוריתמים להצפנה (cipher suite): במארחים הווירטואליים או בנתבים של Apigee. הערה ש-Apigee מקבלת חבילות הצפנה רק בפורמט מחרוזות הצפנה של OpenSSL גם במארח הווירטואלי וגם בנתב. דף של צופן OpenSSL מספק את חבילות ההצפנה של SSL או TLS מהמפרט הרלוונטי ומקבילים שלהן ב-OpenSSL.
למשל:
אם רוצים להגדיר את TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ההצפנה
במארח הווירטואלי או בנתב של Apigee, צריך לזהות
מחרוזת ההצפנה התואמת של OpenSSL מ-
דף של צופן OpenSSL
מחרוזת ההצפנה של OpenSSL לחבילת ההצפנה TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
הוא ECDHE-RSA-AES128-GCM-SHA256.
, לכן עליך להשתמש במחרוזת ההצפנה של OpenSSL
ECDHE-RSA-AES128-GCM-SHA256
בזמן הגדרת חבילת ההצפנה במארח הווירטואלי
או בנתב של Apigee.
לפני שמתחילים
- לקבלת מידע נוסף על מחרוזות ההצפנה של OpenSSL עבור חבילות ההצפנה השונות, ניתן לקרוא דף של צופן OpenSSL
- אם אתם לא מכירים את מאפייני המארח הווירטואלי, כדאי לקרוא את המאמר חומר עזר בנושא נכס מארח וירטואלי.
- אם אתם לא יודעים איך להגדיר נכסים ל-Edge בענן פרטי, אפשר לקרוא את המאמר איך מגדירים את Edge?
הגדרה של סטים של אלגוריתמים להצפנה (cipher suite) במארחים וירטואליים
בקטע הזה מוסבר איך להגדיר סטים של אלגוריתמים להצפנה (cipher suite) במארחים הווירטואליים שמשויכים לארגון ולסביבה. אפשר להגדיר סטים של אלגוריתמים במארח הווירטואלי באמצעות הנכס ssl_ciphers
, שמייצג את הרשימה של סטים של אלגוריתמים להצפנה (cipher suite) שהמארח הווירטואלי תומך בהם.
במאמר סטים נתמכים של אלגוריתמים להצפנה (cipher suite) מופיעה רשימה של אפשרויות ההצפנה חבילות שנתמכות ב-Apigee.
אפשר להגדיר את המארח הווירטואלי באחת מהשיטות הבאות:
- שימוש בממשק המשתמש של Edge
- שימוש ב-Edge API
שימוש בממשק המשתמש של Edge
כדי להגדיר את המארח הווירטואלי באמצעות ממשק המשתמש של Edge, מבצעים את הפעולות הבאות:
- מתחברים לממשק המשתמש של Edge.
- עוברים לקטע ניהול > מארחים וירטואליים.
- בוחרים סביבה ספציפית שבה רוצים לבצע את השינוי הזה.
- בוחרים את המארח הווירטואלי הספציפי שעבורו רוצים להגדיר את חבילות ההצפנה.
-
בקטע מאפיינים, מעדכנים את הערך של Ciphers ברשימה של מחרוזות הצפנה של OpenSSL המופרדים בנקודתיים.
לדוגמה, אם רוצים להתיר רק את סטים של אלגוריתמים להצפנה (cipher suite)
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
והקבוצהTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
, ואז לקבוע את הערכים המתאימים מחרוזות הצפנה של OpenSSL מ- דף של צופן OpenSSL כפי שמוצג בטבלה הבאה:חבילת הצפנה מחרוזת הצפנה של OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
DHE-RSA-AES128-GCM-SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES128-GCM-SHA256
מוסיפים את מחרוזת ההצפנה של OpenSSL עם הפרדת נקודתיים כפי שמוצג באיור הבא:
- שומרים את השינוי.
שימוש ב-Edge API
כדי להגדיר את חבילות ההצפנה במארח וירטואלי באמצעות Edge API:
- קבלת התצורה הנוכחית של המארח הווירטואלי באמצעות
קבלת ממשק API של מארח וירטואלי כפי שמוצג בהמשך:
משתמש ב-Public Cloud:
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
משתמש בענן פרטי:
curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
{ "hostAliases": [ "api.myCompany,com" ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
-
הוספת הנכס
ssl_ciphers
להגדרה הקיימת של המארח הווירטואלי מטען ייעודי (payload) של JSON ב-properties
עם מחרוזות ההצפנה המתאימות של OpenSSL.לדוגמה, אם רוצים להתיר רק את סטים של אלגוריתמים להצפנה (cipher suite)
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
והקבוצהTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
, ואז לקבוע את הערכים המתאימים מחרוזות הצפנה של OpenSSL מ- דף של צופן OpenSSL כפי שמוצג בטבלה הבאה:חבילת הצפנה מחרוזת הצפנה של OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
DHE-RSA-AES128-GCM-SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES128-GCM-SHA256
מוסיפים את בלוק הקוד הבא של
properties
:דוגמה להגדרה מעודכנת של מארח וירטואלי:
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "ssl_ciphers", "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
-
שומרים את התצורה המעודכנת של המארח הווירטואלי בקובץ. לדוגמה,
virtualhost-payload.json
-
מעדכנים את ההגדרה של
virtualhost
עם השינוי באמצעות התחילית מעדכנים את ה-API של המארח הווירטואלי באופן הבא:משתמש ב-Public Cloud:
curl -v -X POST Content-Type: application/json https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
משתמש בענן פרטי:
curl -v -X POST Content-Type: application/json http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
סטים נתמכים של אלגוריתמים להצפנה (cipher suite)
ב-Apigee יש תמיכה בסטים הבאים של אלגוריתמים להצפנה (cipher suite):
ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA256 DHE-RSA-AES256-SHA DHE-RSA-CAMELLIA256-SHA AES256-GCM-SHA384 AES256-SHA256 AES256-SHA CAMELLIA256-SHA ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA DHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-SHA256 DHE-RSA-AES128-SHA DHE-RSA-CAMELLIA128-SHA AES128-GCM-SHA256 AES128-SHA256 AES128-SHA CAMELLIA128-SHA
אימות של סטים של אלגוריתמים להצפנה (cipher suite) במארחים וירטואליים
בקטע הזה מוסבר איך לוודא שסטים של אלגוריתמים להצפנה (cipher suite): במארח הווירטואלי באמצעות ה-API של Edge.
- להפעיל את
אחזור API של מארח וירטואלי כדי לקבל את ההגדרה של
virtualhost
כמו בדוגמה הבאה:משתמש ב-Public Cloud:
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
משתמש בענן פרטי:
curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
-
מוודאים שהמאפיין
ssl_ciphers
הוגדר לערך החדש.דוגמה להגדרה מעודכנת של מארח וירטואלי:
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "ssl_ciphers", "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
בדוגמה שלמעלה, חשוב לשים לב ש-
ssl_ciphers
הוגדר עם הערך החדש. -
אם הערך הישן של
ssl_ciphers
עדיין מופיע, עליך לוודא ביצעתם את כל השלבים שמפורטים הגדרה נכונה של סטים של אלגוריתמים להצפנה (cipher suite) במארחים וירטואליים אם פספסתם שלב כלשהו, יש לחזור על השלבים האלה שוב בצורה נכונה. - אם עדיין אין לך אפשרות לעדכן או להוסיף סטים של אלגוריתמים להצפנה (cipher suite) למארח הווירטואלי, צריך לפנות אל תמיכה ב-Apigee Edge.
הגדרה של סטים של אלגוריתמים להצפנה (cipher suite) בנתבים
בקטע הזה מוסבר איך להגדיר סטים של אלגוריתמים להצפנה (cipher suite) בנתבים. סטים של אלגוריתמים להצפנה (cipher suite):
שהוגדרו באמצעות המאפיין 'נתב'
conf_load_balancing_load.balancing.driver.server.ssl.ciphers
, שמייצג
את סט האלגוריתמים להצפנה (cipher suite) המופרד בנקודתיים.
כדי להגדיר סטים של אלגוריתמים להצפנה (cipher suite) בנתבים, מבצעים את הפעולות הבאות:
-
במחשב הנתב, פותחים את הקובץ הבא בעורך. אם אין קטגוריה קיימת. ואז ליצור אותו.
/opt/apigee/customer/application/router.properties
לדוגמה, כדי לפתוח את הקובץ באמצעות
vi
, מזינים את הפרטים הבאים:vi /opt/apigee/customer/application/router.properties
-
מוסיפים לקובץ
properties
שורה בפורמט הבא, במקום הערך של colon_separated_cipher_suites:conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
לדוגמה, אם רוצים להתיר רק את סט האלגוריתמים להצפנה (cipher suite)
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
והקבוצהTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
, ואז לקבוע את הערכים המתאימים מחרוזות הצפנה של OpenSSL מ- דף של צופן OpenSSL כפי שמוצג בטבלה הבאה:חבילת הצפנה מחרוזת הצפנה של OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
DHE-RSA-AES128-GCM-SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES128-GCM-SHA256
ואז מוסיפים את השורה הבאה:
conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
- שומרים את השינויים.
-
יש לוודא שקובץ המאפיינים הזה נמצא בבעלות של המשתמש
apigee
, כפי שמוצג בהמשך:chown apigee:apigee /opt/apigee/customer/application/router.properties
-
מפעילים מחדש את הנתב כפי שמוצג בהמשך:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- אם יש לכם כמה נתבים, צריך לחזור על השלבים שלמעלה בכל הנתבים.
מתבצע אימות של חבילת ההצפנה בנתבים
בקטע הזה מוסבר איך לוודא שסטים של אלגוריתמים להצפנה (cipher suite) שונו בהצלחה בנתבים.
-
בנתב, מחפשים את הנכס
conf_load_balancing_load.balancing.driver.server.ssl.ciphers
באמצעות Apigee חיפוש בכלי החיפוש מהתיקייה/opt/apigee
ולבדוק אם הוא הוגדר עם את הערך החדש, באופן הבא:/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
-
אם חבילות ההצפנה החדשות הוגדרו בהצלחה בנתב, הפקודה שלמעלה תציג
את הערכים החדשים.
לפניכם התוצאה לדוגמה מהפקודה
search
שלמעלה, כאשר הפונקציה סטים של אלגוריתמים להצפנה (cipher suite) עודכנו ועכשיו הםDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
:Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties
בפלט לדוגמה שלמעלה, שימו לב שהמאפיין ההגדרה
conf_load_balancing_load.balancing.driver.server.ssl.ciphers
הוגדרה בערכים של חבילת ההצפנה החדשה. הסימון הזה מצביע על כך שחבילת ההצפנה הסתיימה בהצלחה עודכן למחרוזות ההצפנה של OpenSSLDHE-RSA-AES128-GCM-SHA25
וECDHE-RSA-AES128-GCM-SHA256
בנתב. -
אם עדיין מופיעים הערכים הישנים של סט אלגוריתמים להצפנה (cipher suite)
conf_load_balancing_load.balancing.driver.server.ssl.ciphers
, ואז לבצע אימות שביצעתם את כל השלבים המפורטים הגדרה נכונה של סטים של אלגוריתמים להצפנה (cipher suite) בנתבים אם פספסתם שלב כלשהו, יש לחזור על השלבים האלה שוב בצורה נכונה. - אם עדיין לא הצלחת לשנות את חבילות ההצפנה בנתבים, יש לפנות אל תמיכה ב-Apigee Edge.