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

checkPass via kerberos / gssapi #770

Closed
cornelinux opened this issue Aug 29, 2017 · 4 comments · Fixed by #3235
Closed

checkPass via kerberos / gssapi #770

cornelinux opened this issue Aug 29, 2017 · 4 comments · Fixed by #3235
Assignees
Labels
Hackathon Issue to be closed on a hackathon Topic: LDAP LDAP resolver and LDAP related issues Type: Feature request A change requested or proposed by a user which is not on the default roadmap

Comments

@cornelinux
Copy link
Member

cornelinux commented Aug 29, 2017

Password checking could be done in the LDAP resolver using kerberos mechanism / ldap3 gssapi.

See the orignial pull request: #678

In favour of code dedupllication we do not create a new resolver but rather add another way to verify the password to the existing resolver.

http://ldap3.readthedocs.io/bind.html#kerberos

  • We must assume, that e.g. AD does not support simplebind anymore
  • Passwords must be verified by requesting a TGT (which is granted by providing the correct password)
  • However, if we need to search, we need a service ticket. Searches are done only with the service account
  • Service Account
    • initially fetch TGT
    • Service Tickets for searching LDAP
  • User, for whom we need to check the password:
    • always reuqest TGT (never need service ticket)
@cornelinux cornelinux added Type: Feature request A change requested or proposed by a user which is not on the default roadmap Topic: LDAP LDAP resolver and LDAP related issues labels Aug 29, 2017
@wheldom01
Copy link
Contributor

I'm more than happy yo help out with this, just a little short on time at the moment.

@ignitediris
Copy link

I'll test it out in my infrastructure and provide debug info as needed. Beta testing of sorts if you'd like.

@cornelinux cornelinux added this to the 3.8 milestone Apr 7, 2022
@cornelinux cornelinux added this to To do in privacyIDEA 3.8 via automation May 5, 2022
@cornelinux cornelinux moved this from To do to In progress in privacyIDEA 3.8 May 12, 2022
@plettich
Copy link
Member

plettich commented May 16, 2022

According to the ldap3-docs we need the gssapi package which (currently) doesn't provide a wheel for ubuntu20.
Thus we need to install the python3-dev and libkrb5-devpackages as well as gcc in order to build the extension.

Things to do:

  • Documentation (necessary packages, Domain join, ...)
  • Prerequisites (which additional information do we need in the LDAP-Resolver)
  • Fetch/Renew TGT for service account from Python Code
  • Use the TGT fetching for verifying the user password
  • Use the Service Account TGT to perform LDAP search requests (service ticket)
  • Implementation and error checking (not in domain, no TGT, ...)
  • Tests

@cornelinux
Copy link
Member Author

cornelinux commented Jun 2, 2022

When validating user passwords we need to verify

  • will a fail counter in AD be increased
  • if user is blocked/deactivated - will the authentication fail (in comparison to a simple bind, which will fail)
  • password is changed in AD

The behaviour should be same as with bind.

@cornelinux cornelinux added the Hackathon Issue to be closed on a hackathon label Jul 7, 2022
plettich added a commit that referenced this issue Jul 20, 2022
Also re-arranged some sections for the LDAP-Resolver to better match it
to the WebUI settings page.
Removed packages from the requirements file which are already in the
base requirements (and broke the installation for building the docs).

Closes #770
privacyIDEA 3.8 automation moved this from In progress to Nearly Done Jul 21, 2022
@cornelinux cornelinux moved this from Nearly Done to Done in privacyIDEA 3.8 Jul 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Hackathon Issue to be closed on a hackathon Topic: LDAP LDAP resolver and LDAP related issues Type: Feature request A change requested or proposed by a user which is not on the default roadmap
Projects
Development

Successfully merging a pull request may close this issue.

4 participants