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

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

http://ms_IP:9000

অথবা, আপনি Edge UI-তে TLS অ্যাক্সেস কনফিগার করতে পারেন যাতে আপনি এটি এই ফর্ম্যাটে অ্যাক্সেস করতে পারেন:

https://ms_IP: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 ফাইল তৈরি করুন এবং ম্যানেজমেন্ট সার্ভার নোডে সেটি কপি করুন। আরও তথ্যের জন্য, Edge On Premises-এর জন্য 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. তারপর স্ক্রিপ্ট Edge ম্যানেজমেন্ট UI রিস্টার্ট করে। রিস্টার্ট করার পরে, ম্যানেজমেন্ট UI TLS-এর মাধ্যমে অ্যাক্সেস করার সুবিধা দেয়।

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

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

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

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

HTTPSPORT=9443
DISABLE_HTTP=y
# Set type to PKCS12 if you are using a PKCS12 keystore
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 হল আপনার সেভ করা ফাইলের সম্পূর্ণ পাথ।

FIPS চালু থাকা অপারেটিং সিস্টেমের জন্য PKCS12 কীস্টোর ব্যবহার করা

আপনি FIPS চালু থাকা অপারেটিং সিস্টেমে Private Cloud-এর জন্য Edge ব্যবহার করলে, আপনাকে PKCS12 কীস্টোর ব্যবহার করতে হবে। আপনি স্ট্যান্ডার্ড OpenSSL কমান্ড ব্যবহার করে PKCS12 কীস্টোর তৈরি করতে পারবেন। PKCS12 কীস্টোর ব্যবহার করার সময়, কনফিগারেশন ফাইলে KEY_ALGO=PKCS12 সেট করুন।

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

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

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

লোড ব্যালেন্সার কনফিগার করতে, এটি 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, 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

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

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