Bu makale, FIPS özellikli RHEL 8.X üzerinde çalışan 4.53.00 veya sonraki bir sürümü kullanan Edge for Private Cloud müşterilerine yönelik ayrıntılar ve talimatlar içerir.
Önceden yükleme
Edge for Private Cloud dokümanlarında listelenen diğer standart yapılandırma ön koşullarına ek olarak, düğümlerinizde FIPS'in etkinleştirildiğinden emin olun.
fips-mode-setup --check FIPS mode is enabled.
FIPS modu şu anda devre dışıysa etkinleştirme talimatları için resmi Red Hat dokümanlarına bakın:
Java gereksinimleri
Java'nın güvenlik modüllerinin FIPS uyumlu olduğundan ve Java güvenliği aracılığıyla FIPS'ye özgü kısıtlamaları uygulayabileceğinden emin olmak için kullandığınız Java, Red Hat'ın deposundan indirilmelidir.
Kurulum
Sessiz yükleme 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. Dosya 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ıyla 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 çalıştırıldığında mesaj işleyiciniz, yönetim sunucunuz ve diğer edge-* bileşenleriniz, ürünle birlikte gönderilen varsayılan bir güven mağazasını ve anahtar mağazasını kullanır. Bunlar, uygulamanızın varsayılan olarak güveneceği CA sertifikalarını içerir. Bunu, CA sertifikaları içeren kendi mağazanızla değiştirmek 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
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 çalıştırılanlarla aynı kalır ancak keytool komutuna aşağıdaki seçeneklerin eklenmesi gerekir:
--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ü BCFKS'dir. |
-providerpath | bc-fips-XXXX.jar dosyasının yolu. Bu jar dosyasının sürümü, gelecekteki OPDK sürümlerinde değişebilir. Apigee tarafından gönderilen sürüm kullanılmalıdır. Jar dosyasını Bouncycastle'ın depolarından da indirebilirsiniz. OPDK 4.53 sürümü itibarıyla bu, /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar olmalıdır. |
-providerclass | org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider olarak ayarlanmalıdır. |
-providername | BCFIPS olarak ayarlanmalıdır. |
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 olarak paketlemek istiyorsanız Sertifikaları desteklenen biçime dönüştürme başlıklı makaleyi inceleyin.