این صفحه نحوه پیکربندی «امنیت لایه انتقال» نسخه ۱.۳ در «پردازشگرهای پیام Apigee» برای ترافیک ورودی (ترافیک بین «پردازشگر پیام» و سرور زیرینه) را توضیح میدهد.
برای کسب اطلاعات بیشتر درباره ویژگی TLS 1.3 در Java، به یادداشتهای انتشار بهروزرسانی JDK 8u261 مراجعه کنید.
روش فعال کردن «امنیت لایه انتقال» نسخه ۱.۳ به نسخه Java مورداستفاده شما بستگی دارد. برای پیدا کردن نسخه Java نصبشده در «پردازشگر پیام»، نسخه Java را در «پردازشگر پیام» بررسی کنید در زیر ببینید.
نسخههای Java و TLS v1.3
ویژگی «امنیت لایه انتقال نسخه ۱.۳» در نسخههای زیر از Java معرفی شد:
- Oracle JDK 8u261
- OpenJDK 8u272
در نسخههای Java زیر، ویژگی TLS v1.3 وجود دارد اما بهطور پیشفرض در نقشهای کارخواه فعال نیست:
- Oracle JDK 8u261 یا نسخههای جدیدتر اما قدیمیتر از Oracle JDK 8u341
- OpenJDK 8u272 یا جدیدتر اما قدیمیتر از OpenJDK 8u352
اگر از یکی از این نسخهها استفاده میکنید، باید «امنیت لایه انتقال نسخه ۱.۳» را فعال کنید، همانطور که در نحوه فعال کردن «امنیت لایه انتقال نسخه ۱.۳» درصورتیکه بهطور پیشفرض فعال نباشد توضیح داده شده است.
اگر از یکی از نسخههای زیر استفاده میکنید، «امنیت لایه انتقال نسخه ۱.۳» باید ازقبل بهطور پیشفرض در نقشهای مشتری فعال شده باشد («پردازشگر پیام» بهعنوان مشتری برای اتصالات «امنیت لایه انتقال» بهسمت پایین عمل میکند)، بنابراین نیازی نیست اقدامی انجام دهید:
- Oracle JDK 8u341 یا نسخههای جدیدتر
- OpenJDK 8u352 یا نسخههای جدیدتر
برای اینکه «امنیت لایه انتقال نسخه ۱.۳» کار کند، همه موارد زیر باید درست باشد:
- Java زیربنایی در «پردازشگر پیام» باید از «امنیت لایه انتقال نسخه ۱.۳» پشتیبانی کند.
- TLS v1.3 باید در Java در «پردازشگر پیام» فعال باشد.
- TLS v1.3 باید در برنامه «پردازشگر پیام» فعال باشد.
نحوه فعال کردن TLS v1.3 در Java زمانی که بهطور پیشفرض فعال نیست.
این بخش توضیح میدهد که درصورت استفاده از یکی از نسخههای زیر 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 را فعال میکند.
برای آشنایی با نحوه تنظیم خصوصیات ماشین مجازی جاوا در عنصر Edge، به تغییر دادن سایر خصوصیات ماشین مجازی جاوا مراجعه کنید.
برای فعال کردن پروتکلهای TLS v1، v1.1، v1.2، و v1.3:
- پیکربندی زیر را در
فایل پیکربندی پردازشگر پیام
(
/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 در فهرست پروتکلها ذکر نشده باشد. عناصر پیکربندی «نقطه پایانی هدف» TLS/SSL را ببینید. توجه: اگر هیچ پروتکلی در پیکربندی سرور هدف مشخص نشده باشد، هر پروتکلی که توسط Java پشتیبانی میشود بهعنوان گزینه در دست دادن مشتری ارسال خواهد شد.
- با غیرفعال کردن کامل پروتکل، «امنیت لایه انتقال نسخه ۱.۳» را در پردازشگر پیام غیرفعال کنید. به تنظیم پروتکل «امنیت لایه انتقال» در «پردازشگر پیام» مراجعه کنید.
بررسی نسخه 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 بررسی کنید که آیا سرور هدف شما از «امنیت لایه انتقال» نسخه ۱.۳ و حداقل یکی از
رمزگذاریهای بالا پشتیبانی میکند یا نه. توجه داشته باشید که این مثال از ابزار openssl11 استفاده میکند که
«پروتکل امن لایه» نسخه ۱.۳ در آن فعال است.
$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3