הגדרה של TLS/SSL לנכסי Edge בשטח

Edge for Private Cloud גרסה 4.16.05

‫TLS (פרוטוקול Transport Layer Security, שהחליף את SSL) הוא טכנולוגיית האבטחה הסטנדרטית להעברת הודעות מוצפנות ומאובטחות בסביבת ה-API, מאפליקציות ל-Apigee Edge ועד לשירותי הקצה העורפי.

לא משנה מהי הגדרת הסביבה של ה-API לניהול – למשל, אם אתם משתמשים בשרת proxy, בנתב או במאזן עומסים לפני ה-API לניהול (או לא) – Edge מאפשר לכם להפעיל ולהגדיר את TLS, וכך נותן לכם שליטה על הצפנת ההודעות בסביבת הניהול של ה-API המקומית.

בהתקנה מקומית של Edge ענן פרטי, יש כמה מקומות שבהם אפשר להגדיר TLS:

  1. בין נתב לבין מעבד בקשות
  2. כדי לגשת ל-Edge management API
  3. כדי לגשת לממשק המשתמש של ניהול Edge
  4. כדי לגשת לממשקי ה-API שלכם מאפליקציה
  5. כדי לגשת מהקצה לשירותים לקצה העורפי

בהמשך מוסבר איך להגדיר TLS לשלושת הפריטים הראשונים. כל ההליכים האלה מבוססים על ההנחה שיצרתם קובץ JKS שמכיל את אישור ה-TLS ואת המפתח הפרטי שלכם.

כדי להגדיר TLS לגישה מאפליקציה לממשקי ה-API, שלב 4 למעלה, עיינו במאמר הגדרת גישת TLS ל-API לענן פרטי. כדי להגדיר TLS לגישה מ-Edge לשירותי הקצה העורפי (שלב 5 למעלה), קראו את המאמר הגדרת TLS מ-Edge לקצה העורפי (Cloud ו-ענן פרטי).

לסקירה כללית על הגדרת TLS ב-Edge, קראו את המאמר TLS/SSL.

יצירת קובץ JKS

מייצגים את מאגר המפתחות כקובץ JKS, שבו מאגר המפתחות מכיל את אישור ה-TLS ואת המפתח הפרטי. יש כמה דרכים ליצור קובץ JKS, אבל אחת מהן היא להשתמש בכלי השירות openssl ו-keytool.

לדוגמה, יש לכם קובץ PEM בשם server.pem שמכיל את אישור ה-TLS וקובץ PEM בשם private_key.pem שמכיל את המפתח הפרטי. כדי ליצור את קובץ ה-PKCS12, משתמשים בפקודות הבאות:

> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12

צריך להזין את ביטוי הסיסמה של המפתח, אם יש לו, וסיסמת ייצוא. הפקודה הזו יוצרת קובץ PKCS12 בשם keystore.pkcs12.

כדי להמיר אותו לקובץ JKS בשם keystore.jks, משתמשים בפקודה הבאה:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks

תתבקשו להזין את הסיסמה החדשה לקובץ ה-JKS ואת הסיסמה הקיימת לקובץ ה-PKCS12. חשוב להשתמש באותה סיסמה לקובץ JKS שבה השתמשתם לקובץ PKCS12.

אם אתם צריכים לציין כינוי למפתח, למשל כשמגדירים TLS בין נתב לבין מעבד בקשות, צריך לכלול את האפשרות ‎-name בפקודת openssl:

>  openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest

לאחר מכן, מוסיפים את האפשרות "-alias" לפקודה keytool:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest

יצירת סיסמה מוסתרת

בחלק מהשלבים של הגדרת TLS ב-Edge צריך להזין סיסמה מעורפלת בקובץ תצורה. סיסמה מעורפלת היא חלופה מאובטחת יותר להזנת הסיסמה בטקסט פשוט.

אפשר ליצור סיסמה מעורפלת ב-Java באמצעות קובצי ה-‎ .jar של Jetty שמותקנים עם Edge. כדי ליצור את הסיסמה המעורפלת, משתמשים בפקודה בפורמט הבא:

> java -cp /<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-http-x.y.z.jar:/<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-util-x.y.z.jar org.eclipse.jetty.http.security.Password yourPassword

כאשר x.y.z מציין את מספר הגרסה של קובצי ה-‎ .jar של Jetty, למשל 8.0.4.v20111024. הפקודה הזו מחזירה את הסיסמה בפורמט הבא:

yourPassword
OBF:58fh40h61svy156789gk1saj
MD5:902fobg9d80e6043b394cb2314e9c6

כשמגדירים TLS, צריך להשתמש בסיסמה המעורפלת שצוינה על ידי OBF.

מידע נוסף זמין במאמר הזה.