5.0 Konfigurieren von JRE für FIPS

So konfigurieren Sie JRE für den nur-genehmigt-Modus von BCFIPS:

  1. Fügen Sie die BCFIPS.jar-Dateien zum Java-Klassenpfad hinzu.

    Die folgenden BCFIPS-Dateien sind erforderlich:

    • bc-fips-1.0.2.5.jar

    • bcpkix-fips-1.0.7.jar

    • bctls-fips-1.0.19.jar

    HINWEIS:Die oben genannten JAR-Dateien können Sie über die folgenden Maven-Repositorys herunterladen:

  2. Bearbeiten Sie die Datei java.security im Verzeichnis <jre-root>/conf/security und legen Sie eine BCFIPS-definierte Java-Systemeigenschaft fest.

    Öffnen Sie die obige Datei für die JRE, die den Web-Container unter <jre-root>/conf/security/java.security hostet, in einem Texteditor. Suchen Sie die Liste der Sicherheitsanbieter, kommentieren Sie alle vorhandenen Anbieter aus und ersetzen Sie die Einträge wie folgt:

    • security.provider.1=BCFIPS

    • security.provider.2=BCJSSE

    • security.provider.3=SunJSSE

    • security.provider.4=SUN

    • security.provider.5=SunJCE

    Der SunJSSE-Anbieter (Java 11) ist erforderlich, da OSP bei der Initialisierung seiner Truststores bestimmte TrustManager-Implementierungen benötigt. Neben den Änderungen an den Sicherheitsanbietern muss auch die BCFIPS-JSSE-KeyManager-Implementierung verwendet werden. Dies ist hauptsächlich deshalb notwendig, weil bestimmte für FIPS erforderliche Festlegungen zu Schlüsseln aufgrund von Mängeln in der Sun-Implementierung nicht vorgenommen werden können. Dies geschieht durch Ersetzen der folgenden Zeile in java.security:

    ssl.KeyManagerFactory.algorithm=SunX509

    durch

    ssl.KeyManagerFactory.algorithm=PKIX

    Es ist auch besser, ältere SSL- und TLS-Algorithmen zu deaktivieren. Dies liegt daran, dass die für SSL-/TLS-Versionen vor TLS v2.0 erforderlichen Algorithmen nicht im genehmigt-Modus von BCFIPS verfügbar sind. Suchen Sie zum Deaktivieren der älteren Algorithmen den Eintrag jdk.tls.disabledAlgorithms.

    Beispiel:

    jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \ EC keySize < 224, DES40_CBC, RC4_40, 3DES_EDE_CBC

    Fügen Sie TLSv1, TLSv1.1 und TLSv1.2 zur Liste hinzu:

    jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, TLSv1.2, RC4, MD5withRSA, DH keySize < 1024, \ EC keySize < 224, DES40_CBC, RC4_40, 3DES_EDE_CBC

    Die Deaktivierung von TLSv1 und TLSv1.1 ist optional, verhindert allerdings kryptische Fehlermeldungen, wenn OSP versucht, sich sicher mit Diensten (z. B. LDAP) zu verbinden, die nur TLS 1.1 oder früher unterstützen. Die Fehlermeldungen, die angezeigt werden, wenn die früheren TLS-Versionen deaktiviert sind, sind verständlicher und weisen direkt auf das Problem hin.

  3. Fügen Sie der Umgebungsvariablen die folgenden Werte hinzu:

    IS_FIPS_ENABLED=true
    BC_FIPS_VERSION=1.0.2.5
    JAVA_OPTS =" -Dorg.bouncycastle.fips.approved_only=true  -Dorg.bouncycastle.rsa.allow_multi_use=true"
    CLASSPATH=C:\NetIQ\Common\JRE\lib\bc-fips-1.0.2.5.jar

    HINWEIS:Für den Zugriff auf dxcmd über Port 636 aktivieren Sie in den LDAP-Einstellungen das SSL EC-Zertifikat.

  4. Navigieren Sie zum Ordner C:\NetIQ\Common\JRE\lib\security.

  5. Erstellen Sie eine Sicherungskopie der Datei cacerts.

  6. Konvertieren Sie zum Unterstützen der Sicherheitserweiterung die Datei cacerts mit dem folgenden Kommando in bcfks:

    keytool -importkeystore -srckeystore cacerts -srcstorepass changeit -srcstoretype JKS -destkeystore cacerts -deststorepass changeit -deststoretype BCFKS -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath $CLASSPATH

HINWEIS:OpenText eDirectory 8.8 (oder früher) kann nicht mit sicherem LDAP verwendet werden, da es nur TLS 1.0 unterstützt. Wenn Sie sicheres LDAP nutzen möchten, müssen Sie OpenText eDirectory 9 oder höher verwenden. Alternativ können Sie den Keystore-Standardtyp ändern. Suchen Sie den Eintrag keystore.type=jks oder keystore.type=pkcs12 und ändern Sie ihn zu keystore.type=bcfks.