כברירת מחדל, הנתב ומעבד ההודעות תומכים בפרוטוקולים TLS (אבטחת שכבת התעבורה) 1.0, 1.1 ו-1.2. בהתאם למערכת ההפעלה וגרסת Java שלכם, יכול להיות שהנתב ומעבד ההודעות תומכים גם בפרוטוקול TLS 1.3. עם זאת, ייתכן שתרצו להגביל חלק מההנחיות בפרוטוקולים בהתאם לצרכים ולנוהלי האבטחה שלכם. המסמך הזה מתארת איך להגדיר את הפרוטוקול באופן גלובלי בנתב ובמעבד ההודעות.
בנתב, אפשר גם להגדיר את הפרוטוקול של מארחים וירטואליים ספציפיים. למידע נוסף, ראו הגדרת גישת TLS ל-API בענן הפרטי.
במעבד ההודעות, אפשר להגדיר את הפרוטוקול של נקודת קצה (TargetEnd) ספציפית. ראו הגדרת TLS מ-Edge לקצה העורפי (Cloud ו-Private Cloud).
הגדרת פרוטוקול TLS בנתב
כדי להגדיר פרוטוקול TLS בנתב, צריך להגדיר מאפיינים ב-router.properties
file:
- פתיחת הקובץ
router.properties
ב- בעל הרשאת עריכה. אם הקובץ לא קיים, יוצרים אותו:vi /opt/apigee/customer/application/router.properties
- מגדירים את המאפיינים שרוצים:
# Possible values are space-delimited list of: TLSv1 TLSv1.1 TLSv1.2 conf_load_balancing_load.balancing.driver.server.ssl.protocols=TLSv1.2
- שומרים את השינויים.
- צריך לוודא שקובץ המאפיינים נמצא בבעלות ה-apigee user:
chown apigee:apigee /opt/apigee/customer/application/router.properties
- מפעילים מחדש את הנתב:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- יש לוודא שהפרוטוקול מעודכן כראוי על-ידי בדיקת קובץ ה-Nginx
/opt/nginx/conf.d/0-default.conf
:cat /opt/nginx/conf.d/0-default.conf
צריך לוודא שהערך של
ssl_protocols
הוא TLSv1.2. - אם אתה משתמש ב-TLS דו-כיווני עם מארח וירטואלי, עליך להגדיר את פרוטוקול ה-TLS גם מארח וירטואלי כפי שמתואר בהגדרת גישת TLS API לענן הפרטי.
הגדרת פרוטוקול ה-TLS בהודעה מעבד
כדי להגדיר את פרוטוקול ה-TLS במעבד ההודעות, צריך להגדיר מאפיינים
קובץ message-processor.properties
:
- פותחים את הקובץ
message-processor.properties
ב עם הרשאת עריכה. אם הקובץ לא קיים, יוצרים אותו:vi /opt/apigee/customer/application/message-processor.properties
- מגדירים את המאפיינים באמצעות התחביר הבא:
# Possible values are a comma-delimited list of TLSv1, TLSv1.1, and TLSv1.2 conf/system.properties+https.protocols=[TLSv1][,TLSv1.1][,TLSv1.2] # Possible values are a comma-delimited list of SSLv3, TLSv1, TLSv1.1, TLSv1.2 # SSLv3 is required conf_jvmsecurity_jdk.tls.disabledAlgorithms=SSLv3[,TLSv1][,TLSv1.1][,TLSv1.2] # Specify the ciphers that the Message Processor supports. (You must separate ciphers with a comma.): conf_message-processor-communication_local.http.ssl.ciphers=cipher[,...]
ערכים אפשריים עבור
conf_message-processor-communication_local.http.ssl.ciphers
הן:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
לדוגמה:
conf/system.properties+https.protocols=TLSv1.2 conf/jvmsecurity.properties+jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1 conf_message-processor-communication_local.http.ssl.ciphers=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
רשימה מלאה של הנכסים הקשורים זמינה בכתובת הגדרת TLS בין נתב ומעבד הודעות.
- שומרים את השינויים.
- צריך לוודא שקובץ המאפיינים נמצא בבעלות ה-apigee user:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- מפעילים מחדש את מעבד ההודעות:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- אם אתם משתמשים ב-TLS דו-כיווני עם הקצה העורפי, צריך להגדיר את פרוטוקול ה-TLS במארח הווירטואלי כ- שמתואר במאמר הגדרת TLS (אבטחת שכבת התעבורה) מ-Edge לקצה העורפי (Cloud ו-Private Cloud).