-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Log warning when cache hasher not compliant with FIPS #86740
Log warning when cache hasher not compliant with FIPS #86740
Conversation
Hi @n1v0lg, I've created a changelog YAML for you. |
…elasticsearch into enhance/warn-on-md5-in-fips-mode
Pinging @elastic/es-security (Team:Security) |
Ah crap, just found one more wrinkle in this: Our docs mention that I think it makes the most sense to change the warning check in this PR to also trigger on |
I think we should amend the doc. The wording is likely tricky to justify Taking a step back, my original intention was to log a warning message of "xxx is not recommended" which intentionaly avoid having to mention |
This is indeed not realistic.
The steps that users would likely take is either ignore the warning altogether, read our/NIST's docs, try out options blindly until they hit the right one, or reach out to support. We'd essentially still need to make a recommendation. It also gets complicated with, for example, the NOOP hasher. I'm with you on your preferences regarding docs and allowing As for interpreting NIST recommendations, I found two applicable resources so far: (1) Mentions:
(2) essentially specifies PBKDFs and recommends their use for "the Both resources deal with stored data. If in-memory data does not fall under that category, then as far as NIST recommendations (and FIPS 140-2) go, perhaps it's more about the hash function itself. If it's approved as a secure hash function (e.g. it's not One final note: FingerprintProcessor does not support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am tagging this as "request changes" until the team agrees on what message we want to show to the end-users.
My advice would be to make 1 recommendation
We could also say |
@tvernum I like your suggestion. Wondering if |
My suggestions are:
|
@ywangd's suggestion looks good to me. Step 3 would be contingent on us (ES dev) reaching a conclusion on how we want to embed URLs in messages, but we can defer the work until we have an answer there. |
Sounds good to me! @ywangd thank you for the suggestion. |
I have seen a few places where we already embed short URLs in responses or logs. One recent example is: Line 40 in 519f7aa
Not sure whether this is considered "official" though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks for being thorough!
Our docs currently recommend PBKDF2 as a cache hasher in FIPS mode. However, the performance overhead of PBKDF2 is prohibitive; ssha256 is a more appropriate choice for in-memory credential hashing. This PR updates the docs to reflect this. See #86740 for more context.
Our docs currently recommend PBKDF2 as a cache hasher in FIPS mode. However, the performance overhead of PBKDF2 is prohibitive; ssha256 is a more appropriate choice for in-memory credential hashing. This PR updates the docs to reflect this. See elastic#86740 for more context.
Our docs currently recommend PBKDF2 as a cache hasher in FIPS mode. However, the performance overhead of PBKDF2 is prohibitive; ssha256 is a more appropriate choice for in-memory credential hashing. This PR updates the docs to reflect this. See elastic#86740 for more context.
Our docs currently recommend PBKDF2 as a cache hasher in FIPS mode. However, the performance overhead of PBKDF2 is prohibitive; ssha256 is a more appropriate choice for in-memory credential hashing. This PR updates the docs to reflect this. See #86740 for more context.
Our docs currently recommend PBKDF2 as a cache hasher in FIPS mode. However, the performance overhead of PBKDF2 is prohibitive; ssha256 is a more appropriate choice for in-memory credential hashing. This PR updates the docs to reflect this. See #86740 for more context.
Currently, it's possible to choose a hash function for various cache
hashers (e.g., in
ApiKeyService
) that is not compliant with FIPS 140(e.g., MD5). This PR logs a warning on node start if a non-compliant
hashing algorithm is used in FIPS mode.
Note that there are other usages of non-FIPS compliant hash functions,
which are not configured through settings (e.g.
FingerprintProcessor
). I plan to address these in a separate PR.Relates #68743