ম্যানেজমেন্ট UI-এর জন্য TLS কনফিগার করা

Edge for Private Cloud v4.19.01

ডিফল্ট হিসেবে, আপনি ম্যানেজমেন্ট সার্ভার নোড এবং পোর্ট ৯০০০-এর IP অ্যাড্রেস ব্যবহার করে HTTP-এর মাধ্যমে Edge ম্যানেজমেন্ট UI অ্যাক্সেস করেন। যেমন:

http://ms_IP:9000

এছাড়াও, আপনি ম্যানেজমেন্ট UI-তে TLS অ্যাক্সেস কনফিগার করতে পারেন যাতে আপনি এটি নিম্নলিখিত ফর্ম্যাটে অ্যাক্সেস করতে পারেন:

https://ms_IP:9443

এই উদাহরণে, আপনি পোর্ট 9443 ব্যবহার করার জন্য TLS অ্যাক্সেস কনফিগার করেন। তবে, Edge-এর জন্য সেই পোর্ট নম্বরের প্রয়োজন নেই - আপনি অন্যান্য পোর্ট ভ্যালু ব্যবহার করার জন্য ম্যানেজমেন্ট সার্ভার কনফিগার করতে পারেন। একমাত্র প্রয়োজন হল, আপনার ফায়ারওয়াল যেন নির্দিষ্ট পোর্টের মাধ্যমে ট্রাফিককে অনুমতি দেয়।

আপনার TLS পোর্ট খোলা আছে কিনা তা নিশ্চিত করুন

এই বিভাগে ম্যানেজমেন্ট সার্ভারে পোর্ট ৯৪৪৩ ব্যবহার করার জন্য TLS কনফিগার করার পদ্ধতি উল্লেখ করা হয়েছে। আপনি যে পোর্টই ব্যবহার করুন না কেন, আপনাকে নিশ্চিত করতে হবে যে পোর্টটি ম্যানেজমেন্ট সার্ভারে খোলা আছে। যেমন, এটি খুলতে আপনি নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose

TLS কনফিগার করুন

ম্যানেজমেন্ট UI-তে TLS অ্যাক্সেস কনফিগার করতে নিম্নলিখিত পদ্ধতি ব্যবহার করুন:

  1. আপনার TLS সার্টিফিকেশন ও ব্যক্তিগত কী সহ keystore JKS ফাইল তৈরি করুন এবং ম্যানেজমেন্ট সার্ভার নোডে কপি করুন। আরও তথ্যের জন্য, এজ অন-প্রিমাইসের জন্য TLS/SSL কনফিগার করা দেখুন।
  2. TLS কনফিগার করতে এই কমান্ড রান করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. HTTPS পোর্ট নম্বর লিখুন, যেমন, ৯৪৪৩।
  4. ম্যানেজমেন্ট UI-তে HTTP অ্যাক্সেস বন্ধ করতে চান কিনা তা উল্লেখ করুন। ডিফল্ট হিসেবে, ম্যানেজমেন্ট UI পোর্ট ৯০০০-এ HTTP-এর মাধ্যমে অ্যাক্সেস করা যায়।
  5. কীস্টোর অ্যালগরিদম লিখুন। ডিফল্ট হল JKS।
  6. কীস্টোর JKS ফাইলের অ্যাবসোলিউট পাথ লিখুন।

    স্ক্রিপ্টটি ম্যানেজমেন্ট সার্ভার নোডের /opt/apigee/customer/conf ডিরেক্টরিতে ফাইলটি কপি করে এবং ফাইলের মালিকানা "apigee"-তে পরিবর্তন করে।

  7. ক্লিয়ার টেক্সট কীস্টোর পাসওয়ার্ড লিখুন।
  8. স্ক্রিপ্টটি তখন এজ ম্যানেজমেন্ট UI রিস্টার্ট করে। রিস্টার্ট করার পরে, ম্যানেজমেন্ট UI TLS-এর মাধ্যমে অ্যাক্সেস করার সুবিধা দেয়।

    আপনি /opt/apigee/etc/edge-ui.d/SSL.sh-এ এইসব সেটিংস দেখতে পাবেন।

TLS কনফিগার করার জন্য কনফিগ ফাইল ব্যবহার করা

উপরের পদ্ধতির বিকল্প হিসেবে, আপনি পদ্ধতির ২ নম্বর ধাপে কমান্ডে একটি কনফিগারেশন ফাইল পাস করতে পারেন। আপনি যদি ঐচ্ছিক TLS প্রপার্টি সেট করতে চান, তাহলে আপনাকে এই পদ্ধতি ব্যবহার করতে হবে।

কনফিগ ফাইল ব্যবহার করতে, নতুন ফাইল তৈরি করে নিম্নলিখিত প্রপার্টি যোগ করুন:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

আপনার পছন্দমতো যেকোনও নাম দিয়ে লোকাল ডিরেক্টরিতে ফাইলটি সেভ করুন। তারপর TLS কনফিগার করতে এই কমান্ড ব্যবহার করুন:

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

যেখানে configFile হল আপনার সেভ করা ফাইলের সম্পূর্ণ পাথ।

লোড ব্যালেন্সারে TLS শেষ হলে Edge UI কনফিগার করুন

আপনার যদি এমন কোনও লোড ব্যালেন্সার থাকে যা Edge UI-তে অনুরোধ ফরওয়ার্ড করে, তাহলে আপনি লোড ব্যালেন্সারে TLS কানেকশন বন্ধ করার সিদ্ধান্ত নিতে পারেন এবং তারপর লোড ব্যালেন্সারকে HTTP-এর মাধ্যমে Edge UI-তে অনুরোধ ফরওয়ার্ড করতে দিতে পারেন। এই কনফিগারেশন কাজ করে তবে আপনাকে সেই অনুযায়ী লোড ব্যালেন্সার ও Edge UI কনফিগার করতে হবে।

ব্যবহারকারী তৈরি করার সময় বা ব্যবহারকারী পাসওয়ার্ড ভুলে গিয়ে রিসেট করার অনুরোধ করলে, Edge UI ব্যবহারকারীকে পাসওয়ার্ড সেট করার জন্য ইমেল পাঠালে অতিরিক্ত কনফিগারেশন প্রয়োজন হয়। এই ইমেলে একটি URL থাকে যা ব্যবহারকারী পাসওয়ার্ড সেট বা রিসেট করার জন্য বেছে নেন। ডিফল্ট হিসেবে, Edge UI যদি TLS ব্যবহার করার জন্য কনফিগার করা না থাকে, তাহলে জেনারেট করা ইমেলে URL, HTTPS-এর পরিবর্তে HTTP প্রোটোকল ব্যবহার করে। আপনাকে অবশ্যই লোড ব্যালেন্সার এবং এজ UI কনফিগার করতে হবে যাতে একটি ইমেল ঠিকানা তৈরি করা যায় যা HTTPS ব্যবহার করে।

লোড ব্যালেন্সার কনফিগার করতে, নিশ্চিত করুন যে এটি Edge UI-তে ফরওয়ার্ড করা অনুরোধগুলিতে নিম্নলিখিত হেডার সেট করে:

X-Forwarded-Proto: https

Edge UI কনফিগার করতে:

  1. এডিটরে /opt/apigee/customer/application/ui.properties ফাইল খুলুন। ফাইলটি না থাকলে, এটি তৈরি করুন:
    vi /opt/apigee/customer/application/ui.properties
  2. ui.properties-এ নিম্নলিখিত প্রপার্টি সেট করুন:
    conf/application.conf+trustxforwarded=true
  3. ui.properties-এ আপনার পরিবর্তন সেভ করুন।
  4. Edge UI রিস্টার্ট করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

ঐচ্ছিক TLS প্রপার্টি সেট করা

Edge UI ঐচ্ছিক TLS কনফিগারেশন প্রপার্টিতে কাজ করে যা আপনি নিম্নলিখিতগুলি সেট করতে ব্যবহার করতে পারেন:

  • ডিফল্ট TLS প্রোটোকল
  • কাজ করে এমন TLS প্রোটোকলের তালিকা
  • কাজ করে এমন TLS অ্যালগরিদম
  • কাজ করে এমন TLS সাইফার

এইসব ঐচ্ছিক প্যারামিটার শুধুমাত্র তখনই উপলভ্য হয় যখন আপনি কনফিগারেশন ফাইলে নিম্নলিখিত কনফিগারেশন প্রপার্টি সেট করেন, যেমনটি TLS কনফিগার করার জন্য কনফিগারেশন ফাইল ব্যবহার করা-তে বর্ণনা করা হয়েছে:

TLS_CONFIGURE=y

নিম্নলিখিত সারণীতে এইসব প্রপার্টি বর্ণনা করা হয়েছে:

প্রপার্টি বিবরণ
TLS_PROTOCOL Edge UI-এর জন্য ডিফল্ট TLS প্রোটোকল নির্ধারণ করে। ডিফল্ট হিসেবে এটি TLS 1.2। সঠিক ভ্যালু হল TLSv1.2, TLSv1.1, TLSv1।
TLS_ENABLED_PROTOCOL

কমা দিয়ে আলাদা করা অ্যারে হিসেবে চালু করা প্রোটোকলের তালিকা নির্ধারণ করে। যেমন:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

মনে রাখবেন, আপনাকে " অক্ষরটি এড়িয়ে যেতে হবে।

ডিফল্ট হিসেবে সব প্রোটোকল চালু করা থাকে।

TLS_DISABLED_ALGO

বন্ধ করা সাইফার স্যুটকে সংজ্ঞায়িত করে এবং TLS হ্যান্ডশেকিংয়ের জন্য ছোট সাইজের কী ব্যবহার করা আটকানোর জন্যও ব্যবহার করা যেতে পারে। কোনও ডিফল্ট ভ্যালু নেই।

TLS_DISABLED_ALGO-এ পাস করা ভ্যালু jdk.tls.disabledAlgorithms-এর জন্য অনুমোদিত ভ্যালুর সাথে সম্পর্কিত যেমন এখানে বর্ণনা করা হয়েছে। তবে, TLS_DISABLED_ALGO সেট করার সময় আপনাকে অবশ্যই স্পেস অক্ষর এড়িয়ে যেতে হবে:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048
TLS_ENABLED_CIPHERS

কমা দিয়ে আলাদা করা অ্যারে হিসেবে উপলভ্য TLS সাইফারের তালিকা নির্ধারণ করে। যেমন:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

মনে রাখবেন, আপনাকে " অক্ষরটি এড়িয়ে যেতে হবে।

চালু করা সাইফারের ডিফল্ট তালিকা হল:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

উপলভ্য সাইফারের তালিকা এখানে দেখুন।

TLS প্রোটোকল বন্ধ করা হচ্ছে

TLS প্রোটোকল বন্ধ করতে, আপনাকে কনফিগারেশন ফাইল এডিট করতে হবে, যা TLS কনফিগার করতে কনফিগারেশন ফাইল ব্যবহার করা লিঙ্কে বর্ণনা করা হয়েছে, এইভাবে:

  1. এডিটরে কনফিগারেশন ফাইল খুলুন।
  2. একটি TLS প্রোটোকল বন্ধ করতে—যেমন, TLSv1.0—কনফিগ ফাইলে নিম্নলিখিতটি যোগ করুন:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    একাধিক প্রোটোকল বন্ধ করতে—যেমন, TLSv1.0 এবং TLSv1.1— কনফিগারেশন ফাইলে নিম্নলিখিতগুলি যোগ করুন:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. কনফিগারেশন ফাইলে আপনার করা পরিবর্তন সেভ করুন।
  4. TLS কনফিগার করতে এই কমান্ড রান করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    যেখানে configFile হল কনফিগ ফাইলের সম্পূর্ণ পাথ।

  5. Edge UI রিস্টার্ট করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

নিরাপদ কুকি ব্যবহার করুন

Apigee Edge for Private Cloud, Edge UI থেকে পাওয়া উত্তরের জন্য Set-Cookie হেডারে secure ফ্ল্যাগ যোগ করার সুবিধা দেয়। এই ফ্ল্যাগ থাকলে, কুকি শুধুমাত্র TLS-চালু থাকা চ্যানেলের মাধ্যমে পাঠানো যাবে। এটি না থাকলে, কুকি যেকোনও চ্যানেলের মাধ্যমে পাঠানো যেতে পারে, সেটি সুরক্ষিত হোক বা না হোক।

secure ফ্ল্যাগ ছাড়া কুকি থাকলে, আক্রমণকারী কুকি ক্যাপচার ও আবার ব্যবহার করতে অথবা অ্যাক্টিভ সেশন হাইজ্যাক করতে পারে। তাই, এই সেটিং চালু করা পেশাদার পদ্ধতি হিসেবে বিবেচনা করা হয়।

Edge UI কুকির জন্য secure ফ্ল্যাগ সেট করতে:

  1. টেক্সট এডিটরে নিম্নলিখিত ফাইলটি খুলুন:
    /opt/apigee/customer/application/ui.properties

    ফাইলটি না থাকলে, এটি তৈরি করুন।

  2. ui.properties ফাইলে conf_application_session.secure প্রপার্টি true-এ সেট করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
    conf_application_session.secure=true
  3. আপনার করা পরিবর্তন সেভ করুন।
  4. নিম্নলিখিত উদাহরণে যেমন দেখানো হয়েছে, apigee-serice ইউটিলিটি ব্যবহার করে Edge UI রিস্টার্ট করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

পরিবর্তন কাজ করছে কিনা তা কনফার্ম করতে, curl-এর মতো ইউটিলিটি ব্যবহার করে Edge UI থেকে রেসপন্স হেডার চেক করুন; যেমন:

curl -i -v https://edge_UI_URL

হেডারে এমন একটি লাইন থাকতে হবে যা নিম্নলিখিত লাইনের মতো দেখতে:

Set-Cookie: secure; ...

Edge UI-তে TLS বন্ধ করুন

Edge UI-তে TLS বন্ধ করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl