Skip to content
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

Support disconnect_expired_cert for database access #5476

Closed
r0mant opened this issue Feb 3, 2021 · 3 comments
Closed

Support disconnect_expired_cert for database access #5476

r0mant opened this issue Feb 3, 2021 · 3 comments
Assignees
Labels
database-access Database access related issues and PRs feature-request Used for new features in Teleport, improvements to current should be #enhancements

Comments

@r0mant
Copy link
Collaborator

r0mant commented Feb 3, 2021

Feature Request

Teleport provides a disconnect_expired_cert setting that can be set cluster-wide on the auth server and/or on the role level which controls whether an active connection should be terminated in case of the client certificate expiration. This setting currently does not have any effect on the database access connections.

To add support, database access connections should use the same monitor used by SSH server and Kubernetes forwarder:

https://github.com/gravitational/teleport/blob/v6.0.0-alpha.2/lib/srv/ctx.go#L335
https://github.com/gravitational/teleport/blob/v6.0.0-alpha.2/lib/kube/proxy/forwarder.go#L1261

Motivation

This setting is important for compliance purposes.

Who's it for?

OSS User, Pro, Enterprise, Cloud

@r0mant r0mant added feature-request Used for new features in Teleport, improvements to current should be #enhancements database-access Database access related issues and PRs labels Feb 3, 2021
@klizhentas
Copy link
Contributor

Let's add support for per-session certs here as well.

@r0mant r0mant added this to the 7.0 milestone Mar 18, 2021
@r0mant r0mant assigned r0mant and smallinsky and unassigned r0mant May 7, 2021
@r0mant
Copy link
Collaborator Author

r0mant commented May 12, 2021

Let's add support for per-session certs here as well.

@klizhentas Per-session certs are used only in scope of per-session MFA currently - did you mean per-session MFA here (which we'd likely need some client-side proxy for), or did you mean some other behavior to issue very short lived (1m) certs and make users reauth for each db session?

@klizhentas
Copy link
Contributor

@r0mant I'd say bring per session MFA and proxy in scope of 7.0 for your team, yes.

Some thoughts:

  • We need TLS SNI routing to reduce the amount of ports anyways and for cloud
  • If we have proxy support something like

tsh proxy ssh root@localhost

(spins up local ephemeral in process proxy socket, may be in a separate net namespace, launches command ssh)

This will solve another problem for @russjones with c-te (ask him about it)

  • If we have the new proxy support per-session MFA as well, this will cover all other missing protocols (DB access, APP access).

Probably need an RFD for this and work on it in a separate issue :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
database-access Database access related issues and PRs feature-request Used for new features in Teleport, improvements to current should be #enhancements
Projects
None yet
Development

No branches or pull requests

3 participants