[
https://issues.apache.org/jira/browse/ZOOKEEPER-4832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andor Molnar reassigned ZOOKEEPER-4832:
---------------------------------------
Assignee: Andor Molnar
> Better guidance on how to configure zookeeper for FIPS
> ------------------------------------------------------
>
> Key: ZOOKEEPER-4832
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4832
> Project: ZooKeeper
> Issue Type: Improvement
> Components: documentation
> Reporter: Mark
> Assignee: Andor Molnar
> Priority: Minor
>
> Hi there.
> We're attempting to work out how to produce a zookeeper package and image
> which is FIPS compliant.
> We've found multiple references in the code base to `zookeeper.fips-mode`,
> however on closer inspection this is very misleading, as it is not enabling
> any FIPS specific settings, neither does it enable zookeeper for FIPS mode.
> Instead, it just looks to disable 'ZKTrustManager'.
> It would be great to get some guidance here, and possibly an article / docs
> update with configuration details.
> For example, when working with Java applications, there are usually multiple
> layers to building a FIPS image, including:
> * Configuring OpenSSL for FIPS mode
> * Configuring a FIPS compliant JDK/JRE on the host, such as bcfips (FIPS
> BouncyCastle)
> * Creating a suitable java.security file to restrict usage to non-approved
> FIPS providers and crypto algorithms
> * Updating the CLASSPATH to reference the bcfips jars
> * Refactoring the code base - removing any references to non-FIPS crypto
> usage, such as non-FIPS bouncycastle, and potentially any other crypto libs
> * Remove any usage of unapproved crypto algorithms (i.e des, md5 etc)
> Some questions:
> # Do you have any more info you can share on how to properly configure
> zookeeper for FIPS?
> # Zookeeper seems to reference bouncycastle in some tests - can these be
> ignored safely? Any other usage of non-FIPS bouncycastle elsewhere?
> # Are there any other crypto libraries used which may be a concern?
> # Are there any dependencies used which themselves use non-FIPS crypto?
> # Are the references to non-approved crypto algorithms in critical path?
>
> {*}Expanding on question 2 above{*}, this is the only references i could seem
> to find for bouncycastle:
> ```
> zookeeper-server/src/test/java/org/apache/zookeeper/common/BaseX509ParameterizedTestCase.java
> zookeeper-server/src/test/java/org/apache/zookeeper/common/X509TestContext.java
> zookeeper-server/src/test/java/org/apache/zookeeper/common/X509TestHelpers.java
> ```
> *Expanding on question 5:*
> md5 usage:
> ```zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java
> zookeeper-server/src/main/java/org/apache/zookeeper/server/auth/DigestLoginModule.java
> zookeeper-server/src/main/java/org/apache/zookeeper/server/auth/SaslServerCallbackHandler.java
> zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/auth/SaslQuorumServerCallbackHandler.java
> zookeeper-server/src/main/java/org/apache/zookeeper/util/SecurityUtils.java
> ```
> des usage:
> ```
> zookeeper-server/src/test/java/org/apache/zookeeper/common/X509TestHelpers.java
> ```
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)