-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
CA Pinning #2294
Comments
Currently there's no elegant way for a user to get the CA pin of a cluster. For example if I am using statically defined tokens (as most do), I will not be calling In the docs, I am adding the following:
... and telling users to execute |
@russjones feel free to close the ticket when |
Could you add JSON output to |
When a node joins a cluster, both sides need to verify the identity of the other before a successful join can occur. The cluster needs to ensure that the node joining was issued a token that itself generated and the node connecting needs to verify the Auth Server it is connecting to is the one that issued the token.
The current approach is for nodes to look for a file on disk at
/var/lib/teleport/ca.cert
which contains the CA certificate and use this to verify the certificate presented by the Auth Server. If no CA certificate exists at that path, then the Auth Server is not validated.This proposal adds a user friendly way for nodes to verify the identity of the Auth Server by using CA pins. Similar to the approach used by Kubernetes, when an Auth Server issues a join token, it also takes the SHA256 hash of the CA Subject Public Key Info (SPKI) of it's CA. This is sent along with the token and used by the node to join the cluster.
Now when creating a join token:
Teleport can be started with the above CA pin either using command line flags or using Teleport file configuration.
The text was updated successfully, but these errors were encountered: