این بخش راهنمایی هایی را در مورد فعال کردن حالت FIPS در RHEL 8 ارائه می دهد و از یک محیط امن و سازگار برای Edge برای نسخه های ابر خصوصی نسخه 4.53.00 یا بالاتر اطمینان می دهد.
از پیش نصب کنید
مطمئن شوید که FIPS در گره های شما به همراه سایر پیش نیازهای پیکربندی استاندارد فهرست شده در مستندات Edge Installation Overview فعال باشد.
fips-mode-setup --check FIPS mode is enabled. # Command output
اگر حالت FIPS در حال حاضر غیرفعال است، برای دستورالعملهای نحوه فعال کردن آن به مستندات رسمی Red Hat مراجعه کنید: تغییر RHEL 8 به حالت FIPS .
الزامات جاوا
جاوای مورد استفاده شما باید از مخزن Red Hat دانلود شود تا اطمینان حاصل شود که ماژول های امنیتی آن با FIPS سازگار هستند و محدودیت های مخصوص FIPS را از طریق امنیت جاوا فعال می کند.
نصب و راه اندازی
در مرجع فایل پیکربندی لبه ، FIPS_OS=true
در هر گره تنظیم کنید. می توانید طبق معمول مراحل نصب کلی Edge for Private Cloud را دنبال کنید.
فرمت کلید خصوصی
فقط از فرمت PKCS12/PFX می توان برای آپلود کلیدهای خصوصی در فروشگاه های کلید Apigee برای استفاده در پراکسی های API یا میزبان های مجازی استفاده کرد. برای راهنمایی در مورد ایجاد فایل، به تبدیل گواهینامه ها به فرمت پشتیبانی شده مراجعه کنید.
عملیات عمومی TLS
هنگام استفاده از Edge برای Private Cloud 4.53.00 یا جدیدتر در RHEL 8.X دارای FIPS فعال، بیشتر پیکربندیهای اجزای Edge مربوط به TLS باید از طریق ذخیرهسازی کلیدهای فرمت PKCS12 یا BCFKS انجام شود.
برای دریافت جزئیات بیشتر، به اسناد یا یادداشتهای خاص FIPS در مقالات مربوطه برای پیکربندی TLS مراجعه کنید. ضمیمه برخی از دستورات مفید را فهرست می کند که می توان از آنها برای تولید این کلیدهای ذخیره استفاده کرد.
پیش فرض جاوا کلید ذخیره/تراست استور
وقتی Edge for Private Cloud 4.53.00 یا جدیدتر در RHEL 8.X دارای FIPS استفاده میشود، پردازشگر پیام، سرور مدیریت و سایر اجزای edge-* به یک ذخیرهسازی اعتماد پیشفرض و فروشگاه کلید ارائه شده با محصول متکی هستند.
اینها حاوی گواهینامه های CA هستند که برنامه شما به طور پیش فرض به آنها اعتماد دارد. اگر می خواهید از فروشگاه خود حاوی گواهینامه های CA استفاده کنید، مراحل زیر را دنبال کنید:
- یک فایل
cacerts
با فرمت BCFKS ایجاد کنید که حاوی تمام گواهینامه های CA است که می خواهید به آنها اعتماد کنید. اطمینان حاصل کنید که رمز ورود کلید و رمز عبور کلید یکسان هستند. برای جزئیات بیشتر به پیوست مراجعه کنید. - فایل را در یک مسیر مناسب قرار دهید و مطمئن شوید که توسط کاربر 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 لبه روتر $/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 keystore
دستور زیر یک فروشگاه کلید 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 Argument | توضیحات |
---|---|
-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 تبدیل کنید، به تبدیل گواهینامه ها به فرمت پشتیبانی شده مراجعه کنید.