כברירת מחדל, הנתב ומעבד הבקשות תומכים בגרסאות TLS 1.0, 1.1 ו-1.2. עם זאת, יכול להיות שתרצו להגביל את הפרוטוקולים שנתמכים על ידי הנתב ומעבד הבקשות. במסמך הזה מוסבר איך להגדיר את הפרוטוקול באופן גלובלי בנתב ובמעבד הבקשות.
ב-Router, אפשר גם להגדיר את הפרוטוקול למארחים וירטואליים ספציפיים. מידע נוסף זמין במאמר הגדרת גישת TLS ל-API ב-ענן פרטי.
במעבד הבקשות, אפשר להגדיר את הפרוטוקול ל-TargetEndpoint ספציפי. מידע נוסף זמין במאמר הגדרת TLS מ-Edge לקצה העורפי (Cloud ו-ענן פרטי).
הגדרת פרוטוקול TLS בנתב
כדי להגדיר את פרוטוקול ה-TLS ב-Router, מגדירים מאפיינים בקובץ 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
- בודקים את קובץ ה-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_SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_RSA_WITH_AES_256_GCM_SHA384TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384TLS_DHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
לדוגמה:
conf/system.properties+https.protocols=TLSv1.2 conf_jvmsecurity_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 ו-ענן פרטי).