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

Edge for Private Cloud גרסה 4.18.05

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

http://ms_IP:8080

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

https://ms_IP:8443

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

כדי להבטיח הצפנת תנועה אל ה-API לניהול וממנו, צריך לקבוע את ההגדרות בקובץ /opt/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 (אבטחת שכבת התעבורה)

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

כדי להגדיר גישת TLS לממשק ה-API לניהול, משתמשים בתהליך הבא:

  1. יוצרים את קובץ ה-JKS של מאגר המפתחות שמכיל את אישור ה-TLS (אבטחת שכבת התעבורה) והמפתח הפרטי שלכם. למידע נוסף, ראו הגדרת TLS/SSL ל-Edge On Premises.
  2. מעתיקים את קובץ ה-JKS של מאגר המפתחות לספרייה בצומת של שרת הניהול, כמו /opt/apigee/customer/application.
  3. שינוי הבעלות על קובץ ה-JKS לדפדפן:
    chown apigee:apigee keystore.jks
    כאשר keystore.jks הוא השם של קובץ מאגר המפתחות שלך.
  4. עורכים את /opt/apigee/customer/application/management-server.properties כדי להגדיר את המאפיינים הבאים. אם הקובץ לא קיים, יוצרים אותו:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    כאשר keyStore.jks הוא קובץ מאגר המפתחות שלך, ו-obfuscatedPassword היא הסיסמה של מאגר המפתחות המעורפל. למידע על יצירת סיסמה מעורפלת (obfuscation), אפשר לקרוא את המאמר בנושא הגדרת TLS/SSL ל-Edge On Premises.
  5. מפעילים מחדש את שרת ניהול Edge באמצעות הפקודה:
    /opt/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 לממשק ה-API לניהול, כפי שמתואר למעלה.
  2. אחרי שמוודאים ש-TLS פועל ב-Management API, עורכים את /opt/apigee/customer/application/management-server.properties כדי להגדיר את המאפיין הבא: conf_webserver_http.turn.off=true
  3. מפעילים מחדש את שרת ניהול Edge באמצעות הפקודה:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. עורכים את /opt/apigee/customer/application/ui.properties כדי להגדיר את המאפיין הבא לממשק המשתמש של Edge. אם הקובץ לא קיים, יוצרים אותו: conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1" כאשר FQDN הוא השם המלא של הדומיין, בהתאם לכתובת האישור של שרת הניהול, ומספר היציאה הוא היציאה שצוינה למעלה ב-conf_webserver_ssl.port.
  5. רק אם השתמשתם באישור בחתימה עצמית (לא מומלץ בסביבת ייצור) במהלך הגדרת הגישה של TLS לממשק ה-API לניהול שלמעלה, צריך להוסיף את המאפיין הבא ל-ui.properties: conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true אחרת, ממשק המשתמש של Edge ידחה אישור בחתימה עצמית.
  6. מפעילים מחדש את ממשק המשתמש של Edge באמצעות הפקודה:
    /opt/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 יכולים להימשך לפני הזמן הקצוב לתפוגה (באלפיות שנייה).