cyradm auth mechanism

Igor Brezac igor at ipass.net
Tue Jul 5 11:32:50 EDT 2005


On Tue, 5 Jul 2005, Thomas Vogt wrote:

> Hi Igor
>
>>> I've a problem with my new clean, cyrus installation. I  can't login with 
>>> my cyradm admin account. The account information is stored in my ldap 
>>> database. The sasldb2 is empty. I don't use it. Can you give me some 
>>> advice?
>>> 
>>> For cyradm I use this command:
>>> cyradm --user nmeth2vdiysttboz --server localhost --auth plain
>>> Password:
>>> IMAP Password: <i use the ldap password here>
>>> 
>>> Error message:
>>> Invalid user at /usr/local/lib/perl5/site_perl/5.8.7/mach/Cyrus/ 
>>> IMAP/Admin.pm line 118
>>> cyradm: cannot authenticate to server with plain as nmeth2vdiysttboz
>>> 
>>> Logfile:
>>> Jul  4 21:00:36 mail03 imap[58290]: badlogin: localhost [127.0.0.1] PLAIN 
>>> [SASL(-16): encryption needed to use mechanism: security flags do not 
>>> match
>>> 
>>               ^^^^^^^^^^
>> This error is self explanatory.
>
> I added this options below to my imapd.conf. But I still get the same error 
> message. I don't want to use any encryption. The password is stored as md5 
> hash in the ldap database. As far as I know this limits my ability for secure 
> authentication anyway.
>
> allowplaintext: yes

This works for the internal imapd login auth mechanism only.

You cannot use plain without transport protection.

> sasl_mech_list: PLAIN

do sasl_mech_list: PLAIN LOGIN

and use login mech in your cyradm cmd.

> sasl_minimum_layer: 0
>
> I've compiled sasl with
>
> ./configure --sysconfdir=/usr/local/etc --with-plugindir=/usr/local/lib/sasl2 
> --with-dbpath=/usr/local/etc/sasldb2 --includedir=/usr/local/include 
> --mandir=/usr/local/man --enable-static --enable-auth-sasldb 
> --with-rc4=openssl --with-ldap --with-saslauthd=/var/state/saslauthd 
> --with-dblib=ndbm --without-mysql --without-pgsql --without-sqlite 
> --enable-login --disable-ntlm --disable-gssapi --disable-krb4 
> --with-openssl=yes --prefix=/usr/local
>
>
>> 
>> 
>>> Jul  4 21:00:39 mail03 perl: No worthy mechs found
>>> Jul  4 21:00:40 mail03 imap[58290]: ptload(): bad response from ptloader 
>>> server: identifier not found
>>> 
>> 
>> pts/ldap configuration problem.  Double check ldap_* params in imapd.conf.
>> 
>> Is there a reason you are using pts authorization module?
>
> I thought this is the best way for my enviroment. Every User information is 
> stored in my ldap server. uid, maildrop, password ....
> I don't like pam_ldap. My older servers are using auth_unix but I've modified 
> this for ldap. Since my patch no longer works, I decided to use a direct ldap 
> auth version. But I can try other auth mech, if this is possible with ldap.
>
>>> Jul  4 21:00:40 mail03 imap[58290]: bad userid authenticated
>>> Jul  4 21:00:40 mail03 imap[58290]: badlogin: localhost [127.0.0.1] 
>>> plaintext nmeth2vdiysttboz invalid user
>>> 
>>> testsaslauthd -u nmeth2vdiysttboz -p 1234
>>> 0: OK "Success."
>>> 
>>> imtest -m LOGIN -a nmeth2vdiysttboz localhost
>>> S: * OK mail03.test.ch Cyrus IMAP4 v2.2.12 server ready
>>> C: C01 CAPABILITY
>>> S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS 
>>> NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY 
>>> SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE LISTEXT 
>>> LIST-SUBSCRIBED X-NETSCAPE
>>> S: C01 OK Completed
>>> Please enter your password: <type in here>
>>> C: L01 LOGIN nmeth2vdiysttboz {16}
>>> S: L01 NO Invalid user
>>> Authentication failed. generic failure
>>> Security strength factor: 0
>>> 
>>> ldap entry for admin:
>>> 
>>> # nmeth2vdiysttboz, people, test, test.ch
>>> dn: uid=nmeth2vdiysttboz,ou=people,ou=test,dc=test,dc=ch
>>> objectClass: top
>>> objectClass: person
>>> objectClass: organizationalPerson
>>> objectClass: inetOrgPerson
>>> uid: nmeth2vdiysttboz
>>> cn: Cyrus Admin
>>> userPassword:: 1234
>>> 
>>> 
>>> saslauthd.conf
>>> ldap_servers: ldap://127.0.0.1/
>>> ldap_search_base: ou=people,ou=test,dc=test,dc=ch
>>> 
>>> 
>>> imapd.conf:
>>> configdirectory: /m/imap
>>> partition-default: /m/spool/imap
>>> allowplaintext: yes
>>> admins: nmeth2vdiysttboz
>>> quotawarn: 90
>>> timeout: 30
>>> imapidlepoll: 60
>>> poptimeout: 10
>>> logtimestamps: yes
>>> singleinstancestore: yes
>>> sieveusehomedir: false
>>> sievedir: /m/imap/sieve
>>> hashimapspool: true
>>> 
>>> sasl_pwcheck_method: saslauthd
>>> sasl_mech_list: plain login
>>> 
>>> ptloader_sock: /var/imap/socket/ptsock
>>> lmtpsocket: /var/imap/socket/lmtp
>>> idlesocket: /var/imap/socket/idle
>>> notifysocket: /var/imap/socket/notify
>>> 
>>> ldap_base: dc=test,dc=ch
>>> ldap_deref: search
>>> ldap_sasl: 0
>>> ldap_group_scope: sub
>>> ldap_bind_dn: dc=test,dc=ch
>>> ldap_restart: 1
>>> ldap_scope: sub
>>> ldap_start_tls: 0
>>> ldap_time_limit: 10
>>> ldap_timeout: 15
>>> ptscache_timeout: 1
>>> ldap_tls_check_peer: no
>>> ldap_tls_ciphers: TLSv1:SSLv3:!NULL:!EXPORT:!DES:!LOW:@STRENGTH
>>> ldap_uri: ldap://127.0.0.1/
>>> 
>> 
>> Do you need ldap_password here?
>
> No. There is no password protection.
>
>>   Can you debug slapd?
>
> I will do that. But first I will fix my "sasl mech problem"
>
>>> Saslauth runs with -a ldap
>>> slapd runs with -h "ldapi:///var/run/openldap/ldapi/ ldap://127.0.0.1 "
>>> 
>>                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> This will not work, although saslauthd is working fine with you current 
>> configuration.  (Use ldapi://%2fvar%2frun%2fopenldap%2fldapi/
>
> Thank you.
>
>
> Regards,
> Thomas
>

-- 
Igor
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list