Files
teleport/api
Alan Parra 6bc540050a Add a global disable flag for Webauthn (#8191)
Since #8176[1] landed, tsh login favors Webauthn challenges over U2F, a behavior
recommended to other clients as well (such as the Web UI). This creates a
problem: until the Webauthn implementation if proven in the wild, if there are
issues with it, then clients could consistently fail login.

This change introduces a fallback for disabling Webauthn regardless of the
cluster's second_factor:on or second_factor:optional setting. By stopping
challenge generation we automatically push clients over to U2F or TOTP as a
fallback, allowing breaking issues to be fixed without impact. (Note that using
second_factor:u2f as a fallback isn't always possible, since it disables OTP as
well.)

The added setting is meant as a safety switch - once Webauthn is proved in the
wild it is to be removed.

This affects both teleport.yaml and cloud resource configs.

teleport.yaml:

```yaml
auth_service:
  authentication:
    type: local
    second_factor: on # or "optional"
    u2f: {}           # omitted
    webauthn:
      disabled: true
```

Resource configuration:

```yaml
kind: cluster_auth_preference
version: v2
spec:
  type: local
  second_factor: on
  webauthn:
    disabled: true
```

[1] https://github.com/gravitational/teleport/pull/8176

* Add global disable flag for Webauthn
* Generate protos
* Apply Webauthn global disable flag
2021-09-10 11:47:32 -07:00
..
2021-07-30 15:34:19 -07:00
2021-07-08 14:56:08 -07:00