Apigee mTLS এর ভূমিকা

Apigee mTLS বৈশিষ্ট্যটি প্রাইভেট ক্লাউড ক্লাস্টারের জন্য আপনার প্রান্তের উপাদানগুলির মধ্যে যোগাযোগের নিরাপত্তা যোগ করে। এটি পরিষেবা জাল কনফিগার এবং ইনস্টল করার জন্য একটি শিল্প-মানক উপায় প্রদান করে। এটি প্যাকেজ পরিচালনা এবং কনফিগারেশন অটোমেশন সমর্থন করে।

স্থাপত্য ওভারভিউ

উপাদানগুলির মধ্যে সুরক্ষিত যোগাযোগ প্রদানের জন্য, Apigee mTLS একটি পরিষেবা জাল ব্যবহার করে যা উপাদানগুলির মধ্যে সুরক্ষিত, পারস্পরিকভাবে প্রমাণীকৃত TLS সংযোগ স্থাপন করে।

নিম্নলিখিত চিত্রটি Apigee উপাদানগুলির মধ্যে সংযোগগুলি দেখায় যা Apigee mTLS সুরক্ষিত ( in red )। ছবিতে দেখানো পোর্টগুলি উদাহরণ; প্রতিটি উপাদান ব্যবহার করতে পারে এমন রেঞ্জের তালিকার জন্য পোর্ট ব্যবহার দেখুন।

(মনে রাখবেন যে "M" দিয়ে নির্দেশিত পোর্টগুলি উপাদান পরিচালনা করতে ব্যবহৃত হয় এবং ম্যানেজমেন্ট সার্ভার দ্বারা অ্যাক্সেসের জন্য উপাদানটিতে অবশ্যই খোলা থাকতে হবে।)

আপনি উপরের চিত্রটিতে দেখতে পাচ্ছেন, Apigee mTLS ক্লাস্টারের বেশিরভাগ উপাদানগুলির মধ্যে সংযোগগুলিতে সুরক্ষা যোগ করে, যার মধ্যে রয়েছে:

উৎস গন্তব্য
ম্যানেজমেন্ট সার্ভার রাউটার, এমপি, QPid, LDAP, Postgres, Zookeeper, এবং Cassandra নোড
রাউটার লুপব্যাক; Qpid, Zookeeper, এবং Cassandra নোড
বার্তা প্রসেসর লুপব্যাক; Qpid, Zookeeper, এবং Cassandra নোড
চিড়িয়াখানার রক্ষক এবং ক্যাসান্দ্রা অন্যান্য চিড়িয়াখানা এবং ক্যাসান্দ্রা নোড
এজ UI SMTP (শুধুমাত্র বহিরাগত IDP-এর জন্য)
পোস্টগ্রেস অন্যান্য পোস্টগ্রেস, জুকিপার এবং ক্যাসান্দ্রা নোড

বার্তা এনক্রিপশন/ডিক্রিপশন

Apigee mTLS পরিষেবা জাল কনসাল সার্ভারগুলি নিয়ে গঠিত যা আপনার ক্লাস্টারের প্রতিটি ZooKeeper নোডে চলে এবং ক্লাস্টারের প্রতিটি নোডে নিম্নলিখিত কনসাল পরিষেবাগুলি রয়েছে:

  • একটি বহির্গমন প্রক্সি যা হোস্ট নোডে বহির্গামী বার্তাগুলিকে বাধা দেয়। এই পরিষেবাটি বহির্গামী বার্তাগুলিকে তাদের গন্তব্যে পাঠানোর আগে এনক্রিপ্ট করে।
  • একটি প্রবেশ প্রক্সি যা হোস্ট নোডে আগত বার্তাগুলিকে বাধা দেয়। এই পরিষেবাটি আগত বার্তাগুলিকে তাদের চূড়ান্ত গন্তব্যে পাঠানোর আগে ডিক্রিপ্ট করে৷

উদাহরণস্বরূপ, যখন ম্যানেজমেন্ট সার্ভার রাউটারে একটি বার্তা পাঠায়, তখন ইগ্রেস প্রক্সি পরিষেবা বহির্গামী বার্তাটিকে আটকায়, এটি এনক্রিপ্ট করে এবং তারপর রাউটারে পাঠায়। যখন রাউটারের নোড বার্তাটি গ্রহণ করে, ইনগ্রেস প্রক্সি পরিষেবা বার্তাটিকে ডিক্রিপ্ট করে এবং তারপর প্রক্রিয়াকরণের জন্য রাউটার উপাদানে প্রেরণ করে।

এজ উপাদানগুলির ক্ষেত্রে এটি সবই স্বচ্ছভাবে ঘটে: তারা কনসাল প্রক্সি পরিষেবাগুলির দ্বারা পরিচালিত এনক্রিপশন এবং ডিক্রিপশন প্রক্রিয়া সম্পর্কে অবগত নয়৷

উপরন্তু, Apigee mTLS iptables ইউটিলিটি ব্যবহার করে, একটি Linux ফায়ারওয়াল পরিষেবা যা ট্রাফিক পুনঃনির্দেশ পরিচালনা করে।

প্রয়োজনীয়তা

আপনি Apigee mTLS ইনস্টল করার আগে, আপনার পরিবেশকে অবশ্যই নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করতে হবে:

নিম্নলিখিত বিভাগগুলি এই প্রতিটি প্রয়োজনীয়তা বিশদভাবে বর্ণনা করে।

টপোলজি প্রয়োজনীয়তা

Apigee mTLS এর প্রয়োজন যে আপনার পরিবেশের টপোলজিতে কমপক্ষে তিনটি Zookeeper নোড অন্তর্ভুক্ত থাকতে হবে। ফলস্বরূপ, আপনি শুধুমাত্র 5, 9, 12 (মাল্টি-ডেটা সেন্টার), বা 13 নোড ব্যবহার করে এমন টপোলজিতে Apigee mTLS ইনস্টল করতে পারেন। আরও তথ্যের জন্য, ইনস্টলেশন টপোলজি দেখুন।

ইউটিলিটি/প্যাকেজ

Apigee mTLS-এর প্রয়োজন যে আপনি ইনস্টলেশন প্রক্রিয়া শুরু করার আগে আপনার ক্লাস্টারের প্রতিটি মেশিনে নিম্নলিখিত প্যাকেজগুলি ইনস্টল এবং সক্ষম করা আছে, আপনার প্রশাসন মেশিন সহ:

ইউটিলিটি/প্যাকেজ বর্ণনা ইনস্টলেশন পরে অপসারণ ঠিক আছে?
base64 ইনস্টলেশন স্ক্রিপ্টের মধ্যে ডেটা যাচাই করে।
gnu-bash
gnu-sed
gnu-grep
ইনস্টলেশন স্ক্রিপ্ট এবং অন্যান্য সাধারণ সরঞ্জাম দ্বারা ব্যবহৃত.
iptables ডিফল্ট ফায়ারওয়াল, firewalld প্রতিস্থাপন করে।
iptables-services iptables ইউটিলিটি কার্যকারিতা প্রদান করে।
lsof ইনস্টলেশন স্ক্রিপ্ট দ্বারা ব্যবহৃত.
nc iptables রুট যাচাই করে।
openssl প্রাথমিক বুটস্ট্র্যাপিং প্রক্রিয়া চলাকালীন স্থানীয়ভাবে শংসাপত্রে স্বাক্ষর করে।

ইনস্টলেশনের সময়, আপনি প্রশাসনিক মেশিনে কনসাল প্যাকেজটিও ইনস্টল করেন যাতে আপনি শংসাপত্র এবং এনক্রিপশন কী তৈরি করতে পারেন।

apigee-mtls প্যাকেজ ক্লাস্টারে ZooKeeper নোডগুলিতে প্রবেশ এবং বহির্গমন প্রক্সি সহ কনসাল সার্ভারগুলিকে ইনস্টল এবং কনফিগার করে।

ব্যবহারকারীর অ্যাকাউন্টের অনুমতি

ইনস্টল করার আগে, একটি নতুন ব্যবহারকারীর অ্যাকাউন্ট তৈরি করুন বা নিশ্চিত করুন যে আপনার কাছে উন্নত সুযোগ-সুবিধা রয়েছে।

যে অ্যাকাউন্টটি ক্লাস্টারের প্রতিটি নোডে Apigee mTLS ইনস্টলেশন চালায় তা অবশ্যই সক্ষম হবে:

  • Apigee উপাদানগুলি শুরু করুন, বন্ধ করুন, পুনরায় চালু করুন এবং শুরু করুন
  • ফায়ারওয়াল নিয়ম সেট করুন
  • একটি নতুন ওএস/সিস্টেম ব্যবহারকারী অ্যাকাউন্ট তৈরি করুন
  • systemctl এর সাথে সক্ষম, অক্ষম, শুরু, বন্ধ এবং মাস্ক পরিষেবাগুলি

অ্যাডমিনিস্ট্রেশন মেশিন (প্রস্তাবিত)

Apigee সুপারিশ করে যে আপনার ক্লাস্টারের মধ্যে একটি নোড রয়েছে যার উপর আপনি এই নথিতে বর্ণিত বিভিন্ন প্রশাসনিক কাজ সম্পাদন করতে পারেন, যার মধ্যে রয়েছে:

  1. HashiCorp কনসাল 1.6.2 ইনস্টল করুন।
  2. একটি শংসাপত্র/কী জোড়া এবং গসিপ এনক্রিপশন কী তৈরি এবং বিতরণ করুন।
  3. কনফিগারেশন ফাইলটি আপডেট এবং বিতরণ করুন।

প্রশাসন মেশিন সেট আপ করার সময়:

  • আপনার এটিতে রুট অ্যাক্সেস রয়েছে তা নিশ্চিত করুন।
  • apigee-service এবং apigee-setup ইউটিলিটি ডাউনলোড এবং ইনস্টল করুন, যেমনটি ইন্সটল এজ অ্যাপিজি-সেটআপ ইউটিলিটিতে বর্ণিত হয়েছে।
  • প্রশাসন মেশিন থেকে ক্লাস্টারের সমস্ত নোড অ্যাক্সেস করতে আপনি scp/ssh ব্যবহার করতে পারেন তা নিশ্চিত করুন। এটি প্রয়োজনীয় যাতে আপনি আপনার কনফিগারেশন ফাইল এবং শংসাপত্র বিতরণ করতে পারেন।

পোর্ট ব্যবহার এবং অ্যাসাইনমেন্ট

এই বিভাগে Apigee mTLS-এর সাথে কনসাল যোগাযোগ সমর্থন করার জন্য পোর্ট ব্যবহার এবং পোর্ট অ্যাসাইনমেন্ট বর্ণনা করা হয়েছে।

পোর্ট ব্যবহার: apigee-mtls চলমান সমস্ত নোড

apigee-mtls পরিষেবা ব্যবহার করে এমন ক্লাস্টারের সমস্ত নোডকে লোকালহোস্ট (127.0.0.1) পরিষেবাগুলি থেকে সংযোগের অনুমতি দিতে হবে৷ এটি কনসাল প্রক্সিগুলিকে অন্যান্য পরিষেবার সাথে যোগাযোগ করতে দেয় যখন তারা আগত এবং বহির্গামী বার্তাগুলি প্রক্রিয়া করে।

পোর্ট ব্যবহার: কনসাল সার্ভার নোড (নোড চলমান ZooKeeper)

ক্লাস্টারের সমস্ত নোড থেকে অনুরোধগুলি গ্রহণ করার জন্য আপনাকে অবশ্যই কনসাল সার্ভার নোডগুলিতে (নোডগুলি ZooKeeper চালিত) নিম্নলিখিত বেশিরভাগ পোর্টগুলি খুলতে হবে:

নোড কনসাল সার্ভার পোর্ট বর্ণনা প্রোটোকল বহিরাগত mtls-এজেন্টদের অনুমতি দিন
*
কনসাল সার্ভার (ZooKeeper নোড) 8300 ক্লাস্টারের সমস্ত কনসাল সার্ভারকে সংযুক্ত করে। আরপিসি
8301 ক্লাস্টারের মধ্যে সদস্যপদ এবং সম্প্রচার বার্তা পরিচালনা করে। UDP/TCP
8302 WAN পোর্ট যা একটি মাল্টি-ডেটা সেন্টার কনফিগারেশনে সদস্যপদ এবং সম্প্রচার বার্তা পরিচালনা করে। UDP/TCP
8500 একই নোডের প্রসেস থেকে কনসাল সার্ভার API-এর সাথে HTTP সংযোগগুলি পরিচালনা করে।

এই বন্দরটি দূরবর্তী যোগাযোগ বা সমন্বয়ের জন্য ব্যবহার করা হয় না; এটি শুধুমাত্র লোকালহোস্টে শোনে।

HTTP
8502 ক্লাস্টারের অন্যান্য নোড থেকে কনসাল সার্ভার API-এর সাথে gRPC+HTTPS সংযোগগুলি পরিচালনা করে। gRPC+HTTPS
8503 ক্লাস্টারের অন্যান্য নোড থেকে কনসাল সার্ভার API-এর সাথে HTTPS সংযোগগুলি পরিচালনা করে। HTTPS
8600 কনসাল সার্ভারের DNS পরিচালনা করে। UDP/TCP
* Apigee সুপারিশ করে যে আপনি অন্তর্মুখী অনুরোধগুলি শুধুমাত্র ক্লাস্টার সদস্যদের মধ্যে সীমাবদ্ধ করুন (ক্রস-ডেটাস্টোর সহ)। আপনি iptables দিয়ে এটি করতে পারেন।

এই টেবিলটি দেখায়, consul-server কম্পোনেন্ট (ZooKeeper নোড) চালিত নোডগুলিকে পোর্ট 8301, 8302, 8502, এবং 8503 ক্লাস্টারের সমস্ত সদস্যদের জন্য খুলতে হবে যারা apigee-mtls পরিষেবা চালাচ্ছে, এমনকি ডেটা সেন্টার জুড়ে। যে নোডগুলি ZooKeeper চলছে না তাদের এই পোর্টগুলি খুলতে হবে না।

সমস্ত কনসাল নোডের জন্য পোর্ট অ্যাসাইনমেন্ট (ZooKeeper চালিত নোড সহ )

কনসাল যোগাযোগ সমর্থন করার জন্য, নিম্নলিখিত Apigee উপাদানগুলি চালিত নোডগুলিকে অবশ্যই নিম্নলিখিত রেঞ্জের মধ্যে পোর্টগুলিতে বাহ্যিক সংযোগের অনুমতি দিতে হবে:

Apigee উপাদান পরিসর নোডের জন্য প্রয়োজনীয় পোর্টের সংখ্যা
Apigee mTLS 10700 থেকে 10799 পর্যন্ত 1
ক্যাসান্ড্রা 10100 থেকে 10199 পর্যন্ত 2
বার্তা প্রসেসর 10500 থেকে 10599 পর্যন্ত 2
এলডিএপি খুলুন 10200 থেকে 10299 পর্যন্ত 1
পোস্টগ্রেস 10300 থেকে 10399 পর্যন্ত 3
Qpid 10400 থেকে 10499 পর্যন্ত 2
রাউটার 10600 থেকে 10699 পর্যন্ত 2
চিড়িয়াখানার রক্ষক 10000 থেকে 10099 পর্যন্ত 3

কনসাল একটি সাধারণ রৈখিক ফ্যাশনে বন্দর নির্ধারণ করে। উদাহরণস্বরূপ, যদি আপনার ক্লাস্টারে দুটি পোস্টগ্রেস নোড থাকে তবে প্রথম নোড দুটি পোর্ট ব্যবহার করে, তাই কনসাল এটিতে 10300 এবং 10301 পোর্ট নির্ধারণ করে। দ্বিতীয় নোডটি দুটি পোর্টও ব্যবহার করে, তাই কনসোল সেই নোডে 10302 এবং 10303 বরাদ্দ করে। এটি সমস্ত উপাদান প্রকারের জন্য প্রযোজ্য।

আপনি দেখতে পাচ্ছেন, পোর্টের প্রকৃত সংখ্যা টপোলজির উপর নির্ভর করে: যদি আপনার ক্লাস্টারে দুটি পোস্টগ্রেস নোড থাকে, তাহলে আপনাকে চারটি পোর্ট খুলতে হবে (দুটি নোড গুণ দুটি পোর্ট প্রতিটি)।

নিম্নলিখিত নোট করুন:

  • কনসাল প্রক্সিরা Apigee পরিষেবার মতো একই পোর্টে শুনতে পারে না।
  • কনসাল শুধুমাত্র একটি পোর্ট ঠিকানা স্থান আছে. কনসাল প্রক্সি পোর্ট অ্যাসাইনমেন্টগুলি ক্লাস্টার জুড়ে অনন্য হতে হবে, যার মধ্যে ডেটা সেন্টার রয়েছে৷ এর মানে হল যে যদি হোস্ট A-এর প্রক্সি A পোর্ট 15000-এ শোনে, তাহলে হোস্ট B-এর প্রক্সি B পোর্ট 15000-এ শুনতে পারবে না।
  • ব্যবহৃত পোর্টের সংখ্যা টপোলজির উপর ভিত্তি করে পরিবর্তিত হয়, যেমনটি পূর্বে বর্ণিত হয়েছে।

একটি মাল্টি-ডেটা সেন্টার কনফিগারেশনে , mTLS চালিত সমস্ত হোস্টকে অবশ্যই পোর্ট 8302 খুলতে হবে।

আপনি Apigee mTLS ব্যবহার করে ডিফল্ট পোর্ট কাস্টমাইজ করতে পারেন। এটি কীভাবে করবেন সে সম্পর্কে তথ্যের জন্য, প্রক্সি পোর্ট পরিসীমা কাস্টমাইজেশন দেখুন।

সীমাবদ্ধতা

Apigee mTLS এর নিম্নলিখিত সীমাবদ্ধতা রয়েছে:

  • ইন্টার-নোড ক্যাসান্দ্রা যোগাযোগ এনক্রিপ্ট করে না (পোর্ট 7000)
  • কনফিগারেশন এবং সেটআপ অদম্য নয় । এর মানে হল যে আপনি যদি একটি নোডে একটি পরিবর্তন করেন তবে আপনাকে অবশ্যই সমস্ত নোডে একই পরিবর্তন করতে হবে; সিস্টেমটি অন্য কোনো নোডে আপনার জন্য সেই পরিবর্তনটি প্রয়োগ করে না। আরও তথ্যের জন্য, একটি বিদ্যমান apigee-mtls কনফিগারেশন পরিবর্তন দেখুন।

পরিভাষা

এই বিভাগটি নিম্নলিখিত পরিভাষা ব্যবহার করে:

মেয়াদ সংজ্ঞা
ক্লাস্টার ব্যক্তিগত ক্লাউড ইনস্টলেশনের জন্য আপনার এজ তৈরি করে এমন মেশিনগুলির গ্রুপ।
কনসাল Apigee mTLS দ্বারা ব্যবহৃত পরিষেবা জাল। কনসাল কীভাবে আপনার ব্যক্তিগত ক্লাউড যোগাযোগগুলিকে সুরক্ষিত করে সে সম্পর্কে তথ্যের জন্য, কনসালের নিরাপত্তা মডেল দেখুন৷
mTLS পারস্পরিক প্রমাণীকৃত TLS।
পরিষেবা জাল একটি ওভারলে নেটওয়ার্ক (বা একটি নেটওয়ার্কের মধ্যে একটি নেটওয়ার্ক)।
টিএলএস লেনদেন স্তর নিরাপত্তা. নিরাপদ যোগাযোগের জন্য একটি শিল্প-মান প্রমাণীকরণ প্রোটোকল।