הגדרת TLS עבור ממשק ה-API לניהול

Edge for Private Cloud גרסה 4.16.05

כברירת מחדל, פרוטוקול TLS מושבת ב-Management API, והגישה ל-Edge Management API מתבצעת דרך HTTP באמצעות כתובת ה-IP של צומת Management Server ויציאה 8080. לדוגמה:

http://ms_IP:8080

לחלופין, אפשר להגדיר גישת TLS ל-Management API כדי שתוכלו לגשת אליו בפורמט הבא:

https://ms_IP:8443

בדוגמה הזו, אתם מגדירים גישת TLS לשימוש ביציאה 8443. עם זאת, מספר היציאה הזה לא נדרש על ידי Edge – אתם יכולים להגדיר את שרת הניהול כך שישתמש בערכי יציאות אחרים. הדרישה היחידה היא שחומת האש תאפשר תעבורת נתונים דרך היציאה שצוינה.

כדי לוודא שהתנועה אל Management API וממנו מוצפנת, צריך לקבוע את ההגדרות בקובץ /<install_dir>/apigee/customer/application/management-server.properties.

בנוסף להגדרת TLS, אפשר גם לשלוט באימות הסיסמה (אורך וחוזק הסיסמה) על ידי שינוי הקובץ management-server.properties.

מוודאים שיציאת ה-TLS פתוחה

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

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose 

הגדרת TLS

עורכים את הקובץ /<install_dir>/apigee/customer/application/management-server.properties כדי לשלוט בשימוש ב-TLS בתנועה אל ה-Management API וממנו. אם הקובץ הזה לא קיים, יוצרים אותו.

כדי להגדיר גישת TLS ל-Management API:

  1. יוצרים את קובץ ה-JKS של מאגר המפתחות שמכיל את אישור ה-TLS והמפתח הפרטי. מידע נוסף זמין במאמר הגדרת TLS/SSL ל-Edge On Premises.
  2. מעתיקים את קובץ ה-JKS של מאגר המפתחות לספרייה בצומת של שרת הניהול, למשל ‎/tmp.
  3. משנים את הבעלות על קובץ ה-JKS ל-apigee:
    ‎$ chown apigee:apigee keystore.jks

    כאשר keystore.jks הוא השם של קובץ מאגר המפתחות.
  4. עורכים את הקובץ /<install_dir>/apigee/customer/application/management-server.properties כדי להגדיר את המאפיינים הבאים. אם הקובץ לא קיים, צריך ליצור אותו:
    conf_webserver_ssl.enabled=true
    # Set next to true if all communications should be over HTTPS.
    # Not recommended because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/tmp/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    כאשר keyStore.jks הוא קובץ מאגר המפתחות, ו-obfuscatedPassword הוא הסיסמה המעורפלת של מאגר המפתחות. במאמר הגדרת TLS/SSL ל-Edge On Premises מוסבר איך ליצור סיסמה מעורפלת.
  5. מפעילים מחדש את שרת הניהול של Edge באמצעות הפקודה:
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service edge-management-server restart

ה-Management API תומך עכשיו בגישה דרך TLS.

הגדרת ממשק המשתמש של Edge לשימוש ב-TLS כדי לגשת ל-Edge API

בנוהל שלמעלה, Apigee המליצה להשאיר את conf_webserver_http.turn.off=false כדי שממשק המשתמש של Edge יוכל להמשיך לבצע קריאות ל-Edge API דרך HTTP. כדי להגדיר את ממשק המשתמש של Edge כך שיבצע את הקריאות האלה רק דרך HTTPS, צריך לפעול לפי ההוראות הבאות:

  1. מגדירים גישת TLS ל-Management API כמו שמתואר למעלה.
  2. אחרי שמוודאים ש-TLS פועל ב-Management API, עורכים את הקובץ ‎/<install_dir>/apigee/customer/application/management-server.properties כדי להגדיר את המאפיין הבא:
    conf_webserver_http.turn.off=true
  3. מפעילים מחדש את Edge Management Server באמצעות הפקודה:
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service edge-management-server restart
  4. עורכים את ‎/<install_dir>/apigee/customer/application/ui.properties כדי להגדיר את המאפיין הבא לממשק המשתמש של Edge. אם הקובץ לא קיים, יוצרים אותו:
    conf_apigee_apigee.mgmt.baseurl="https://MS_IP:8443/v1"

    כאשר MS_IP הוא כתובת ה-IP של שרת הניהול ומספר היציאה הוא היציאה שצוינה למעלה על ידי conf_webserver_ssl.port.
  5. רק אם השתמשתם באישור בחתימה עצמית כשהגדרתם גישת TLS ל-Management API למעלה, הוסיפו את המאפיין הבא ל-ui.properties:
    conf/application.conf+ws.acceptAnyCertificate=true

    אחרת, ממשק המשתמש של Edge ידחה אישור בחתימה עצמית.
  6. מפעילים מחדש את ממשק המשתמש של Edge באמצעות הפקודה:
    $ ‎/<install_dir>/apigee/apigee-service/bin/apigee-service edge-ui restart

מאפייני TLS לשרת הניהול

בטבלה הבאה מפורטים כל מאפייני ה-TLS/SSL שאפשר להגדיר ב-management-server.properties:

נכסים

תיאור

conf_webserver_http.port=8080

ברירת המחדל היא 8080.

conf_webserver_ssl.enabled=false

כדי להפעיל או להשבית את TLS/SSL. אם מפעילים את TLS/SSL (ערך true), צריך גם להגדיר את המאפיינים ssl.port ו-keystore.path.

conf_webserver_http.turn.off=true

כדי להפעיל או להשבית את http יחד עם https. אם רוצים להשתמש רק ב-HTTPS, משאירים את ערך ברירת המחדל true.

conf_webserver_ssl.port=8443

יציאת TLS/SSL.

נדרש כש-TLS/SSL מופעל (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=<path>

הנתיב לקובץ מאגר המפתחות.

נדרש כש-TLS/SSL מופעל (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=

צריך להשתמש בסיסמה מעורפלת בפורמט הזה: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

כינוי אופציונלי לאישור של מאגר המפתחות

conf_webserver_keymanager.password=

אם למנהל המפתחות יש סיסמה, צריך להזין גרסה מעורפלת של הסיסמה בפורמט הזה: OBF:xxxxxxxxxx

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

קובעים את ההגדרות של מאגר האישורים. צריך להחליט אם רוצים לקבל את כל אישורי TLS/SSL (לדוגמה, כדי לקבל סוגים לא סטנדרטיים). ערך ברירת המחדל הוא false. מציינים את הנתיב למאגר האישורים ומזינים סיסמה מוסתרת למאגר האישורים בפורמט הבא: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

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

מידע נוסף על חבילות הצפנה וארכיטקטורת קריפטוגרפיה זמין במאמרים הבאים:

http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

מספרים שלמים שקובעים:

  • גודל המטמון של סשן TLS/SSL (בבייטים) לאחסון מידע על סשנים של כמה לקוחות.
  • משך הזמן שסשנים של TLS/SSL יכולים להימשך לפני שהזמן הקצוב לתפוגה שלהם נגמר (באלפיות השנייה).