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

Edge for Private Cloud v. 4.17.05

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

http://ms_IP:8080

বিকল্প হিসেবে, আপনি ম্যানেজমেন্ট API-তে TLS অ্যাক্সেস কনফিগার করতে পারেন যাতে আপনি এটি এই ফর্ম্যাটে অ্যাক্সেস করতে পারেন:

https://ms_IP:8443

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

আপনার ম্যানেজমেন্ট API-তে এবং সেখান থেকে ট্রাফিক এনক্রিপশন নিশ্চিত করতে, /opt/apigee/customer/application/management-server.properties ফাইলে সেটিংস কনফিগার করুন।

TLS কনফিগারেশন ছাড়াও, আপনি management-server.properties ফাইল পরিবর্তন করে পাসওয়ার্ড যাচাইকরণ (পাসওয়ার্ডের দৈর্ঘ্য ও শক্তি) নিয়ন্ত্রণ করতে পারবেন।

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

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

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

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

আপনার ম্যানেজমেন্ট API-তে আসা ও যাওয়া ট্রাফিকের উপর TLS ব্যবহার নিয়ন্ত্রণ করতে /opt/apigee/customer/application/management-server.properties ফাইল এডিট করুন। এই ফাইলটি না থাকলে, তৈরি করুন।

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

  1. আপনার TLS সার্টিফিকেশন এবং ব্যক্তিগত কী সহ keystore JKS ফাইল তৈরি করুন। আরও জানতে Edge On Premises-এর জন্য TLS/SSL কনফিগার করা দেখুন।
  2. কীস্টোর JKS ফাইলটি ম্যানেজমেন্ট সার্ভার নোডের একটি ডিরেক্টরিতে কপি করুন, যেমন /opt/apigee/customer/application।
  3. JKS ফাইলের মালিকানা apigee-তে পরিবর্তন করুন:
    $ chown apigee:apigee keystore.jks

    যেখানে keystore.jks হল আপনার keystore ফাইলের নাম।
  4. নিম্নলিখিত প্রপার্টি সেট করতে /opt/apigee/customer/application/management-server.properties এডিট করুন। সেই ফাইলটি না থাকলে, এটি তৈরি করুন:
    conf_webserver_ssl.enabled=true
    # conf_webserver_http.turn.off-কে false হিসেবে সেট করে রাখুন
    # কারণ অনেক Edge ইন্টার্নাল কল HTTP ব্যবহার করে।
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # নিচে অস্পষ্ট করা কীস্টোর পাসওয়ার্ড লিখুন।
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    যেখানে keyStore.jks হল আপনার keystore ফাইল এবং obfuscatedPassword হল আপনার অস্পষ্ট keystore পাসওয়ার্ড। অস্পষ্ট পাসওয়ার্ড তৈরি করার ব্যাপারে আরও তথ্য পেতে, Edge On Premises-এর জন্য TLS/SSL কনফিগার করা দেখুন।
  5. এই কমান্ড ব্যবহার করে এজ ম্যানেজমেন্ট সার্ভার রিস্টার্ট করুন:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

ম্যানেজমেন্ট API এখন TLS-এর মাধ্যমে অ্যাক্সেস করার সুবিধা দেয়।

TLS সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করার পরে, Edge UI-এর জন্য এটি কাজ করছে কিনা তা নিশ্চিত করা সহ, আপনি পরবর্তী বিভাগে বর্ণিত ম্যানেজমেন্ট API-তে HTTP অ্যাক্সেস বন্ধ করতে পারেন।

Edge API অ্যাক্সেস করতে TLS ব্যবহার করার জন্য Edge UI কনফিগার করুন

উপরের পদ্ধতিতে, Apigee conf_webserver_http.turn.off=false ছেড়ে দেওয়ার সাজেশন দেয় যাতে Edge UI, HTTP-এর মাধ্যমে Edge API কল করা চালিয়ে যেতে পারে।

শুধুমাত্র HTTPS-এর মাধ্যমে এইসব কল করার জন্য Edge UI কনফিগার করতে নিম্নলিখিত পদ্ধতি ব্যবহার করুন:

  1. উপরে যেমন বর্ণনা করা হয়েছে সেই অনুযায়ী ম্যানেজমেন্ট API-তে TLS অ্যাক্সেস কনফিগার করুন।
  2. ম্যানেজমেন্ট API-এর জন্য TLS কাজ করছে কিনা তা কনফার্ম করার পরে, /opt/apigee/customer/application/management-server.properties এডিট করে নিম্নলিখিত প্রপার্টি সেট করুন:
    conf_webserver_http.turn.off=true
  3. এই কমান্ড ব্যবহার করে এজ ম্যানেজমেন্ট সার্ভার রিস্টার্ট করুন:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  4. Edge UI-এর জন্য নিম্নলিখিত প্রপার্টি সেট করতে /opt/apigee/customer/application/ui.properties এডিট করুন। সেই ফাইলটি না থাকলে, এটি তৈরি করুন:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

    যেখানে FQDN হল সম্পূর্ণ ডোমেন নাম, আপনার ম্যানেজমেন্ট সার্ভারের সার্টিফিকেট অ্যাড্রেস অনুযায়ী এবং পোর্ট নম্বর হল উপরে conf_webserver_ssl.port-এর মাধ্যমে নির্দিষ্ট করা পোর্ট।
  5. আপনি যদি ম্যানেজমেন্ট API-তে TLS অ্যাক্সেস কনফিগার করার সময় সেল্ফ-সাইনড সার্টিফিকেট ব্যবহার করে থাকেন (প্রোডাকশন এনভায়রনমেন্টে এটি সাজেস্ট করা হয় না), তাহলে ui.properties-এ নিম্নলিখিত প্রপার্টি যোগ করুন:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    অন্যথায়, Edge UI সেল্ফ-সাইনড সার্টিফিকেট বাতিল করে দেবে।
  6. এই কমান্ড ব্যবহার করে Edge UI রিস্টার্ট করুন:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

ম্যানেজমেন্ট সার্ভারের জন্য TLS প্রপার্টি

নিম্নলিখিত সারণীতে management-server.properties-এ সেট করা যেতে পারে এমন সব TLS/SSL প্রপার্টি তালিকাভুক্ত করা হয়েছে:

প্রপার্টি

বিবরণ

conf_webserver_http.port=8080

ডিফল্ট হল ৮০৮০।

conf_webserver_ssl.enabled=false

TLS/SSL চালু/বন্ধ করতে। TLS/SSL চালু (সত্য) থাকলে, আপনাকে ssl.port এবং keystore.path প্রপার্টিও সেট করতে হবে।

conf_webserver_http.turn.off=true

https-এর সাথে http চালু/বন্ধ করতে। আপনি শুধু HTTPS ব্যবহার করতে চাইলে, ডিফল্ট ভ্যালু true হিসেবেই রেখে দিন।

conf_webserver_ssl.port=8443

TLS/SSL পোর্ট।

TLS/SSL চালু থাকলে (conf_webserver_ssl.enabled=true) প্রয়োজন।

conf_webserver_keystore.path=<path>

আপনার কীস্টোর ফাইলের পাথ।

TLS/SSL চালু থাকলে (conf_webserver_ssl.enabled=true) প্রয়োজন।

conf_webserver_keystore.password=

এই ফর্ম্যাটে একটি অস্পষ্ট পাসওয়ার্ড ব্যবহার করুন: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

ঐচ্ছিক কীস্টোর সার্টিফিকেট অ্যালিয়াস

conf_webserver_keymanager.password=

আপনার কী ম্যানেজারের পাসওয়ার্ড থাকলে, এই ফর্ম্যাটে পাসওয়ার্ডের অস্পষ্ট ভার্সন লিখুন: OBF:xxxxxxxxxx

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

আপনার ট্রাস্ট স্টোরের জন্য সেটিংস কনফিগার করুন। আপনি সব TLS/SSL সার্টিফিকেট গ্রহণ করতে চান কিনা তা নির্ধারণ করুন (যেমন, নন-স্ট্যান্ডার্ড ধরনের সার্টিফিকেট গ্রহণ করতে)। ডিফল্ট হল false। আপনার ট্রাস্ট স্টোরের পাথ প্রদান করুন এবং এই ফর্ম্যাটে একটি অস্পষ্ট ট্রাস্ট স্টোর পাসওয়ার্ড লিখুন: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

আপনি অন্তর্ভুক্ত করতে বা বাদ দিতে চান এমন কোনও সাইফার স্যুট উল্লেখ করুন। যেমন, আপনি যদি সাইফারে কোনও দুর্বলতা খুঁজে পান, তাহলে আপনি এটি এখানে বাদ দিতে পারেন। একাধিক সাইফার স্পেস দিয়ে আলাদা করুন।

সাইফার স্যুট ও ক্রিপ্টোগ্রাফি আর্কিটেকচার সম্পর্কে তথ্যের জন্য, দেখুন:

http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

ইন্টিজার যা নির্ধারণ করে:

  • একাধিক ক্লায়েন্টের জন্য সেশনের তথ্য স্টোর করার জন্য TLS/SSL সেশন ক্যাশে সাইজ (বাইটে)।
  • TLS/SSL সেশন টাইম-আউট হওয়ার আগে পর্যন্ত কতক্ষণ চলতে পারে (মিলিসেকেন্ডে)।