הגדרת פרוטוקול TLS לנתב ולמעבד הודעות

כברירת מחדל, הנתב ומעבד ההודעות תומכים ב-TLS בגרסאות 1.0,‏ 1.1 ו-1.2. עם זאת, מומלץ להגביל את הפרוטוקולים הנתמכים על ידי הנתב ומעבד ההודעות. במסמך הזה מוסבר איך להגדיר את הפרוטוקול ברמה הגלובלית בנתב ובמעבד ההודעות.

אפשר גם להגדיר את הפרוטוקול למארחים וירטואליים ספציפיים בנתב. מידע נוסף זמין במאמר הגדרת גישה ל-TLS ל-API בענן הפרטי.

ב-Message Processor, אפשר להגדיר את הפרוטוקול ל-TargetEndpoint ספציפי. מידע נוסף זמין במאמר הגדרת TLS מ-Edge לקצה העורפי (Cloud וענן פרטי).

הגדרת פרוטוקול TLS בנתב

כדי להגדיר את פרוטוקול ה-TLS בנתב, מגדירים מאפיינים בקובץ router.properties:

  1. פותחים את הקובץ router.properties בעורך. אם הקובץ לא קיים, יוצרים אותו:
    vi /opt/apigee/customer/application/router.properties
  2. מגדירים את המאפיינים לפי הצורך:
    # Possible values are space-delimited list of: TLSv1 TLSv1.1 TLSv1.2
    conf_load_balancing_load.balancing.driver.server.ssl.protocols=TLSv1.2
  3. שומרים את השינויים.
  4. מוודאים שהבעלים של קובץ המאפיינים הוא המשתמש 'apigee':
     chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. מפעילים מחדש את הנתב:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. בודקים את הקובץ /opt/nginx/conf.d/0-default.conf ב-NGINX כדי לוודא שהפרוטוקול עודכן כמו שצריך:
    cat /opt/nginx/conf.d/0-default.conf

    מוודאים שהערך של ssl_protocols הוא TLSv1.2.

  7. אם אתם משתמשים ב-TLS דו-כיווני עם מארח וירטואלי, עליכם להגדיר גם את פרוטוקול ה-TLS במארח הווירטואלי, כפי שמתואר במאמר הגדרת גישה ל-TLS לממשק API בענן הפרטי.

הגדרת פרוטוקול TLS במעבד ההודעות

כדי להגדיר את פרוטוקול ה-TLS במעבד ההודעות, מגדירים מאפיינים בקובץ message-processor.properties:

  1. פותחים את הקובץ message-processor.properties בכלי לעריכה. אם הקובץ לא קיים, יוצרים אותו:
    vi /opt/apigee/customer/application/message-processor.properties
  2. מגדירים את המאפיינים באמצעות התחביר הבא:
    # 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 בין נתב לבין מעבד הודעות.

  3. שומרים את השינויים.
  4. מוודאים שהבעלים של קובץ המאפיינים הוא המשתמש 'apigee':
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. מפעילים מחדש את מעבד ההודעות:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. אם אתם משתמשים ב-TLS דו-כיווני עם הקצה העורפי, מגדירים את פרוטוקול ה-TLS במארח הווירטואלי כפי שמתואר במאמר הגדרת TLS מ-Edge לקצה העורפי (Cloud ו-Cloud פרטי).