הגדרת TLS 1.3 לתעבורה לכיוון דרום

בדף הזה מוסבר איך להגדיר TLS 1.3 ב'מעבדי הודעות של Apigee' לתעבורת נתונים שפונה דרומה. (תנועה בין מעבד ההודעות לשרת הקצה העורפי).

למידע נוסף על התכונה TLS 1.3 ב-Java, ראו הערות מוצר לעדכון JDK 8u261.

התהליך להפעלת TLS 1.3 תלוי בגרסת Java שבה משתמשים. צפייה כדי למצוא את הגרסה המותקנת של Java, צריך לבדוק את הגרסה של Java במעבד ההודעות שמופיעה בהמשך במעבד ההודעות.

TLS בגרסאות 1.3 ו-Java

התכונה TLS 1.3 הושקה בגרסאות הבאות של Java:

  • Oracle JDK 8u261
  • OpenJDK 8u272

בגרסאות Java הבאות, התכונה TLS v1.3 קיימת אבל היא לא מופעלת כברירת מחדל בתפקידי לקוח:

  • Oracle JDK 8u261 ואילך אבל קטן מ-Oracle JDK 8u341
  • OpenJDK 8u272 ואילך אבל פחות מ-OpenJDK 8u352

אם אתם משתמשים באחת מהגרסאות האלה, עליכם להפעיל את TLS (אבטחת שכבת התעבורה) גרסה 1.3, כפי שמתואר. במאמר איך להפעיל TLS v1.3 כשהיא לא מופעלת כברירת מחדל.

אם אתם משתמשים באחת מהגרסאות הבאות, גרסה 1.3 של TLS כבר אמורה להיות מופעלת כברירת מחדל. בתפקידי לקוח (מעבד הודעות פועל כלקוח לחיבורי TLS שפונים לכיוון דרום), כך שלא צריך לבצע פעולה כלשהי:

  • Oracle JDK 8u341 ואילך
  • OpenJDK 8u352 ואילך

כדי שגרסה 1.3 של TLS תפעל, כל התנאים הבאים צריכים להתקיים:

  • הבסיס של Java במעבד ההודעות חייב לתמוך ב-TLS v1.3.
  • יש להפעיל את TLS v1.3 ב-Java ב'מעבד הודעות'.
  • יש להפעיל את גרסה 1.3 של TLS באפליקציה 'מעבד הודעות'.

איך להפעיל TLS v1.3 ב-Java כאשר היא לא מופעלת כברירת מחדל.

בקטע הזה מוסבר איך להפעיל TLS v1.3 במקרה שמשתמשים באחת מהאפשרויות הבאות גרסאות Java:

  • Oracle JDK 8u261 ואילך אבל קטן מ-Oracle JDK 8u341
  • OpenJDK 8u272 ואילך אבל פחות מ-OpenJDK 8u352

במעבד ההודעות, מגדירים את מאפיין Java jdk.tls.client.protocols. הערכים מופרדים בפסיקים ויכולים להכיל אחד או יותר מהערכים הבאים: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 וגם SSLv3

לדוגמה, הגדרה של -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 מפעילה לקוח עם הפרוטוקולים TLSv1.2 ו-TLSv1.3.

ראה שינוי אחר נכסי JVM תלמדו על האופן שבו מגדירים מאפייני JVM ברכיב Edge.

כדי להפעיל את הפרוטוקולים TLS v1, v1.1, v1.2 ו-v1.3:

  1. קביעת ההגדרות הבאות ב- קובץ התצורה של מעבד ההודעות (/opt/apigee/customer/application/message-processor.properties):
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. צריך להפעיל מחדש את מעבד ההודעות.
>

איך להשבית את TLS v1.3 כשהוא מופעל כברירת מחדל

אם משתמשים ב-Oracle JDK 8u341 ואילך, או ב-OpenJDK 8u352 ואילך, TLSv1.3 מופעל על ידי ברירת המחדל ללקוחות. אם ברצונך להשבית את TLS v1.3 במקרים כאלה, יש לך שתי אפשרויות:

בדיקת גרסת Java במעבד הודעות

כדי לבדוק איזו גרסת Java מותקנת במעבד הודעות, צריך להתחבר למעבד ההודעות ומריצים את הפקודה הבאה:

java -version

הפלט לדוגמה שבהמשך מראה ש-OpenJDK 8u312 מותקן.

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

צופנים נתמכים

נכון לעכשיו, ב-Java 8 יש תמיכה בשני צפנים TLS בגרסה 1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

אפשר להשתמש ב-openssl כדי לבדוק אם שרת היעד תומך ב-TLS v1.3 ולפחות אחד ההצפנה שלמעלה. שימו לב שהדוגמה הזו משתמשת בכלי השירות openssl11 שכולל TLS v1.3 מופעל.

$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3