این صفحه نحوه پیکربندی TLS 1.3 را در «پردازشگرهای پیام Apigee» برای ترافیک خروجی (ترافیک بین «پردازشگر پیام» و سرور زیرینه) توضیح میدهد.
برای کسب اطلاعات بیشتر درباره ویژگی TLS 1.3 در Java، به یادداشتهای انتشار بهروزرسانی JDK 8u261 مراجعه کنید.
روش فعال کردن «امنیت لایه انتقال» نسخه ۱.۳ به نسخه Java مورداستفاده شما بستگی دارد. برای پیدا کردن نسخه Java نصبشده در «پردازشگر پیام»، بررسی نسخه Java در «پردازشگر پیام» را در زیر ببینید.
نسخههای TLS v1.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 نسخه ۱.۳ را فعال کنید، همانطور که در نحوه فعال کردن TLS نسخه ۱.۳ وقتی بهطور پیشفرض فعال نیست توضیح داده شده است.
اگر از یکی از نسخههای زیر استفاده میکنید، «امنیت لایه انتقال» نسخه ۱.۳ باید ازقبل بهطور پیشفرض در نقشهای کارخواه فعال شده باشد («پردازشگر پیام» بهعنوان کارخواه برای اتصالات «امنیت لایه انتقال» جنوبی عمل میکند)، بنابراین نیازی نیست اقدامی انجام دهید:
- Oracle JDK 8u341 یا جدیدتر
- OpenJDK 8u352 یا جدیدتر
برای اینکه TLS نسخه ۱.۳ کار کند، همه موارد زیر باید درست باشد:
- Java زیربنایی در «پردازشگر پیام» باید از TLS نسخه ۱.۳ پشتیبانی کند.
- TLS v1.3 باید در Java در «پردازشگر پیام» فعال باشد.
- TLS v1.3 باید در برنامه «پردازشگر پیام» فعال باشد.
نحوه فعال کردن TLS v1.3 در Java وقتی بهطور پیشفرض فعال نیست.
این بخش توضیح میدهد که اگر از یکی از نسخههای Java زیر استفاده میکنید، چگونه TLS v1.3 را فعال کنید:
- 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 در مؤلفه Edge، به تغییر دادن دیگر ویژگیهای JVM مراجعه کنید.
برای فعال کردن پروتکلهای TLS نسخه ۱، ۱.۱، ۱.۲، و ۱.۳:
- پیکربندی زیر را در فایل پیکربندی پردازشگر پیام (
/opt/apigee/customer/application/message-processor.properties) تنظیم کنید:bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
- «پردازشگر پیام» را بازراهاندازی کنید.
نحوه غیرفعال کردن TLS v1.3 وقتی بهطور پیشفرض فعال است
اگر از Oracle JDK 8u341 یا نسخههای جدیدتر، یا OpenJDK 8u352 یا نسخههای جدیدتر استفاده میکنید، TLSv1.3 بهطور پیشفرض برای کارخواهها فعال است. اگر میخواهید TLS v1.3 را در چنین مواردی غیرفعال کنید، دو گزینه دارید:
- SSLInfo سرور هدف را پیکربندی کنید و مطمئن شوید TLSv1.3 در فهرست پروتکلها ذکر نشده باشد. عناصر پیکربندی TargetEndpoint «امنیت لایه انتقال»/SSL را ببینید. توجه: اگر هیچ پروتکلی در پیکربندی سرور هدف مشخص نشده باشد، هر پروتکلی که توسط Java پشتیبانی شود بهعنوان گزینههایی در دستدهی کارخواه ارسال خواهد شد.
- با غیرفعال کردن کامل پروتکل، TLS v1.3 را در پردازشگر پیام غیرفعال کنید. ببینید تنظیم پروتکل TLS در «پردازشگر پیام».
بررسی نسخه 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_AES_256_GCM_SHA384
- TLS_AES_128_GCM_SHA256
میتوانید از openssl استفاده کنید تا بررسی کنید آیا سرور هدف شما از TLS نسخه ۱.۳ و حداقل یکی از
رمزهای بالا بااستفاده از موارد زیر پشتیبانی میکند یا نه. توجه داشته باشید که این مثال از ابزار کمکی 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