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

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

http://ms_IP:8080

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

https://ms_IP: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. ম্যানেজমেন্ট সার্ভার নোডের কোনও ডিরেক্টরিতে keystore JKS ফাইল কপি করুন, যেমন /opt/apigee/customer/application।
  3. JKS ফাইলের মালিকানা "apigee" ব্যবহারকারীর কাছে পরিবর্তন করুন:
    chown apigee:apigee keystore.jks

    যেখানে keystore.jks হল আপনার কীস্টোর ফাইলের নাম।

  4. নিচের প্রপার্টি সেট করতে /opt/apigee/customer/application/management-server.properties এডিট করুন। সেই ফাইলটি না থাকলে, এটি তৈরি করুন:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    যেখানে keyStore.jks হল আপনার কীস্টোর ফাইল এবং obfuscatedPassword হল আপনার অবফাসকেট করা কীস্টোর পাসওয়ার্ড। ছদ্মবেশী পাসওয়ার্ড তৈরি করা সংক্রান্ত তথ্য পেতে, Edge On Premises-এর জন্য TLS/SSL কনফিগার করা লিঙ্ক দেখুন।

  5. এই কমান্ড ব্যবহার করে Edge ম্যানেজমেন্ট সার্ভার রিস্টার্ট করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

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. নিম্নলিখিত কমান্ড প্রয়োগ করে Edge ম্যানেজমেন্ট সার্ভার রিস্টার্ট করুন:
    /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://FQ_domain_name:port/v1"

    যেখানে FQ_domain_name হল আপনার সার্টিফিকেট অনুযায়ী সম্পূর্ণ ডোমেন নাম, ম্যানেজমেন্ট সার্ভারের ঠিকানা এবং port হল উপরে conf_webserver_ssl.port-এর উল্লেখ করা পোর্ট।

    ui.properties না থাকলে, এটি তৈরি করুন।

  5. ম্যানেজমেন্ট API-তে TLS অ্যাক্সেস কনফিগার করার সময় আপনি যদি শুধু স্ব-স্বাক্ষরিত cert ব্যবহার করে থাকেন (প্রোডাকশন এনভায়রনমেন্টে এটি সাজেস্ট করা হয় না), তাহলে 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 প্রপার্টি

নিচে দেওয়া সারণীতে TLS/SSL-এর সেইসব প্রপার্টির তালিকা দেওয়া হল যা আপনি management-server.properties-এ সেট করতে পারবেন:

প্রপার্টি বিবরণ

conf_webserver_http.port=8080

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

conf_webserver_ssl.enabled=false

TLS/SSL চালু/বন্ধ করতে। TLS/SSL চালু (true) থাকলে, আপনাকে অবশ্যই 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=password

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

conf_webserver_cert.alias=alias

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

conf_webserver_keymanager.password=password

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

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

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

OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=CIPHER_SUITE_1 CIPHER_SUITE_2

conf_webserver_include.cipher.suites=

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

সাইফার স্যুট ও ক্রিপ্টোগ্রাফি আর্কিটেকচার সম্পর্কে তথ্য পেতে, দেখুন JDK 8-এর জন্য Java Cryptography Architecture Oracle Providers ডকুমেন্টেশন।

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

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

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