opensearch-project / OpenSearch

🔎 Open source distributed and RESTful search engine.
https://opensearch.org/docs/latest/opensearch/index/
Apache License 2.0
9.68k stars 1.79k forks source link

[RFC] Proposal for supporting FIPS 140-2 enforced mode #10268

Closed terryquigleysas closed 1 year ago

terryquigleysas commented 1 year ago

Is your feature request related to a problem? Please describe. Feature Request #1497

Describe the solution you'd like

Problem Statement

We would like to contribute to OpenSearch to support running in FIPS-140-2 compliant mode. We propose delivering this in several phases, as discussed in the feature request above, starting with core changes and aiming towards a desired state of providing configurable options.

This RFC is to ensure our approach would be seen as a feasible and acceptable contribution.

Phases

Phase 1: Remove hardcoded Bouncy Castle references

Security plugin

Update code, retaining current functionality

Performance Analyzer (potentially)

Unknown unknowns (e.g. behavior of other plugins, scripts etc.)

Phase 2: Introduce FIPS-compliant alternatives as default for:

Bcrypt password hashing

Blake2b for masking

Certificate handling (potentially)

Cipher lists (potentially)

Any additional security policy changes

Add FIPS mode configuration flag

Additional work for any issues found in our testing

Extend unit tests

Extend integration tests

Phase 4: Configurability

Additional configuration options

Contingency for unknown unknowns

Phase 5: Documentation

All required configuration options and settings

JDK 11 requirement

Limitations

Not in scope

Changing an existing cluster from non-FIPS to FIPS compliant

Dashboards, Data Prepper etc. - our focus is on server only

Any, as yet unknown, OpenSearch plugins that require extensive work for FIPS-compliance

These could be actioned by the wider community

Help Required

We have accessed and used:

We expect we will need some additional help with:

terryquigleysas commented 1 year ago

Moving to security plugin. Closing here.

terryquigleysas commented 1 year ago

Raised as https://github.com/opensearch-project/security/issues/3420