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

Edge for Private Cloud גרסה 4.17.09

כברירת מחדל, TLS מושבת ל-Management 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 ל-Management API, מבצעים את התהליך הבא:

  1. יוצרים את קובץ ה-JKS של מאגר המפתחות שמכיל את אישור ה-TLS ואת המפתח הפרטי שלכם. לקבלת מידע נוסף ראה הגדרת TLS/SSL עבור Edge On שטחים.
  2. מעתיקים את קובץ ה-JKS של מאגר המפתחות לספרייה בצומת של שרת הניהול, כמו בתור /opt/apigee/customer/application.
  3. משנים את הבעלות על קובץ ה-JKS ל-apigee:
    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
    conf_webserver_cert.alias=apigee-devtest
    כאשר keyStore.jks הוא קובץ מאגר המפתחות שלכם, obfuscatedPassword הוא הסיסמה שלך למאגר המפתחות המעורפל. למידע נוסף, ראו הגדרת TLS/SSL עבור Edge בשטח. מידע על יצירת סיסמה מעורפלת.
  5. מפעילים מחדש את שרת ניהול הקצה באמצעות הפקודה:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

בממשק ה-API לניהול יש עכשיו תמיכה בגישה באמצעות TLS.

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

בתהליך שלמעלה, 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. מפעילים מחדש את שרת ניהול הקצה באמצעות הפקודה:
    /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=

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

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

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 יכולים להימשך לפני שיפוג הזמן הקצוב לתפוגה שלהם (בטווח אלפיות שנייה).