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

[Backport][ipa-4-11] ipa-pwd-extop: allow enforcing 2FA-only over LDAP bind #7266

Closed

Conversation

flo-renaud
Copy link
Contributor

This PR was opened automatically because PR #7200 was pushed to master and backport to ipa-4-11 is required.

When authentication indicators were introduced in 2016, ipa-pwd-extop
plugin gained ability to reject LDAP BIND when an LDAP client insists
the authentication must use an OTP token. This is used by ipa-otpd to
ensure Kerberos authentication using OTP method is done with at least
two factors (the token and the password).

This enfrocement is only possible when an LDAP client sends the LDAP
control. There are cases when LDAP clients cannot be configured to send
a custom LDAP control during BIND operation. For these clients an LDAP
BIND against an account that only has password and no valid token would
succeed even if admins intend it to fail.

Ability to do LDAP BIND without a token was added to allow users to add
their own OTP tokens securely. If administrators require full
enforcement over LDAP BIND, it is cannot be achieved with LDAP without
sending the LDAP control to do so.

Add IPA configuration string, EnforceLDAPOTP, to allow administrators to
prevent LDAP BIND with a password only if user is required to have OTP
tokens. With this configuration enabled, it will be not possible for
users to add OTP token if one is missing, thus ensuring no user can
authenticate without OTP and admins will have to add initial OTP tokens
to users explicitly.

Fixes: https://pagure.io/freeipa/issue/5169

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
In case there is a successful OTP authentication attempt, register it as
an operation note on the BIND operation in LDAP. 389-ds then will print
a multi-factor authentication note in both access and security logs
according to https://www.port389.org/docs/389ds/design/mfa-operation-note-design.html

Fixes: https://pagure.io/freeipa/issue/5169

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
@flo-renaud flo-renaud added the ack Pull Request approved, can be merged label Mar 12, 2024
@flo-renaud
Copy link
Contributor Author

PR was ACKed automatically because this is backport of PR #7200. Wait for CI to finish before pushing. In case of questions or problems contact @abbra who is author of the original PR.

@flo-renaud flo-renaud added the pushed Pull Request has already been pushed label Mar 13, 2024
@flo-renaud
Copy link
Contributor Author

ipa-4-11:

  • 82eca6c ipa-pwd-extop: allow enforcing 2FA-only over LDAP bind
  • a319811 ipa-pwd-extop: add MFA note in case of a successful LDAP bind with OTP

@flo-renaud flo-renaud closed this Mar 13, 2024
@flo-renaud flo-renaud deleted the backport_pr7200_ipa-4-11 branch March 13, 2024 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ack Pull Request approved, can be merged pushed Pull Request has already been pushed
Projects
None yet
2 participants