تحتوي هذه المقالة على تفاصيل وتعليمات مخصّصة لعملاء Edge for Private Cloud الذين يستخدمون الإصدار 4.53.00 أو الإصدارات الأحدث، والذين يعملون على نظام التشغيل RHEL 8.X المتوافق مع معيار FIPS.
التثبيت المُسبَق
تأكَّد من تفعيل معيار FIPS على العقد بالإضافة إلى المتطلبات الأساسية الأخرى للإعداد العادية المُدرَجة في مستندات Edge for Private Cloud.
fips-mode-setup --check FIPS mode is enabled.
إذا كان وضع FIPS غير مفعَّل حاليًا، يُرجى الرجوع إلى مستندات Red Hat الرسمية للحصول على تعليمات حول كيفية تفعيله:
متطلبات Java
يجب تنزيل Java التي تستخدمها من مستودع Red Hat لضمان أن تكون وحدات أمان Java متوافقة مع معيار FIPS وأن تكون قادرة على تنفيذ القيود المتعلّقة بمعيار FIPS من خلال أمان Java.
تثبيت
في مرجع ملف إعدادات التثبيت الصامت، اضبط FIPS_OS=true
على كل عقدة. يمكنك اتّباع خطوات التثبيت العامة لخدمة Edge for Private Cloud كالمعتاد.
تنسيق المفتاح الخاص
لا يمكن استخدام سوى تنسيق PKCS12/PFX لتحميل المفاتيح الخاصة إلى ملفّات تخزين مفاتيح Apigee لاستخدامها في الخوادم الوكيلة لواجهات برمجة التطبيقات أو المضيفين الظاهريين. راجِع مقالة تحويل الشهادات إلى تنسيق متوافق للحصول على مساعدة في إنشاء الملف.
العمليات العامة لبروتوكول أمان طبقة النقل (TLS)
عند استخدام Edge for Private Cloud 4.53.00 أو إصدار أحدث على RHEL 8.X المتوافق مع FIPS، يجب إجراء معظم عمليات ضبط مكوّنات Edge ذات الصلة ببروتوكول TLS من خلال ملفّات تخزين المفاتيح بتنسيق PKCS12 أو BCFKS. للحصول على مزيد من التفاصيل، يمكنك الرجوع إلى المستندات أو الملاحظات الخاصة بمعايير FIPS أو المقالات ذات الصلة بإعداد طبقة النقل الآمنة. يسرد الملحق بعض الأوامر المفيدة التي يمكن استخدامها لإنشاء ملفّات تخزين المفاتيح هذه.
ملف تخزين مفاتيح Java/ملف تخزين الثقة التلقائيان
عند تشغيل Edge for Private Cloud 4.53.00 أو إصدار أحدث على RHEL 8.X مزوّد ببرنامج FIPS، يعتمد معالج الرسائل وخادم الإدارة ومكونات edge-* الأخرى على مستودع ثقة ومستودع مفاتيح تلقائيَين يتم شحنهما مع المنتج. تحتوي هذه الحِزم على شهادات مرجع تصديق سيثق بها تطبيقك تلقائيًا. إذا أردت تغيير ذلك إلى متجرك الخاص الذي يحتوي على شهادات مرجع التصديق، اتّبِع الإجراء أدناه:
- أنشئ ملف cacerts بتنسيق BCFKS يحتوي على جميع شهادات موفّري خدمات التصديق التي تريد الوثوق بها. تأكَّد من تطابق كلمة مرور ملف تخزين المفاتيح وكلمة مرور المفتاح. يُرجى الرجوع إلى الملحق للحصول على مزيد من التفاصيل.
-
ضَع الملف في مسار مناسب وتأكَّد من أنّه قابل للقراءة من قِبل مستخدِم 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
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 قد يتغيّر إصدار حزمة jar هذه في الإصدارات المستقبلية من OPDK. يجب استخدام أي إصدار تطلقه شركة Apigee. يمكنك أيضًا تنزيل حزمة jar من مستودعات 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
لإنشاء متجر 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، يمكنك الرجوع إلى مقالة تحويل الشهادات إلى تنسيق متوافق.