FIPS özellikli RHEL 8.X'te Edge for Private Cloud

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:

  1. 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.
  2. 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
  3. Ç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
  4. 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
          
  5. 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
  6. 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.