FIPS চালু RHEL 8.X বা Rocky 8.X-এ Edge for Private Cloud

এই বিভাগে RHEL 8-এ FIPS মোড চালু করার বিষয়ে নির্দেশাবলী প্রদান করা হয়েছে, যা Edge for Private Cloud ভার্সন 4.53.00 বা তার পরবর্তী যেকোনও ভার্সনের জন্য সুরক্ষিত ও বিধিনিয়ম মেনে চলা এনভায়রনমেন্ট নিশ্চিত করে।

প্রি-ইনস্টল

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

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

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

Java সংক্রান্ত প্রয়োজনীয়তা

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

ইনস্টল করা

Edge কনফিগারেশন ফাইল রেফারেন্সে, প্রতিটি নোডে FIPS_OS=true সেট করুন। আপনি Edge for Private Cloud-এর জন্য সাধারণ ইনস্টলেশন ধাপগুলি অনুসরণ করতে পারেন।

প্রাইভেট কী ফর্ম্যাট

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

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

FIPS চালু RHEL 8.X বা Rocky 8.X-এ Private Cloud 4.53.00 বা তার পরের যেকোনও ভার্সনের জন্য Edge ব্যবহার করার সময়, Edge-এর বেশিরভাগ TLS-সম্পর্কিত কম্পোনেন্ট কনফিগারেশন PKCS12 বা BCFKS ফর্ম্যাট কীস্টোরের মাধ্যমে করতে হবে।

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

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

FIPS চালু RHEL 8.X বা Rocky 8.X-এ Edge for Private Cloud 4.53.00 বা এর পরের যেকোনও ভার্সন ব্যবহার করা হলে, আপনার মেসেজ প্রসেসর, ম্যানেজমেন্ট সার্ভার এবং অন্যান্য edge-* কম্পোনেন্ট প্রোডাক্টের সাথে প্রদান করা ডিফল্ট ট্রাস্টস্টোর ও কীস্টোরের উপর নির্ভর করে।

এগুলিতে CA সার্টিফিকেট থাকে যা আপনার অ্যাপ্লিকেশন ডিফল্ট হিসেবে বিশ্বাস করে। আপনি যদি CA সার্টিফিকেট সহ নিজের স্টোর ব্যবহার করতে চান, তাহলে নিচে উল্লেখ করা পদ্ধতি অনুসরণ করুন:

  1. আপনি বিশ্বাস করতে চান এমন সব CA সার্টিফিকেট সহ একটি BCFKS ফর্ম্যাট cacerts ফাইল তৈরি করুন। ভাল করে দেখে নিন যে কীস্টোর পাসওয়ার্ড ও কী পাসওয়ার্ড একই আছে। আরও বিবরণের জন্য পরিশিষ্ট দেখুন।
  2. উপযুক্ত পাথে ফাইলটি রাখুন এবং নিশ্চিত করুন যে apigee ব্যবহারকারী এটি পড়তে পারছেন:
    cp my-cacerts.bcfks /opt/apigee/customer/application/my-cacerts.bcfks
    chown apigee:apigee /opt/apigee/customer/application/my-cacerts.bcfks
  3. আপনি যে কম্পোনেন্ট নিয়ে কাজ করছেন তার উপর ভিত্তি করে উপযুক্ত কনফিগারেশন ফাইল তৈরি (বা এডিট) করুন:
    কম্পোনেন্ট ফাইল
    edge-management-server $/opt/apigee/customer/application/management-server.properties
    edge-message-processor $/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-server $/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. কনফিগারেশন ফাইলের মালিকানা apigee ব্যবহারকারীর কাছে আছে এবং সেটি তিনি পড়তে পারছেন কিনা তা নিশ্চিত করুন:
    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

সাধারণত ব্যবহৃত keytool কমান্ডের সাথে সামঞ্জস্যপূর্ণ কমান্ড ব্যবহার করা হয়, তবে keytool কমান্ডে নিম্নলিখিত বিকল্পগুলি অবশ্যই অন্তর্ভুক্ত করতে হবে:

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

Keytool আর্গুমেন্ট

Keytool আর্গুমেন্ট বিবরণ
-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 ফর্ম্যাট কীস্টোর থেকে বা সেটিতে সার্টিফিকেট এবং/অথবা কী ইমপোর্ট বা এক্সপোর্ট করার জন্য একই ধরনের keytool কমান্ড ব্যবহার করা যেতে পারে। BCFKS-এর সাথে কীভাবে কাজ করতে হয় সেই বিষয়ে আরও তথ্য পেতে, BouncyCastle ডকুমেন্টেশন দেখুন।

PKCS12 Store

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 ফর্ম্যাটে কনভার্ট করার প্রয়োজন হলে, সাপোর্ট করে এমন ফর্ম্যাটে সার্টিফিকেট কনভার্ট করা লিঙ্কে দেখুন।