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

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

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

עבור מעבד ההודעות, אתם יכולים להגדיר את הפרוטוקול ל-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. מוודאים שקובץ המאפיינים שייך למשתמש ה-API:
     chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. מפעילים מחדש את הנתב:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. מוודאים שהפרוטוקול מעודכן באופן תקין על ידי בדיקת הקובץ NGINX /opt/nginx/conf.d/0-default.conf:
    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. מוודאים שקובץ המאפיינים שייך למשתמש ה-API:
    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 לקצה העורפי (ענן וענן פרטי).