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

Edge for Private Cloud גרסה 4.16.09

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

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

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

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

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

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

לסקירה כללית מלאה של הגדרת 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 לפקודת opensl:

>  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. יוצרים את הסיסמה המעורפלת באמצעות פקודה בתבנית:

> IFS= read -rsp Password: passvar; echo; java -cp "/opt/apigee/edge-gateway/lib/thirdparty/*" org.eclipse.jetty.util.security.Password $passvar 2>&1 |tail -2; unset passvar

מזינים את הסיסמה החדשה שמופיעה בהנחיה. מטעמי אבטחה, הטקסט של הסיסמה לא מוצג. הפקודה תחזיר את הסיסמה:

OBF:58fh40h61svy156789gk1saj
MD5:902fobg9d80e6043b394cb2314e9c6

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

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