כברירת מחדל, הנתב ומעבד ההודעות תומכים ב-TLS (אבטחת שכבת התעבורה) בגרסאות 1.0, 1.1 ו-1.2. עם זאת, ייתכן שתרצו להגביל את הפרוטוקולים שנתמכים על ידי הנתב ומעבד ההודעות. במסמך הזה מוסבר איך מגדירים את הפרוטוקול באופן גלובלי בנתב ובמעבד ההודעות.
עבור הנתב, אפשר גם להגדיר את הפרוטוקול למארחים וירטואליים ספציפיים. מידע נוסף זמין במאמר הגדרת גישה של TLS ל-API בענן הפרטי.
עבור מעבד ההודעות, אתם יכולים להגדיר את הפרוטוקול ל-TargetEndpoint ספציפי. למידע נוסף, אפשר לקרוא את המאמר בנושא הגדרת TLS מ-Edge (לקצה העורפי (Cloud וענן פרטי).
הגדרה של פרוטוקול TLS בנתב
כדי להגדיר את פרוטוקול ה-TLS בנתב, צריך להגדיר את המאפיינים בקובץ router.properties
:
- פותחים את הקובץ
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
- שומרים את השינויים.
- מוודאים שקובץ המאפיינים שייך למשתמש ה-API:
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 בין נתב למעבד הודעות.
- שומרים את השינויים.
- מוודאים שקובץ המאפיינים שייך למשתמש ה-API:
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 לקצה העורפי (ענן וענן פרטי).