אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
במאמר הזה מוסבר איך מגדירים חבילות הצפנה במארחים וירטואליים ובנתבים ב-Apigee Edge.
סט של אלגוריתמים להצפנה (cipher suite) הוא קבוצה של אלגוריתמים שעוזרים לאבטח חיבור לרשת שמתבסס על TLS. הלקוח והשרת צריכים להסכים על סט אלגוריתמים להצפנה (cipher suite) הספציפי שישמש להחלפת הודעות. אם הלקוח והשרת לא מסכימים על סט אלגוריתמים להצפנה (cipher suite), הבקשות נכשלות עם שגיאות של לחיצת יד בפרוטוקול TLS.
ב-Apigee, חבילות הצפנה צריכות להיות מוסכמות הדדית בין אפליקציות הלקוח לבין נתבים.
יכול להיות שתרצו לשנות את חבילות ההצפנה ב-Apigee Edge מהסיבות הבאות:
- כדי למנוע אי התאמה בין חבילות הצפנה בין אפליקציות לקוח לבין נתבי Apigee
- כדי להשתמש בחבילות צופן מאובטחות יותר, או כדי לתקן נקודות חולשה באבטחה או כדי לשפר את האבטחה
אפשר להגדיר חבילות הצפנה במארחים וירטואליים או בנתבי Apigee. הערה: מערכת Apigee מקבלת חבילות הצפנה רק בפורמט מחרוזות הצפנה של OpenSSL במארח הווירטואלי ובנתב. בדף ה-man של OpenSSL ciphers מפורטים סוויטות ההצפנה של SSL או TLS מהמפרט הרלוונטי והמקבילות שלהן ב-OpenSSL.
למשל:
אם רוצים להגדיר את חבילת TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ההצפנה
במארח הווירטואלי או בנתב Apigee, צריך לזהות את
מחרוזת ההצפנה המתאימה של OpenSSL מתוך
דף ה-man של OpenSSL ciphers.
מחרוזת הצפנה של OpenSSL עבור סט האלגוריתמים להצפנה TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
היא ECDHE-RSA-AES128-GCM-SHA256. לכן צריך להשתמש במחרוזת הצפנה של OpenSSL ECDHE-RSA-AES128-GCM-SHA256 כשמגדירים את סט האלגוריתמים להצפנה במארח הווירטואלי או בנתב Apigee.
לפני שמתחילים
- כדי לקבל מידע על מחרוזות הצפנה של OpenSSL עבור סטים שונים של אלגוריתמים להצפנה, אפשר לקרוא את דף ה-man של OpenSSL ciphers.
- אם אתם לא מכירים את המאפיינים של מארחים וירטואליים, כדאי לקרוא את המאמר הפניה למאפיינים של מארחים וירטואליים.
- אם אתם לא יודעים איך מגדירים מאפיינים ל-Edge ב-Private Cloud, כדאי לקרוא את המאמר איך מגדירים את Edge.
הגדרת חבילות הצפנה במארחים וירטואליים
בקטע הזה מוסבר איך להגדיר חבילות הצפנה במארחים הווירטואליים שמשויכים לארגון ולסביבה. אפשר להגדיר את חבילות ההצפנה במארח הווירטואלי באמצעות המאפיין ssl_ciphers, שמייצג את רשימת חבילות ההצפנה שנתמכות על ידי המארח הווירטואלי.
רשימה של חבילות ההצפנה ש-Apigee תומך בהן מופיעה במאמר בנושא חבילות הצפנה נתמכות.
אפשר להגדיר את המארח הווירטואלי באחת מהדרכים הבאות:
- שימוש בממשק המשתמש של Edge
- שימוש ב-Edge API
שימוש בממשק המשתמש של Edge
כדי להגדיר את המארח הווירטואלי באמצעות ממשק המשתמש של Edge:
- מתחברים אל ממשק המשתמש של Edge.
- עוברים אל ניהול > מארחים וירטואליים.
- בוחרים סביבה ספציפית שבה רוצים לבצע את השינוי.
- בוחרים את המארח הווירטואלי הספציפי שרוצים להגדיר לו את חבילות ההצפנה.
-
בקטע Properties (מאפיינים), מעדכנים את הערך של Ciphers (הצפנות) עם רשימה של מחרוזות הצפנה של OpenSSL שמופרדות באמצעות נקודתיים.
לדוגמה, אם רוצים לאפשר רק את חבילות ההצפנה
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256ו-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, צריך לקבוע את מחרוזות ההצפנה התואמות של OpenSSL מתוך דף ה-man של OpenSSL ciphers, כמו שמוצג בטבלה הבאה:חבילת הצפנה מחרוזת הצפנה של OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256מוסיפים את מחרוזת הצפנה של OpenSSL עם הפרדה באמצעות נקודתיים, כמו שמוצג באיור הבא:
- שומרים את השינוי.
שימוש ב-Edge API
כדי להגדיר את חבילות ההצפנה במארח וירטואלי באמצעות Edge API, מבצעים את הפעולות הבאות:
- מקבלים את ההגדרה הנוכחית של המארח הווירטואלי באמצעות ה-API של
Get virtual host, כמו שמוצג בהמשך:
משתמש בענן ציבורי:
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}משתמש ב-Private Cloud:
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.לדוגמה, אם רוצים לאפשר רק את חבילות ההצפנה
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256ו-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, צריך לקבוע את מחרוזות ההצפנה התואמות של OpenSSL מתוך דף ה-man של OpenSSL ciphers, כמו שמוצג בטבלה הבאה:חבילת הצפנה מחרוזת הצפנה של OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-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 Update a virtual host באופן הבא:משתמש בענן ציבורי:
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}
משתמש ב-Private Cloud:
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}
חבילות הצפנה נתמכות
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
אימות של חבילות הצפנה במארחים וירטואליים
בקטע הזה מוסבר איך לוודא שחבילות ההצפנה שונו בהצלחה במארח הווירטואלי באמצעות Edge API.
- מריצים את ה-API
Get virtual host כדי לקבל את ההגדרה של
virtualhostכמו שמוצג למטה:משתמש בענן ציבורי:
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}משתמש ב-Private Cloud:
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, צריך לוודא שפעלתם לפי כל השלבים שמפורטים במאמר בנושא הגדרת חבילות הצפנה במארחים וירטואליים. אם פספסתם שלב כלשהו, צריך לחזור על כל השלבים בצורה נכונה. - אם עדיין לא הצלחתם לעדכן או להוסיף חבילות הצפנה למארח וירטואלי, תוכלו לפנות אל התמיכה של Apigee Edge.
הגדרת סטים של אלגוריתמים להצפנה בנתבים
בקטע הזה מוסבר איך מגדירים חבילות הצפנה בנתבים. אפשר להגדיר חבילות צופן באמצעות המאפיין Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers, שמייצג את חבילות הצופן המקובלות שמופרדות באמצעות נקודתיים.
כדי להגדיר חבילות הצפנה בנתבים:
-
במחשב של הנתב, פותחים את הקובץ הבא בעורך. אם הוא לא קיים, צריך ליצור אותו.
/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
לדוגמה, אם רוצים לאפשר רק את חבילות ההצפנה
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256ו-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, צריך לקבוע את מחרוזות ההצפנה התואמות של OpenSSL מתוך דף ה-man של OpenSSL ciphers, כמו שמוצג בטבלה הבאה:חבילת הצפנה מחרוזת הצפנה של OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-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
- אם יש לכם יותר מנתב אחד, צריך לחזור על השלבים שלמעלה בכל הנתבים.
אימות של סט אלגוריתמים להצפנה בנתבים
בקטע הזה מוסבר איך לוודא שחבילות ההצפנה שונו בהצלחה בנתבים.
-
בנתב, מחפשים את המאפיין
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שצוינה למעלה, אחרי שחבילות ההצפנה עודכנו ל-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הוגדר עם הערכים החדשים של סט האלגוריתמים להצפנה. ההודעה הזו מציינת שסט האלגוריתמים להצפנה (cipher suite) עודכן בהצלחה למחרוזות ההצפנה של OpenSSLDHE-RSA-AES128-GCM-SHA25ו-ECDHE-RSA-AES128-GCM-SHA256בנתב. -
אם עדיין מוצגים הערכים הישנים של חבילות ההצפנה [
conf_load_balancing_load.balancing.driver.server.ssl.ciphers], צריך לוודא שפעלתם לפי כל השלבים שמפורטים במאמר הגדרת חבילות הצפנה בנתבים. אם פספסתם שלב כלשהו, צריך לחזור על כל השלבים בצורה נכונה. - אם עדיין אין אפשרות לשנות את חבילות ההצפנה בנתבים, צריך לפנות אל התמיכה של Apigee Edge.