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

এই বিভাগটি RHEL 8-এ FIPS মোড সক্ষম করার বিষয়ে নির্দেশিকা প্রদান করে, প্রাইভেট ক্লাউড সংস্করণ 4.53.00 বা তার বেশির জন্য এজ-এর জন্য একটি নিরাপদ এবং অনুগত পরিবেশ নিশ্চিত করে।

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

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

fips-mode-setup --check  
FIPS mode is enabled.  # Command output

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

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

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

ইনস্টলেশন

এজ কনফিগারেশন ফাইল রেফারেন্সে , প্রতিটি নোডে 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 <component> 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

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

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

অনুরূপ কীটুল কমান্ডগুলি 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 ফর্ম্যাটে রূপান্তর করতে হয়, তাহলে সার্টিফিকেটগুলিকে সমর্থিত ফর্ম্যাটে রূপান্তর করা দেখুন৷