כברירת מחדל, הנתב ומעבד ההודעות תומכים ב-TLS בגרסאות 1.0, 1.1 ו-1.2. עם זאת, מומלץ להגביל את הפרוטוקולים הנתמכים על ידי הנתב ומעבד ההודעות. במסמך הזה מוסבר איך להגדיר את הפרוטוקול ברמה הגלובלית בנתב ובמעבד ההודעות.
אפשר גם להגדיר את הפרוטוקול למארחים וירטואליים ספציפיים בנתב. מידע נוסף זמין במאמר הגדרת גישה ל-TLS ל-API בענן הפרטי.
ב-Message Processor, אפשר להגדיר את הפרוטוקול ל-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
- שומרים את השינויים.
- מוודאים שהבעלים של קובץ המאפיינים הוא המשתמש 'apigee':
chown apigee:apigee /opt/apigee/customer/application/router.properties
- מפעילים מחדש את הנתב:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- בודקים את הקובץ
/opt/nginx/conf.d/0-default.conf
ב-NGINX כדי לוודא שהפרוטוקול עודכן כמו שצריך: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':
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 ו-Cloud פרטי).