-
Notifications
You must be signed in to change notification settings - Fork 257
Document transport TLS certificate expiry behavior #7918
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
base: main
Are you sure you want to change the base?
Changes from 4 commits
2bb2768
ff75afa
7f25469
9bea469
8ac384c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -113,7 +113,7 @@ Complete the following steps **for each node in your cluster**. To join the same | |
|
|
||
| 3. Add the following settings to enable internode communication and provide access to the node’s certificate. | ||
|
|
||
| Because you are using the same `elastic-certificates.p12` file on every node in your cluster, set the verification mode to `certificate`: | ||
| Use the same `elastic-certificates.p12` file on every node in your cluster. This file acts as a cluster-membership key: any node with a copy of the file can join the cluster and will trust other nodes using the same file. Because every node presents the same certificate, set the verification mode to `certificate`: | ||
|
|
||
| ```yaml | ||
| xpack.security.transport.ssl.enabled: true | ||
|
|
@@ -123,6 +123,10 @@ Complete the following steps **for each node in your cluster**. To join the same | |
| xpack.security.transport.ssl.truststore.path: elastic-certificates.p12 | ||
| ``` | ||
|
|
||
| ::::{note} | ||
| When the same PKCS#12 file is configured as both the keystore and truststore, peer node certificates in that file are trusted directly. In this configuration, {{es}} does not reject connections from nodes presenting an expired certificate from the same file, even when `verification_mode` is set to `certificate`. Internode communication remains encrypted, and the cluster can continue to operate normally, including restarts and adding new nodes that use the same file. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There is an implicit fallback here where only configuring the keystore will result in the keystore turning into the truststore, so a user that tries to "fix" the issue by removing the truststore config would end up in the same situation. The note also reads as PKCS#12 specific, the same thing would happen with PEM certs
This isn't really relevant, since the same thing would happen with any verification mode I think? Should this also mention that even a CA-only truststore doesn't check the CA's own expiry? I guess that's kind of implied.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good callouts. Updated in commit 8ac384c |
||
| :::: | ||
|
|
||
| 1. If you want to use hostname verification, set the verification mode to `full`. You should generate a different certificate for each host that matches the DNS or IP address. See the `xpack.security.transport.ssl.verification_mode` parameter in [TLS settings](elasticsearch://reference/elasticsearch/configuration-reference/security-settings.md#transport-tls-ssl-settings). | ||
|
|
||
| 3. If you entered a password when creating the node certificate, run the following commands to store the password in the {{es}} keystore: | ||
|
|
||
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.
Instead of "Long validity period" we can say 99 years and maybe mention that http certs have a 3 year validity period. WDYT?
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.
That's where I started as well, since those are helpful figures. But I decided against that since (1) it could invite scrutiny and (2) it could also get stale.
I'm open to either.
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.
Yes, I was on the fence too when suggesting. Let's keep it as is.