Bu bölümde, RHEL 8'de FIPS modunu etkinleştirmeyle ilgili yönergeler verilmektedir. Bu sayede, Özel Bulut için Edge 4.53.00 veya sonraki sürümler için güvenli ve uyumlu bir ortam sağlanır.
Önceden yükleme
Edge Kurulumuna Genel Bakış dokümanında listelenen diğer standart yapılandırma ön koşullarının yanı sıra FIPS'in de düğümlerinizde etkinleştirildiğinden emin olun.
fips-mode-setup --check FIPS mode is enabled. # Command output
FIPS modu şu anda devre dışıysa etkinleştirme talimatları için resmi Red Hat dokümanlarına bakın: RHEL 8'i FIPS moduna geçirme.
Java gereksinimleri
Güvenlik modüllerinin FIPS uyumlu olduğundan emin olmak için kullandığınız Java, Red Hat'ın deposundan indirilmelidir. Bu sayede Java güvenliği aracılığıyla FIPS'ye özgü kısıtlamalar etkinleştirilebilir.
Kurulum
Edge Yapılandırma Dosyası Referansı'nda her düğümde FIPS_OS=true
değerini ayarlayın. Edge for Private Cloud'ın genel yükleme adımlarını her zamanki gibi uygulayabilirsiniz.
Özel anahtar biçimi
API proxy'lerinizde veya sanal ana makinelerinizde kullanmak üzere özel anahtarları Apigee anahtar depolarına yüklemek için yalnızca PKCS12/PFX biçimi kullanılabilir. Dosyayı oluşturma konusunda yardım için Sertifikaları desteklenen biçime dönüştürme başlıklı makaleyi inceleyin.
Genel TLS işlemleri
FIPS özellikli RHEL 8.X'te Edge for Private Cloud 4.53.00 veya sonraki bir sürümü kullanırken Edge'in TLS ile ilgili bileşen yapılandırmalarının çoğunun PKCS12 veya BCFKS biçimli anahtar depoları aracılığıyla yapılması gerekir.
Daha fazla bilgi için TLS yapılandırması ile ilgili ilgili makalelerdeki FIPS'ye özgü dokümanlara veya notlara bakın. Bu anahtar depolarını oluşturmak için kullanılabilecek bazı faydalı komutlar ek bölümünde listelenmektedir.
Varsayılan Java anahtar mağazası/güven mağazası
Özel Bulut için Edge 4.53.00 veya sonraki bir sürüm, FIPS özellikli RHEL 8.X'te kullanıldığında mesaj işleyiciniz, yönetim sunucunuz ve diğer edge-* bileşenleriniz, ürünle birlikte sağlanan varsayılan bir güven mağazasına ve anahtar mağazasına dayanır.
Bunlar, uygulamanızın varsayılan olarak güvendiği sertifika yetkilisi sertifikalarını içerir. CA sertifikaları içeren kendi mağazanızı kullanmak istiyorsanız aşağıdaki prosedürü uygulayın:
-
Güvenmek istediğiniz tüm CA sertifikalarını içeren bir BCFKS biçiminde
cacerts
dosyası oluşturun. Anahtar deposu şifresi ile anahtar şifresinin aynı olduğundan emin olun. Daha fazla bilgi için eke bakın. -
Dosyayı uygun bir yola yerleştirin ve apigee kullanıcısı tarafından okunabilir olduğundan emin olun:
cp my-cacerts.bcfks /opt/apigee/customer/application/my-cacerts.bcfks chown apigee:apigee /opt/apigee/customer/application/my-cacerts.bcfks
-
Çalıştığınız bileşene göre uygun yapılandırma dosyasını oluşturun (veya düzenleyin):
Bileşen Dosya 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 -
Dosyaya aşağıdaki satırları ekleyin:
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
-
Yapılandırma dosyasının apigee kullanıcısına ait olduğundan ve bu kullanıcı tarafından okunabildiğinden emin olun:
chown apigee:apigee $opt/apigee/customer/application/<file>.properties
-
Bileşeni yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service <component> restart
Ek
BCFKS anahtar mağazası işlemi örnek komutları
Aşağıdaki komut, kendinden imzalı bir anahtar ve sertifika çifti içeren bir BCFKS anahtar mağazası oluşturur:
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 komutları genellikle kullanılanlarla tutarlı kalır ancak keytool komutuna aşağıdaki seçenekler eklenmelidir:
--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 bağımsız değişkenleri
Keytool bağımsız değişkeni | Açıklama |
---|---|
-storetype |
Mağaza türünü BCFKS olarak ayarlayın. |
-providerpath |
bc-fips-XXXX.jar dosyasının yolunu belirtin. Bu sürüm, gelecekteki OPDK sürümlerinde değişebilir. Apigee tarafından gönderilen sürümü kullanın veya Bouncycastle'ın depolarından indirin. OPDK 4.53 için yol /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar olmalıdır. |
-providerclass |
Bu değeri org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider olarak ayarlayın. |
-providername |
Bu değeri BCFIPS olarak ayarlayın. |
Sertifikaları ve/veya anahtarları BCFKS biçimli bir anahtar deposuna veya bu depodan içe veya dışa aktarmak için benzer keytool komutları kullanılabilir. BCFKS ile çalışma hakkında daha fazla bilgi için BouncyCastle belgelerini inceleyin.
PKCS12 Mağazası
PKCS12 mağazası oluşturmak için openssl
komutları kullanılabilir:
# 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
Kendi gizli anahtarınız ve sertifikanız varsa ve bunları PKCS12 biçimine dönüştürmeniz gerekiyorsa Sertifikaları desteklenen biçime dönüştürme başlıklı makaleyi inceleyin.