-
Notifications
You must be signed in to change notification settings - Fork 301
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
[BUG]Opensearch won't start if there are expired certificates in the CA bundle #4949
Comments
[Triage] Thank you for filing this issue @reshippie. I see a couple possible solutions:
|
Isn't this a ticking time bomb as well? Won't any installation that uses a certificate from a truststore like the JDK default one just fail to start as soon as any certificate in it expires? Or is the recommendation to always create your own truststore with only the required certificate path(s)? |
we are evaluating a solution and a timeline to address this. |
I believe we should not check certificate validity of the truststore bundle that is coming from either PEM file or JKS file for the following reasons:
We need to update checks in two places:
As @cwperks has already started working on the PR, I think we should also include the hot-reload part in this change. @willyborankin, what are your thoughts on this approach? Do you see any potential issues by not validating expiry on truststore bundle? |
which PR are you referring here? |
|
@willyborankin: pinging back for your feedback. thanks! |
Agree that @cwperks' solution is the way to go. And reload should use the same logic we use to verify SSL certs |
This is not necessarily the case. See https://security.stackexchange.com/a/120471 |
What is the bug?
The security plugin now verifies every certificate in the CA bundle and prevents Opensearch from starting if any of them are expired.
How can one reproduce the bug?
Steps to reproduce the behavior:
plugins.security.ssl.http.pemtrustedcas_filepath
and orplugins.security.ssl.transport.pemtrustedcas_filepath
What is the expected behavior?
I would expect that the service will start, just like it did up through 2.17.1
What is your host/environment?
Do you have any screenshots?
Do you have any additional context?
I believe this problem was introduced by #4837 This problem was not present in 2.17.1, but is in 2.18. A workaround is to identify the expired certificates in the CA bundle and exclude them, but even the current stable distribution of Debian includes at least 1 expired certificate.
An option to ignore this check for CA certificates would be extremely helpful, especially since it's not immediately obvious from the above error that the problem is with the CA bundle.
The text was updated successfully, but these errors were encountered: