-
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
Add mfa_weakest_device
to UserStatusV2
#46957
Conversation
33d97a0
to
c506141
Compare
4dcc8dd
to
e5642a4
Compare
10b39bb
to
15290fe
Compare
🤖 Vercel preview here: https://docs-adv6j0ldi-goteleport.vercel.app/docs/ver/preview |
🤖 Vercel preview here: https://docs-i8l5ofdmr-goteleport.vercel.app/docs/ver/preview |
15290fe
to
a523f08
Compare
🤖 Vercel preview here: https://docs-gmg46yr41-goteleport.vercel.app/docs/ver/preview |
@@ -352,6 +352,12 @@ func userFromUserItems(name string, items userItems) (*types.UserV2, error) { | |||
return nil, trace.Wrap(err) | |||
} | |||
user.SetLocalAuth(auth) | |||
|
|||
if auth != nil { |
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.
Suggestion: I would split the new definitions (and more mundane code changes) and new code additions into separate PRs. That would make 2 smaller, more focused PRs, which should make for easier reviews. (It would hopefully touch less files at once too.)
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.
(No need to split it now, but consider that for future PRs.)
// MFA device is known to be configured using TOTP as the weakest form of MFA. | ||
MFA_STATE_TOTP = 2; | ||
// MFA device is known to be configured using U2F as the weakest form of MFA. | ||
MFA_STATE_U2F = 3; |
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.
Do we need to distinguish between U2F and WEBAUTHN? Why not call both WEBAUTHN?
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.
I wanted to distinguish when a user has a webauthn only configured vs when he has a u2f given that U2F can't be used to passwordless login to teleport.
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.
WEBAUTHN doesn't necessarily mean passkey either, so I think the distinction is moot. All we would detect here are users with relatively old devices / clusters. I would still combine U2F and WEBAUTHN and only re-introduce U2F if we really cared about it specifically.
🤖 Vercel preview here: https://docs-9o2pskc35-goteleport.vercel.app/docs/ver/preview |
🤖 Vercel preview here: https://docs-2ih7nl0rc-goteleport.vercel.app/docs/ver/preview |
🤖 Vercel preview here: https://docs-mqrqac8bm-goteleport.vercel.app/docs/ver/preview |
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.
You might want to update the title/description and commit message to replace mfa_device_state
with mfa_weakest_device
This PR introduces the `mfa_weakest_device` value which is used to specify the weakest MFA device for the account. When a user has no MFA device, it's set to `MFA_DEVICE_KIND_UNSET`. When a user has at least one TOTP device, it's set to `MFA_DEVICE_KIND_TOTP`. When a user ONLY has webauthn or U2F devices, it's set to `MFA_DEVICE_KIND_WEBAUTHN`. This newly introduced field will be utilized by Access Graph to identify insecure patterns that could be potential phishing attack targets, particularly for users without MFA devices or those using TOTP devices.
mfa_device_state
to UserStatusV2
mfa_weakest_device
to UserStatusV2
cd00d9b
to
8fd80cd
Compare
🤖 Vercel preview here: https://docs-4alswr5g8-goteleport.vercel.app/docs/ver/preview |
This PR introduces the `mfa_weakest_device` value which is used to specify the weakest MFA device for the account. When a user has no MFA device, it's set to `MFA_DEVICE_KIND_UNSET`. When a user has at least one TOTP device, it's set to `MFA_DEVICE_KIND_TOTP`. When a user ONLY has webauthn or U2F devices, it's set to `MFA_DEVICE_KIND_WEBAUTHN`. This newly introduced field will be utilized by Access Graph to identify insecure patterns that could be potential phishing attack targets, particularly for users without MFA devices or those using TOTP devices.
This PR introduces the `mfa_weakest_device` value which is used to specify the weakest MFA device for the account. When a user has no MFA device, it's set to `MFA_DEVICE_KIND_UNSET`. When a user has at least one TOTP device, it's set to `MFA_DEVICE_KIND_TOTP`. When a user ONLY has webauthn or U2F devices, it's set to `MFA_DEVICE_KIND_WEBAUTHN`. This newly introduced field will be utilized by Access Graph to identify insecure patterns that could be potential phishing attack targets, particularly for users without MFA devices or those using TOTP devices.
This PR introduces the `mfa_weakest_device` value which is used to specify the weakest MFA device for the account. When a user has no MFA device, it's set to `MFA_DEVICE_KIND_UNSET`. When a user has at least one TOTP device, it's set to `MFA_DEVICE_KIND_TOTP`. When a user ONLY has webauthn or U2F devices, it's set to `MFA_DEVICE_KIND_WEBAUTHN`. This newly introduced field will be utilized by Access Graph to identify insecure patterns that could be potential phishing attack targets, particularly for users without MFA devices or those using TOTP devices.
This PR introduces the `mfa_weakest_device` value which is used to specify the weakest MFA device for the account. When a user has no MFA device, it's set to `MFA_DEVICE_KIND_UNSET`. When a user has at least one TOTP device, it's set to `MFA_DEVICE_KIND_TOTP`. When a user ONLY has webauthn or U2F devices, it's set to `MFA_DEVICE_KIND_WEBAUTHN`. This newly introduced field will be utilized by Access Graph to identify insecure patterns that could be potential phishing attack targets, particularly for users without MFA devices or those using TOTP devices.
This PR introduces the `mfa_weakest_device` value which is used to specify the weakest MFA device for the account. When a user has no MFA device, it's set to `MFA_DEVICE_KIND_UNSET`. When a user has at least one TOTP device, it's set to `MFA_DEVICE_KIND_TOTP`. When a user ONLY has webauthn or U2F devices, it's set to `MFA_DEVICE_KIND_WEBAUTHN`. This newly introduced field will be utilized by Access Graph to identify insecure patterns that could be potential phishing attack targets, particularly for users without MFA devices or those using TOTP devices.
This PR introduces the
mfa_weakest_device
value which is used to specify the weakest MFA device for the account.When a user has no MFA device, it's set to
MFA_DEVICE_KIND_UNSET
.When a user has at least one TOTP device, it's set to
MFA_DEVICE_KIND_TOTP
.When a user ONLY has webauthn or U2F devices, it's set to
MFA_DEVICE_KIND_WEBAUTHN
.This newly introduced field will be utilized by Access Graph to identify insecure patterns that could be potential phishing attack targets, particularly for users without MFA devices or those using TOTP devices.