FIPS-সক্ষম RHEL 8.X-এ ব্যক্তিগত ক্লাউডের জন্য এজ

এই নিবন্ধটি FIPS-সক্ষম RHEL 8.X-এ অপারেটিং 4.53.00 বা তার উপরে সংস্করণ ব্যবহার করে ব্যক্তিগত ক্লাউড গ্রাহকদের জন্য এজ-এর জন্য বিশদ বিবরণ এবং নির্দেশাবলী রয়েছে।

প্রি-ইনস্টল করুন

প্রাইভেট ক্লাউড ডকুমেন্টেশনের জন্য এজে তালিকাভুক্ত অন্যান্য স্ট্যান্ডার্ড কনফিগারেশন পূর্বশর্তগুলি ছাড়াও আপনার নোডগুলিতে FIPS সক্রিয় আছে তা নিশ্চিত করুন৷

fips-mode-setup --check
FIPS mode is enabled.

যদি FIPS মোড বর্তমানে নিষ্ক্রিয় করা থাকে, তাহলে কীভাবে এটি সক্রিয় করতে হয় তার নির্দেশাবলীর জন্য অফিসিয়াল Red Hat ডকুমেন্টেশন পড়ুন:

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

জাভা নিরাপত্তা মডিউলগুলি FIPS-সচেতন এবং জাভা নিরাপত্তার মাধ্যমে FIPS-নির্দিষ্ট বিধিনিষেধ প্রয়োগ করতে পারে তা নিশ্চিত করতে আপনি যে Java ব্যবহার করেন সেটি Red Hat-এর সংগ্রহস্থল থেকে ডাউনলোড করা উচিত।

ইনস্টলেশন

নীরব ইনস্টলেশন কনফিগারেশন ফাইলের রেফারেন্সে, প্রতিটি নোডে FIPS_OS=true সেট করুন। আপনি যথারীতি এজ ফর প্রাইভেট ক্লাউডের জন্য সাধারণ ইনস্টলেশন পদক্ষেপগুলি অনুসরণ করতে পারেন।

ব্যক্তিগত কী বিন্যাস

আপনার API প্রক্সি বা ভার্চুয়াল হোস্টে ব্যবহারের জন্য Apigee কীস্টোরে ব্যক্তিগত কী আপলোড করতে শুধুমাত্র PKCS12/PFX ফর্ম্যাট ব্যবহার করা যেতে পারে। ফাইল তৈরিতে সহায়তার জন্য সার্টিফিকেটকে সমর্থিত ফরম্যাটে রূপান্তর করা পড়ুন।

সাধারণ TLS অপারেশন

প্রাইভেট ক্লাউড 4.53.00 বা তার পরে FIPS-সক্ষম RHEL 8.X-এর জন্য এজ ব্যবহার করার সময়, এজ-এর বেশিরভাগ TLS-সম্পর্কিত উপাদান কনফিগারেশনগুলি PKCS12 বা BCFKS ফর্ম্যাট কীস্টোরের মাধ্যমে করা দরকার। আরও বিশদ বিবরণ পেতে TLS কনফিগারেশনের জন্য FIPS-নির্দিষ্ট ডকুমেন্টেশন বা প্রাসঙ্গিক নিবন্ধগুলিতে নোটগুলি পড়ুন। পরিশিষ্ট কিছু সহায়ক কমান্ড তালিকাভুক্ত করে যা এই কীস্টোর তৈরি করতে ব্যবহার করা যেতে পারে।

ডিফল্ট জাভা কীস্টোর/ট্রাস্টস্টোর

যখন এজ ফর প্রাইভেট ক্লাউড 4.53.00 বা তার পরে FIPS-সক্ষম RHEL 8.X-এ পরিচালিত হয়, তখন আপনার বার্তা প্রসেসর, ম্যানেজমেন্ট সার্ভার এবং অন্যান্য এজ-* উপাদানগুলি পণ্যের সাথে পাঠানো ডিফল্ট ট্রাস্টস্টোর এবং কীস্টোরের উপর নির্ভর করে। এগুলির মধ্যে CA শংসাপত্র রয়েছে যা আপনার অ্যাপ্লিকেশন ডিফল্টরূপে বিশ্বাস করবে৷ আপনি যদি এটিকে CA শংসাপত্র সহ আপনার নিজের দোকানে পরিবর্তন করতে চান তবে নীচের পদ্ধতিটি অনুসরণ করুন:

  1. একটি BCFKS বিন্যাস cacerts ফাইল তৈরি করুন যাতে সমস্ত CA শংসাপত্র রয়েছে যা আপনি বিশ্বাস করতে চান৷ নিশ্চিত করুন যে কীস্টোর পাসওয়ার্ড এবং কী পাসওয়ার্ড একই। আরো বিস্তারিত জানার জন্য পরিশিষ্ট পড়ুন.
  2. ফাইলটিকে একটি উপযুক্ত পথে রাখুন এবং নিশ্চিত করুন যে এটি অ্যাপিজি ব্যবহারকারীর দ্বারা পঠনযোগ্য:
    cp my-cacerts.bcfks /opt/apigee/customer/application/my-cacerts.bcfks
    chown apigee:apigee /opt/apigee/customer/application/my-cacerts.bcfks
  3. আপনি যে উপাদানটির সাথে কাজ করছেন তার উপর ভিত্তি করে উপযুক্ত কনফিগারেশন ফাইল তৈরি করুন (বা সম্পাদনা করুন)
    কম্পোনেন্ট ফাইল
    প্রান্ত-ব্যবস্থাপনা-সার্ভার $/opt/apigee/customer/application/management-server.properties
    প্রান্ত-বার্তা-প্রসেসর $/opt/apigee/customer/application/message-processor.properties
    প্রান্ত-রাউটার $/opt/apigee/customer/application/router.properties
    edge-postgres-server $/opt/apigee/customer/application/postgres-server.properties
    edge-qpid-সার্ভার $/opt/apigee/customer/application/qpid-server.properties
  4. ফাইলে নিম্নলিখিত লাইন যোগ করুন:
          conf_system_javax.net.ssl.trustStore=<PATH to bcfks cacerts>
          conf_system_javax.net.ssl.trustStorePassword=changeme
          conf_system_javax.net.ssl.keyStore=<PATH to bcfks cacerts>
          conf_system_javax.net.ssl.keyStoreType=BCFKS
          conf_system_javax.net.ssl.keyStorePassword=changeme
          
  5. নিশ্চিত করুন যে কনফিগারেশন ফাইলটি এপিজি ব্যবহারকারীর মালিকানাধীন এবং পাঠযোগ্য:
    chown apigee:apigee $opt/apigee/customer/application/<file>.properties
  6. উপাদান পুনরায় আরম্ভ করুন:
    /opt/apigee/apigee-service/bin/apigee-service  restart

পরিশিষ্ট

BCFKS কীস্টোর অপারেশন নমুনা কমান্ড

নীচের কমান্ডটি একটি স্ব-স্বাক্ষরিত কী এবং শংসাপত্র জোড়া সহ একটি BCFKS কীস্টোর তৈরি করে:

keytool -genkeypair -keyalg RSA -alias node0 -validity 365 -keystore keystore.node0 \
-storepass keypass -keypass keypass -v \
-dname "EMAILADDRESS=youremail@domain.com, CN=yourcn, OU=yourou, O=youro, L=yourl, C=yourc" \
-storetype BCFKS -providerpath /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar \
-providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providername BCFIPS

কীটুল কমান্ডগুলি সাধারণত চালিত হওয়ার মতোই থাকে তবে নিম্নলিখিত বিকল্পগুলি কীটুল কমান্ডে যুক্ত করতে হবে:

--storetype BCFKS -providerpath /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar
-providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider 
-providername BCFIPS

কীটুল আর্গুমেন্ট

কীটুল আর্গুমেন্ট বর্ণনা
- স্টোর টাইপ দোকানের ধরন হল BCFKS।
-প্রদানকারী পথ bc-fips-XXXX.jar-এর পথ। এই জারটির সংস্করণ ভবিষ্যতের OPDK সংস্করণগুলিতে পরিবর্তিত হতে পারে৷ Apigee দ্বারা পাঠানো যাই হোক না কেন সংস্করণ ব্যবহার করা উচিত. আপনি Bouncycastle এর সংগ্রহস্থল থেকে জারটি ডাউনলোড করতে পারেন। OPDK 4.53 প্রকাশের সময়, এটি /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar হওয়া উচিত।
- প্রদানকারী শ্রেণী org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider এ সেট করা উচিত।
- প্রদানকারীর নাম BC FIPS সেট করা উচিত।

অনুরূপ কীটুল কমান্ডগুলি BCFKS ফর্ম্যাট কীস্টোর থেকে বা থেকে শংসাপত্র এবং/অথবা কীগুলি আমদানি বা রপ্তানি করতে ব্যবহার করা যেতে পারে। BCFKS এর সাথে কীভাবে কাজ করবেন সে সম্পর্কে আরও তথ্যের জন্য, BouncyCastle ডকুমেন্টেশন দেখুন।

PKCS12 স্টোর

একটি PKCS12 স্টোর তৈরি করতে, openssl কমান্ড ব্যবহার করা যেতে পারে:

# Generate a self-signed private key and certificate
openssl req -x509 -newkey rsa:2048 -keyout private.key -out certificate.pem -sha256 -days 36500 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=cn/emailAddress=email"
# Package the above generated key and cert into a PKCS12
openssl pkcs12 -export -clcerts -in certificate.pem -inkey private.key -out keystore.pfx -name myalias

আপনার যদি নিজের ব্যক্তিগত কী এবং শংসাপত্র থাকে এবং এটিকে একটি PKCS12-এ প্যাকেজ করতে চান, তাহলে সার্টিফিকেটগুলিকে সমর্থিত বিন্যাসে রূপান্তর করা দেখুন।