Apigee Edge for Private Cloud 4.54.00-এ ডিফল্ট হিসেবে, রাউটার
(Nginx) এবং মেসেজ প্রসেসর (Java 21) TLSv1.2 এবং
TLSv1.3 চালু করে। আপনার ব্যবসার প্রয়োজন এবং নিরাপত্তা
অনুশীলনের উপর নির্ভর করে, আপনি অনুমোদিত প্রোটোকল সীমাবদ্ধ করতে বা পুরানো প্রোটোকল পুনরায় চালু করতে
চাইবেন। এই ডকুমেন্ট থেকে জানতে পারবেন কীভাবে রাউটার ও মেসেজ প্রসেসরে
নর্থবাউন্ড ও সাউথবাউন্ড ট্রাফিকের জন্য TLS প্রোটোকল
কনফিগার করতে হয়।
রাউটারের জন্য, আপনি প্রতিটি ভার্চুয়াল হোস্টের জন্য প্রোটোকল সেট করতে পারবেন। আরও জানতে প্রাইভেট ক্লাউডের জন্য API-তে TLS অ্যাক্সেস কনফিগার করা দেখুন।
মেসেজ প্রসেসরের জন্য, আপনি কোনও নির্দিষ্ট TargetEndpoint-এর জন্য প্রোটোকল সেট করতে পারবেন। আরও জানতে Edge থেকে ব্যাকএন্ডে (Cloud এবং Private Cloud) TLS কনফিগার করা দেখুন।
রাউটারে TLS প্রোটোকল সেট করা
নিম্নলিখিত প্রপার্টিগুলি আপনাকে নর্থবাউন্ড কমিউনিকেশনের জন্য রাউটারে কাঙ্ক্ষিত TLS প্রোটোকল সেট করতে সাহায্য করে।
রাউটারে TLS প্রোটোকল সেট করতে, router.properties
ফাইলে প্রপার্টি সেট করুন:
- এডিটরে
router.propertiesফাইল খুলুন। ফাইলটি না থাকলে, এটি তৈরি করুন:vi /opt/apigee/customer/application/router.properties
- ইচ্ছা অনুযায়ী প্রপার্টি সেট করুন:
# Possible values are space-delimited list of: TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 conf_load_balancing_load.balancing.driver.server.ssl.protocols=TLSv1.2
- আপনার করা পরিবর্তন সেভ করুন।
apigeeব্যবহারকারীর মালিকানাধীন প্রপার্টি ফাইল আছে কিনা তা নিশ্চিত করুন:chown apigee:apigee /opt/apigee/customer/application/router.properties
- রাউটার রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Nginx ফাইল পরীক্ষা করে প্রোটোকল সঠিকভাবে আপডেট করা হয়েছে কিনা তা যাচাই করুন
/opt/nginx/conf.d/0-default.conf:cat /opt/nginx/conf.d/0-default.conf
ssl_protocols-এর ভ্যালুTLSv1.2কিনা তা নিশ্চিত করুন। - আপনি ভার্চুয়াল হোস্টের সাথে টু-ওয়ে TLS ব্যবহার করলে, আপনাকে ভার্চুয়াল হোস্টে TLS প্রোটোকলও সেট করতে হবে, যেমনটি প্রাইভেট ক্লাউডের জন্য API-তে TLS অ্যাক্সেস কনফিগার করা-তে বর্ণনা করা হয়েছে।
Message Processor-এ TLS প্রোটোকল সেট করুন
নিম্নলিখিত প্রপার্টি আপনাকে সাউথবাউন্ড কমিউনিকেশনের জন্য মেসেজ প্রসেসরে পছন্দসই TLS প্রোটোকল সেট করতে সাহায্য করে। এছাড়াও, এই বিভাগে কীভাবে বন্ধ করা TLS প্রোটোকল ও সাইফার নিয়ে কাজ করতে হয় তা বর্ণনা করা হয়েছে।
মেসেজ প্রসেসরে TLS প্রোটোকল সেট করতে, message-processor.properties ফাইলে প্রপার্টি সেট করুন:
message-processor.propertiesফাইলটি একটি এডিটরে খুলুন। ফাইলটি না থাকলে, এটি তৈরি করুন:vi /opt/apigee/customer/application/message-processor.properties
- নিম্নলিখিত সিনট্যাক্স ব্যবহার করে প্রপার্টি কনফিগার করুন:
# Possible values are a comma-delimited list of TLSv1, TLSv1.1, TLSv1.2, and TLSv1.3 conf/system.properties+https.protocols=[TLSv1][,TLSv1.1][,TLSv1.2][,TLSv1.3] # Possible values are a comma-delimited list of SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 # SSLv3 is required conf_jvmsecurity_jdk.tls.disabledAlgorithms=SSLv3[,TLSv1][,TLSv1.1][,TLSv1.2][,TLSv1.3] # 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/system.properties+https.protocols=TLSv1.2 conf_jvmsecurity_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_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 কনফিগার করা দেখুন।
- আপনার করা পরিবর্তন সেভ করুন।
- প্রপার্টি ফাইলটি
apigeeব্যবহারকারীর মালিকানাধীন কিনা তা নিশ্চিত করুন:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- মেসেজ প্রসেসর রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- আপনি ব্যাকএন্ডের সাথে টু-ওয়ে TLS ব্যবহার করলে, ভার্চুয়াল হোস্টে TLS প্রোটোকল সেট করুন, যেমনটি Edge থেকে ব্যাকএন্ডে (Cloud এবং Private Cloud) TLS কনফিগার করা লিঙ্কে বর্ণনা করা হয়েছে।
পুরনো সাইফার ও TLS প্রোটোকল ব্যবহার করা: আপনি পুরনো সাইফার বা প্রোটোকল ব্যবহার করতে চাইলে, নিম্নলিখিত বিভাগগুলি দেখুন।
পুরনো TLS-এর সাথে কাজ করা
Java 21-এ, পুরনো TLS প্রোটোকল (TLSv1,
TLSv1.1 এবং SSLv3) এবং দুর্বল ডিফি-হেলম্যান কী
(DH keySize < 1024) ডিফল্ট হিসেবে
jdk.tls.disabledAlgorithms-এ বন্ধ করা থাকে। সেগুলি চালু করতে, নিম্নলিখিত বিকল্পগুলির মধ্যে
একটি ব্যবহার করুন:
- বিকল্প A: ব্যাকএন্ড প্রোটোকল আধুনিকীকরণ: TLS 1.2 বা TLS 1.3 কাজ করে এমন
ব্যাকএন্ড সার্ভার আপডেট করুন এবং নিশ্চিত করুন যে ডিফি-হেলম্যান প্যারামিটারের সাইজ
২০৪৮ বিট বা তার বেশি (
>= 2048বিট) আছে। - বিকল্প খ: CwC ব্যবহার করে পুরনো প্রোটোকল আবার চালু করা:
কোড উইথ কনফিগ (CwC) ব্যবহার করে
/opt/apigee/customer/application/message-processor.properties-এconf_jvmsecurity_jdk.tls.disabledAlgorithmsথেকেTLSv1, TLSv1.1সরিয়ে পুরনো TLS 1.0 বা TLS 1.1 ব্যাকএন্ডের সাথে মানানসই করে তুলুন:# Re-enable TLS 1.0 and TLS 1.1 for legacy backend connectivity conf_jvmsecurity_jdk.tls.disabledAlgorithms=SSLv3, DTLSv1.0, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, ECDH, TLS_RSA_*, rsa_pkcs1_sha1 usage HandshakeSignature, ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature, include jdk.disabled.namedCurves
স্ট্যাটিক RSA সাইফার নিয়ে কাজ করা
Apigee Edge for Private Cloud ভার্সন 4.54.00 Java 21-এ চলে,
যেখানে স্ট্যাটিক RSA সাইফার স্যুট (TLS_RSA_*) যেগুলিতে ক্ষণস্থায়ী
ডিফি-হেলম্যান কী এক্সচেঞ্জ (ECDHE বা DHE) নেই সেগুলি ডিফল্ট হিসেবে
jdk.tls.disabledAlgorithms-এ (যেমন,
TLS_RSA_WITH_AES_128_CBC_SHA বা
TLS_RSA_WITH_AES_256_CBC_SHA) বন্ধ করা থাকে। যে ব্যাকএন্ডে
স্ট্যাটিক RSA সাইফার স্যুট প্রয়োজন সেগুলিকে সাপোর্ট করতে, নিম্নলিখিত বিকল্প ব্যবহার করুন:
- CwC ব্যবহার করে স্ট্যাটিক RSA সাইফার আবার চালু করা: কোড উইথ কনফিগ (CwC) ব্যবহার করে
/opt/apigee/customer/application/message-processor.properties-এconf_jvmsecurity_jdk.tls.disabledAlgorithmsথেকেTLS_RSA_*সরিয়ে পুরনো ব্যাকএন্ডের সাথে মানানসই করে তুলুন:# Re-enable Static RSA ciphers for backward compatibility with legacy Java 8 backends conf_jvmsecurity_jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, DTLSv1.0, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, ECDH, rsa_pkcs1_sha1 usage HandshakeSignature, ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature, include jdk.disabled.namedCurves
প্রপার্টি পরিবর্তন করার পরে, apigee-service ব্যবহার করে
মেসেজ প্রসেসর রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
হোস্টের জন্য TLS 1.3 চালু করুন
নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য কীভাবে TLS 1.3 চালু করতে হয় তা এই বিভাগে ব্যাখ্যা করা হয়েছে। TLS 1.3 চালু করতে, ম্যানেজমেন্ট সার্ভার নোডে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- প্রতিটি ম্যানেজমেন্ট সার্ভার নোডে,
/opt/apigee/customer/application/management-server.propertiesফাইলটি এডিট করুন এবং নিম্নলিখিত লাইনটি যোগ করুন (ফাইলটি না থাকলে, এটি তৈরি করুন):conf_virtualhost_virtual.host.allowed.protocol.list=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
এই ফাইলের জন্য, প্রোটোকলগুলি কমা দিয়ে আলাদা করা হয় এবং ছোট ও বড় হাতের অক্ষরের মধ্যে পার্থক্য করা হয়।
- ফাইলটি সেভ করুন।
- ফাইলটি
apigeeব্যবহারকারীর মালিকানাধীন কিনা তা নিশ্চিত করুন:chown apigee:apigee /opt/apigee/customer/application/management-server.properties
- ম্যানেজমেন্ট সার্ভার রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- সব ম্যানেজমেন্ট সার্ভার নোডে আগের ধাপগুলি এক এক করে আবার করুন।
- নিম্নলিখিত প্রপার্টি সহ ভার্চুয়াল হোস্ট তৈরি (বা আগে থেকে থাকা হোস্ট আপডেট)
করুন। মনে রাখবেন, প্রোটোকলগুলি স্পেস দিয়ে আলাদা করা হয় এবং ছোট ও বড় হাতের অক্ষরের মধ্যে পার্থক্য করা হয়:
"properties": { "property": [ { "name": "ssl_protocols", "value": "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3" } ] }নিচের উদাহরণে এই প্রপার্টি সহ একটি নমুনা vhost দেখানো হয়েছে:
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "ssl_protocols", "value": "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
TLS 1.3 পরীক্ষা করা হচ্ছে
TLS 1.3 পরীক্ষা করতে, নিম্নলিখিত কমান্ড লিখুন:
curl -v --tlsv1.3 "https://api.myCompany,com/testproxy"
মনে রাখবেন, আপনি শুধুমাত্র সেইসব ক্লায়েন্টে TLS 1.3 পরীক্ষা করতে পারবেন যেগুলি এই প্রোটোকল সমর্থন করে। TLS 1.3 চালু করা না থাকলে, আপনি এই ধরনের কোনও ত্রুটি মেসেজ দেখতে পাবেন:
sslv3 alert handshake failure