يقدّم هذا القسم إرشادات حول تفعيل وضع FIPS على RHEL 8، ما يضمن توفير بيئة آمنة ومتوافقة مع الإصدار 4.53.00 أو الإصدارات الأحدث من Edge for Private Cloud.
التثبيت المُسبَق
تأكَّد من تفعيل FIPS على العُقد بالإضافة إلى متطلبات الإعدادات العادية الأخرى المُدرَجة في مستند نظرة عامة على عملية تثبيت Edge.
fips-mode-setup --check FIPS mode is enabled. # Command output
إذا كان وضع FIPS غير مفعّل حاليًا، يُرجى الرجوع إلى مستندات Red Hat الرسمية للحصول على تعليمات حول كيفية تفعيله: التبديل إلى وضع FIPS في RHEL 8.
متطلبات Java
يجب تنزيل Java الذي تستخدمه من مستودع Red Hat لضمان توافق وحدات الأمان مع معيار FIPS، ما يتيح فرض قيود خاصة بمعيار FIPS من خلال أمان Java.
تثبيت
في مرجع ملف إعداد Edge، اضبط FIPS_OS=true على كل عقدة. يمكنك اتّباع خطوات التثبيت العامة لبرنامج Edge for Private Cloud كالمعتاد.
تنسيق المفتاح الخاص
يمكن استخدام تنسيق PKCS12/PFX فقط لتحميل المفاتيح الخاصة إلى مخازن مفاتيح Apigee لاستخدامها في خوادم وكيل واجهة برمجة التطبيقات أو المضيفات الافتراضية. للحصول على إرشادات حول إنشاء الملف، يُرجى الرجوع إلى تحويل الشهادات إلى تنسيق متوافق.
عمليات TLS العامة
عند استخدام Edge for Private Cloud 4.53.00 أو إصدار أحدث على RHEL 8.X أو Rocky 8.X المتوافقَين مع FIPS، يجب إجراء معظم إعدادات المكوّنات ذات الصلة ببروتوكول أمان طبقة النقل (TLS) في Edge من خلال ملفات تخزين المفاتيح بتنسيق PKCS12 أو BCFKS.
للحصول على مزيد من التفاصيل، يُرجى الرجوع إلى المستندات أو الملاحظات الخاصة بمعيار FIPS في المقالات ذات الصلة بإعدادات طبقة النقل الآمنة. يسرد الملحق بعض الأوامر المفيدة التي يمكن استخدامها لإنشاء ملفات تخزين المفاتيح هذه.
ملف تخزين المفاتيح/ملف تخزين الشهادات الموثوقة التلقائي في Java
عند استخدام Edge for Private Cloud 4.53.00 أو إصدار أحدث على RHEL 8.X أو Rocky 8.X المتوافقَين مع معيار FIPS، يعتمد معالج الرسائل وخادم الإدارة ومكوّنات edge-* الأخرى على ملف truststore وملف keystore تلقائيَّين يتم توفيرهما مع المنتج.
تحتوي هذه الملفات على شهادات مراجع التصديق التي يثق بها تطبيقك تلقائيًا. إذا كنت تريد استخدام متجرك الخاص الذي يحتوي على شهادات مرجع التصديق، اتّبِع الإجراء التالي:
-
أنشئ ملفًا بتنسيق BCFKS
cacertsيحتوي على جميع شهادات مصدر التصديق التي تريد الوثوق بها. تأكَّد من تطابق كلمة مرور ملف تخزين المفاتيح وكلمة مرور المفتاح. يُرجى الرجوع إلى الملحق لمزيد من التفاصيل. -
ضَع الملف في مسار مناسب وتأكَّد من أنّ مستخدم Apigee يمكنه قراءته:
cp my-cacerts.bcfks /opt/apigee/customer/application/my-cacerts.bcfks chown apigee:apigee /opt/apigee/customer/application/my-cacerts.bcfks
-
أنشئ (أو عدِّل) ملف الإعداد المناسب استنادًا إلى المكوّن الذي تعمل عليه:
المكوّن ملف edge-management-server $/opt/apigee/customer/application/management-server.properties edge-message-processor $/opt/apigee/customer/application/message-processor.properties edge-router $/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 -
أضِف الأسطر التالية إلى الملف:
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
-
تأكَّد من أنّ ملف الإعداد يملكه مستخدم Apigee ويمكنه قراءته:
chown apigee:apigee $opt/apigee/customer/application/<file>.properties
-
أعِد تشغيل المكوّن:
/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. |
يمكن استخدام أوامر keytool مشابهة لاستيراد الشهادات و/أو المفاتيح أو تصديرها من أو إلى ملف تخزين مفاتيح بتنسيق BCFKS. لمزيد من المعلومات حول كيفية استخدام 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، يُرجى الرجوع إلى تحويل الشهادات إلى تنسيق متوافق.