ব্যবস্থাপনা API-এর জন্য TLS কনফিগার করা হচ্ছে

ডিফল্টরূপে, ম্যানেজমেন্ট এপিআই-এর জন্য TLS অক্ষম করা থাকে এবং আপনি ম্যানেজমেন্ট সার্ভার নোড এবং পোর্ট 8080 এর IP ঠিকানা ব্যবহার করে HTTP-এর মাধ্যমে এজ ম্যানেজমেন্ট এপিআই অ্যাক্সেস করতে পারেন। উদাহরণস্বরূপ:

http://ms_IP:8080

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

https://ms_IP:8443

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

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

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

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

এই বিভাগের পদ্ধতিটি ম্যানেজমেন্ট সার্ভারে পোর্ট 8443 ব্যবহার করার জন্য 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 সার্টিফিকেশন এবং ব্যক্তিগত কী ধারণকারী কীস্টোর JKS ফাইল তৈরি করুন। আরও জানতে এজ অন প্রিমিসেসের জন্য TLS/SSL কনফিগার করা দেখুন।
  2. কীস্টোর 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 হল আপনার অস্পষ্ট কীস্টোর পাসওয়ার্ড। একটি অস্পষ্ট পাসওয়ার্ড তৈরি করার তথ্যের জন্য এজ অন প্রিমিসেসের জন্য TLS/SSL কনফিগার করা দেখুন।

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

ব্যবস্থাপনা API এখন TLS-এ অ্যাক্সেস সমর্থন করে।

এজ এপিআই অ্যাক্সেস করতে TLS ব্যবহার করতে এজ UI কনফিগার করুন

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

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

  1. উপরে বর্ণিত হিসাবে ব্যবস্থাপনা API-তে TLS অ্যাক্সেস কনফিগার করুন।
  2. TLS ম্যানেজমেন্ট API-এর জন্য কাজ করছে তা নিশ্চিত করার পরে, নিম্নলিখিত বৈশিষ্ট্য সেট করতে /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://FQ_domain_name:port/v1"

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

    যদি ui.properties বিদ্যমান না থাকে তবে এটি তৈরি করুন।

  5. উপরের ব্যবস্থাপনা API-তে TLS অ্যাক্সেস কনফিগার করার সময় আপনি যদি একটি স্ব-স্বাক্ষরিত শংসাপত্র ব্যবহার করেন (উৎপাদন পরিবেশে প্রস্তাবিত নয়) , তাহলে ui.properties এ নিম্নলিখিত বৈশিষ্ট্য যোগ করুন :
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    অন্যথায়, এজ UI একটি স্ব-স্বাক্ষরিত শংসাপত্র প্রত্যাখ্যান করবে।

  6. নিম্নলিখিত কমান্ডটি কার্যকর করে এজ UI পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

ম্যানেজমেন্ট সার্ভারের জন্য TLS বৈশিষ্ট্য

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

বৈশিষ্ট্য বর্ণনা

conf_webserver_http.port=8080

ডিফল্ট হল 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 পোর্ট।

টিএলএস/এসএসএল সক্ষম হলে প্রয়োজনীয় ( conf_webserver_ssl.enabled=true )।

conf_webserver_keystore.path= path

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

টিএলএস/এসএসএল সক্ষম হলে প্রয়োজনীয় ( 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_http_HTTPTransport.ssl.cipher.suites.blacklist= CIPHER_SUITE_1 , CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

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

ব্ল্যাকলিস্টের মাধ্যমে আপনি যে কোনো সাইফার মুছে ফেলবেন তা হোয়াইটলিস্টের মাধ্যমে অন্তর্ভুক্ত যেকোনো সাইফারের চেয়ে অগ্রাধিকার পাবে।

দ্রষ্টব্য: ডিফল্টরূপে, যদি কোনো ব্ল্যাকলিস্ট বা হোয়াইটলিস্ট নির্দিষ্ট করা না থাকে, তাহলে নিম্নলিখিত জাভা রেগুলার এক্সপ্রেশনের সাথে মিলে যাওয়া সাইফারগুলি ডিফল্টরূপে বাদ দেওয়া হয়।

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

যাইহোক, যদি আপনি একটি ব্ল্যাকলিস্ট নির্দিষ্ট করেন, এই ফিল্টারটি ওভাররাইড করা হয়, এবং আপনাকে অবশ্যই সমস্ত সাইফারকে পৃথকভাবে কালো তালিকাভুক্ত করতে হবে৷

সাইফার স্যুট এবং ক্রিপ্টোগ্রাফি আর্কিটেকচার সম্পর্কে তথ্যের জন্য, JDK 8 এর জন্য জাভা ক্রিপ্টোগ্রাফি আর্কিটেকচার ওরাকল প্রোভাইডার ডকুমেন্টেশন দেখুন।

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

পূর্ণসংখ্যা যা নির্ধারণ করে:

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