Re: LDAP authentication and authorization using Debian and Active Directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I have several working Cyrus installations authenticated against AD, but I do 
not use LDAP. Instead it authenticates via kerberos. To be more precise:
Cyrus/Exim -> Saslauthd -> PAM -> pam_krb5.so -> AD

For distribution groups, aliases and such stuff I use LDAP queries in Exim. But 
kerberos for authentication

Unfortunately kerberos does not give you groups. Maybe you could use winbind 
and libnss-winbind to get groups from AD to Linux and use them as if they were 
in /etc/group...

-- 
Best regards
        Vladislav Kurz

Dne úterý 15. června 2021 16:06:26 CEST, jwallis@xxxxxxxxxxxxxxxxx napsal(a):
> It seemed like it would be a good idea to use the existing Active Directory
> DC as the LDAP source for all mail users.
> 
> I got cyrus (3.2.6 from Buster backports) running using saslauthd for
> authentication against the directory, and test users could authenticate OK
> and see their mailbox in Thunderbird. relevant entires in imapd.conf:
> 
> allowplaintext: yes
> sasl_mech_list: PLAIN
> sasl_pwcheck_method: saslauthd
> 
> Because I want to use some groups for shared folders and distribution lists,
> I also want to authorize users and groups against the directory so enabled:
> 
> auth_mech: pts
> pts_module: ldap
> ptloader_sock: var/lib/cyrus/ptclient/ptsock
> ldap_uri: ldaps:/companydomaincontroller:636
> ldap_bind_dn: a cn that works in other binds
> ldap_password: the password for above
> ldap_sasl: 0
> ldap_version: 3
> ldap_ca_dir: /etc/ssl/certs   (which is where the ca cert that works with
> saslauthd resides) ldap_verify_peer: 1
> ldap_base: base that other binds can successfully find users from
> ldap_scope: sub
> ldap_filter: (sAMAccountName=%u)  (I have tried more complex filters and
> decided on this as one that should work) ldap_user_attribute: mail
> ldap_size_limit: 1024
> I have commented out the group member stuff for now, need to walk before I
> can run!
> 
> With these options enabled, no one can authenticate, even though my
> understanding is that authentication is distinct from authorization.
> Thunderbird users can no longer login and imtest for user cyrus (which is
> in the directory) gives the same output up to a line :
> 
> C: A01 AUTHENTICATE PLAIN {a hash}
> S: A01 NO authentication failure
> Authentication failed. generic failure
> Security strength factor: 256
> 
> (the SSF is reported the same, but I have for now only asked for level 0)
> 
> In /var/log/syslog I find the following lines:
> cyrus/ptloader[8230]: ldap_initialize failed (ldaps:/DC:636)
> cyrus/imap[8229]: timeout_select exiting. r = 1; errno = 0
> cyrus/imap[8229]: timeout_select: sock = 11, rp = 0x7ffecbb6ad30, wp = 0x0,
> sec = 30 cyrus/imap[8229]: timeout_select exiting. r = 1; errno = 0
> cyrus/imap[8229]: ptload read data back
> cyrus/imap[8229]: ptload(): bad response from ptloader server:
> ptsmodule_connect() failed cyrus/imap[8229]: No data available at all from
> ptload()
> cyrus/imap[8229]: ptload completely failed: unable to canonify identifer:
> cyrus cyrus/imap[8229]: SASL bad userid authenticated
> cyrus/imap[8229]: badlogin: localhost [::1] PLAIN (-notset-) [SASL(-6):
> can't request information until later in exchange: Information that was
> requested is not yet available.]
> 
> I have been searching for answers for days and at one point found a
> reference that claimed ptsloader is not enabled by default in Debian, so I
> have downloaded the source package and compiled cyrus-imaps using a
> configure script based on the Debain default config options with some extra
> options: --with-auth=pts --with-pts=ldap and --with-ldap This has made no
> difference.
> I have also downlaoded the 3.4.1 source package from experimental and
> compiled with the same options ands still no difference to behaviour so
> suspect this is a red herring?
> 
> So why is ptloader not retrieving any data?
> The ldap_bind credentials I have given it work fine with saslauthd or
> postfix or ldapsearch. Presumably then my filter and user attributes are
> bad? But I can't see why.
> 
> What is the order of operations within cyrus?
> I assume that it authenticates first using saslauthd, and then uses the same
> username to check authorization in pts, but enabling PTS seems to prevent
> authentication. Although in syslog it is suggesting that SASL has
> authenticated, but with a bad userid?
> 
> The windows DC uses a directory migrated from an older one on a  small
> business server where microsoft recommended using an internal .local domain
> which has always been a bit of a headache for me. This means that our
> search base is a DC=local, as are the bind DN and userPrincipleName, but
> the mail and proxyAddresses email addresses are all .com Is the problem
> related to this? do I need to enable virtual domains and/or cross realm
> authentication for ptloader to get a response from the server?
> 
> Is there any way to call ptloader outside of master to try to work out
> exactly what is being passed and what result it achieves?
> 
> Also, how does ptdump work? I get no indication that it has done anything,
> is this simply because ptloader has never yet obtained any data for it to
> dump?
> 
> As for checking the LDAP server logs, if anyone knows how I can do this on
> windows 2012 please advise! Looking at directory services in event viewer I
> see very few entries and nothing relating to communication from my mail
> server. I assume I need to enable a different log level but I can't find
> out how or what.
> 
> All the examples I can find are based on openldap installations, is what I
> am trying to do possible, or are the Active Directory schema completely
> incompatible with ptloader?
> 
> Jim Wallis
> 
> 
> ------------------------------------------
> Cyrus: Info
> Permalink:
> https://cyrus.topicbox.com/groups/info/T1c604a219c5fa805-M8d9393c09736a3175
> 7439505 Delivery options:
> https://cyrus.topicbox.com/groups/info/subscription





------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/T1c604a219c5fa805-Md37e7ffaaef955f6381abd34
Delivery options: https://cyrus.topicbox.com/groups/info/subscription




[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]
  Powered by Linux