-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
Intro
The purpose of this meta issue is supporting the ongoing efforts for supporting FIPS 140-3 enforced mode in OpenSearch. It shall serve two core functions:
- to document fundamental architectural decisions
- to document open to-do items and to keep track of them
This issue shall be a living document, we should try to keep the information here up to date. Discussions in the comments section are welcome - still, any fundamental decision in the comments section should be reflected here.
Note: Unfortunately, the GitHub issue permission model only allows me and maintainers to edit this issue. I would have hoped that there would have been some way to allow more users editing, but that does not seem to be the case. I will try to do my best to keep the issue up to date. Still, if anyone has ideas on how to improve this, please speak up!
Note: This is just my first shot. There is a 200% chance that there are omissions and inaccuracies. Please comment or edit in order to complete this list.
Fundamental decisions
- There will be only one OpenSearch distribution, which always bundles
bc-fipsbut does not enable FIPS approved only mode by default. - To enable FIPS approved only mode, these actions must be performed:
- the script
opensearch-fips-demo-installerneeds to be executed - the environment variable
OPENSEARCH_FIPS_MODEneeds to be set (this will be converted by theopensearch-envscript into the JVM propertyorg.bouncycastle.fips.approved_only=true).
- the script
- The first version of this will be shipped with OpenSearch 3.6. However, enabling FIPS approved only mode will be only fully supported for the OpenSearch-min distribution (without any plugins, especially also without security plugin). Some further plugin functionality might work, but no guarantee is given.
- Full support, including security plugin and other plugins will be delivered in a later version of OpenSearch.
Assumptions
Please speak up if these assumptions are wrong.
- All plugins in the OpenSearch distribution have been already adapted to be aware of the bundled
bc-fipslibrary (This is only about the presence of the component, not about enabling FIPS approved only mode) - The OpenSearch min distribution already runs without issues in FIPS approved only mode. All necessary PRs for this have been already merged to
main.
Supporting References
opensearch-project/technical-steering#77
Issues
For OpenSearch 3.6.0:
- Bundle bc-fips with distribution: Toggle -Pcrypto.standard=FIPS-140-3 by default on all build scripts (Build) opensearch-build#5995
- Support flag to activate FIPS approved only mode: Use env variable (OPENSEARCH_FIPS_MODE) to enable opensearch to run in FIPS enforced mode instead of checking for existence of bcFIPS jars #20625
- Automated (smoke) tests for OpenSearch min in FIPS approved only mode. (Do we already have any tests?)
- User documentation
- Any other implementation work necessary to achieve the minimal approved only mode support?
For later OpenSearch release
- Finish adaptions of security plugin necessary for . (Note: if important decisions need to be made for these adaptions (such as not supporting SAML), let's document these here as well.)
- Finish adaptions of other plugins (Note: If there are other plugins which require non-trivial adaptions, please let me know. We should list these individually.)
- Automated tests for OpenSearch in FIPS approved only mode.
- User documentation
- Any other implementation work necessary to achieve the FIPS approved only mode support for the full distro?
Metadata
Metadata
Assignees
Labels
Type
Projects
Status