PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenSuse 11.1 -Server LDAP, Imap Cyrus



lotharschneider
05.08.09, 16:08
Hallo ...

Ich versuche schon eine lange Zeit mein OpenSuse 11.1 als Server laufen zu lassen. Für die Authentifizeirung der Nutzer möchte ich LDAP mit TLS verwenden. Ohne TLS läuft der LDAP-Dienst und die Authentifizierung läuft nicht sauber. Er bringt mir in den Log-File :

imap[28551]: executed
imap[28551]: auxpropfunc error invalid parameter supplied
imap[28551]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: ldapdb
imap[28551]: sql_select option missing
imap[28551]: auxpropfunc error no mechanism available
imap[28551]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql
imap[28551]: accepted connection
imap[28551]: OTP unavailable because can't read/write key database /etc/opiekeys: No such file or directory
imap[28551]: login: [192.168.1.4] xxxxx CRAM-MD5 User logged in
imap[28551]: seen_db: user xxxxx opened /var/lib/imap/user/x/xxxxx.seen
imap[28551]: open: user xxxxx opened INBOX

Die fehlende Authentifizierung bringt er mir auch bei Postfix/smtpd, capisuite, lmtpunix und den slapd selbst. Ich habe die notwendigen Dateien für SAS-Authd installiert. Desweiteren kann ich mich nicht bei sieve anmelden.

Was mache ich falsch? (Das Problem sitzt immer vor dem Comp....)

Mfg lotharschneider

Roger Wilco
05.08.09, 20:34
Sollen wir einfach raten ohne deine Konfiguration zu kennen?

lotharschneider
05.08.09, 21:35
Sorry...
Folgende Konfiguration:
DELL PowerEDGE 1650, 2,5 GB RAM, OpenSuse 11.1 Kernel 2.6.27.25-01 pae; OpenLDAP 2.4.12-5.4, SASL-Authd 2.1.22-182.2.1 und Cyrus IMAP 2.3.11-60.16.
OpenLDAP ist mit der slapd.conf konfiguriert, also kein dynam. LDAP wie es bei der YAST Installation angeboten wird. Die slapd.conf ist ganz normal eingerichtet. In der LOG-File fehlen die Bindeglieder zu der ldapdb bzw. sql. Die Fehlermeldungen sind seit Anfang.
Wo steckt der Fehler?

Mfg lotharschneider

Roger Wilco
05.08.09, 22:22
Das ist immer noch nicht die relevante Konfiguration. ;)

lotharschneider
06.08.09, 10:54
Ich sende einmal die conf:

slapd.conf:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/rfc2307bis.schema
include /etc/openldap/schema/yast.schema
include /etc/openldap/schema/samba3.schema
include /etc/openldap/schema/suse-mailserver.schema
include /etc/openldap/schema/ppolicy.schema
include /etc/openldap/schema/dnszone.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args

access to dn.base=""
by * read

access to dn.base="cn=Subschema"
by * read

access to attrs=userPassword,userPKCS12
by self write
by * auth

access to attrs=shadowLastChange
by self write
by * read

access to *
by * read

database bdb
suffix dc=muster,dc=de
checkpoint 1024 5
cachesize 10000
rootdn cn=Manager,dc=muster,dc=de
rootpw secret
directory /var/lib/ldap
index objectClass eq
index o eq
index cn eq
index uid eq
loglevel 0
# TLSCertificateFile /etc/ssl/servercerts/servercert.pem
# TLSCertificateKeyFile /etc/ssl/servercerts/serverkey.pem
# TLSCACertificateFile /etc/ssl/certs/YaST-CA.pem
# TLSVerifyClient demand

ldap.conf
host 127.0.0.1
base dc=muster,dc=de
ldap_version 3
bindpw secret
rootbinddn cn=Manager,dc=muster,dc=de
scope base
timelimit 30
bind_timelimit 30
bind_policy soft
pam_lookup_policy yes
pam_password exop
nss_initgroups_ignoreusers root,ldap
nss_schema rfc2307bis
nss_map_attribute uniqueMember member
ssl no
tls_cacertfile /etc/ssl/certs/YaST-CA.pem
pam_filter objectClass=posixAccount
tls_checkpeer no
nss_base_passwd ou=people,dc=muster,dc=de
nss_base_shadow ou=people,dc=muster,dc=de
nss_base_group ou=group,dc=muster,dc=de

nsswitsch.conf:
passwd: compat
group: files ldap

hosts: files dns wins
networks: files dns

services: files ldap
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files ldap
publickey: files

bootparams: files
automount: files nis ldap
aliases: files ldap
passwd_compat: ldap

Zur Zeit kann ich mich local und über ssh auf den Server nicht anmelden:
log-File messages:
Aug 6 10:22:52 testserver sshd[9671]: Invalid user lothar from 192.168.1.4
Aug 6 10:22:58 testserver sshd[9673]: pam_ldap: error trying to bind as user "uid=lothar,ou=people,dc=muster,dc=de" (Invalid credentials)
Aug 6 10:22:58 testserver sshd[9671]: error: PAM: Authentication failure for illegal user lothar from 192.168.1.4
Aug 6 10:22:58 testserver sshd[9671]: Failed keyboard-interactive/pam for invalid user lothar from 192.168.1.4 port 58720 ssh2
Aug 6 10:24:00 testserver nslcd[8972]: caught signal SIGTERM (15), shutting down
Aug 6 10:24:00 testserver nslcd[8972]: version 0.6.4 bailing out
Aug 6 10:24:43 testserver sshd[9746]: Invalid user lothar from 192.168.1.4
Aug 6 10:24:48 testserver sshd[9748]: pam_ldap: error trying to bind as user "uid=lothar,ou=people,dc=muster,dc=de" (Invalid credentials)
Aug 6 10:24:48 testserver sshd[9746]: error: PAM: Authentication failure for illegal user lothar from 192.168.1.4
Aug 6 10:24:48 testserver sshd[9746]: Failed keyboard-interactive/pam for invalid user lothar from 192.168.1.4 port 58735 ssh2
Aug 6 10:26:24 testserver login[7199]: Benutzer bei zu Grunde liegendem Authentifizierungsmodul nicht bekannt

welche conf wird noch benötigt?

Mfg lotharschneider

hessijens
07.08.09, 09:50
nsswitsch.conf:
....
passwd_compat: ldap

und


ldap.conf
host 127.0.0.1
...

Geht mit Opensuse nicht. Der slapd läuft mit dem Benutzen "ldap", Gruppe "ldap", diese findet das System aber im Openldap, der noch nicht gestartet ist, und der, da er den Benutzen und Gruppe nicht findet, auch nicht startet. Du hast hier schon mal ein Henne Ei Problem.

lotharschneider
07.08.09, 18:14
sorry... das kann nicht ganz stimmen, denn der LDAP läuft sauber als user:ldap group ldap. User und Group befinden sich in den /etc/ passwd und /etc/group/.
Mein problem ist warum er die nortwendigen Bibloteken zur Anbindung an ldapdb nicht sauber findet. Er macht irgend eine Authentifikation, aber ich weis nicht welche bzw. über welchen Socket oder Datenstrom dieses realisiert wird.:confused:

mfg LS

hessijens
10.08.09, 10:02
Das Problem ist keine fehlende Bibliothek sondern eine fehlende Konfiguration. Du hast das Paket "cyrus-sasl-ldapdb" (und auch "cyrus-sasl-sql") installiert aber keine Konfiguration dafür in imapd.conf (/etc/sasl2/slapd.conf, /etc/sasl2/smtpd.conf). Daher kommt die Wahrnung. Wenn Du cyrus-sasl-ldapdb benutzen möchtest solltest Du es auch so konfigurieren.

Die Konfiguration läuft zur Zeit wohl über cyrus-saslauthd, der übrgens die Passwörter auch mit der ldap Datenbank abgleichen kann, sofern konfiguriert. Das ist aber ein anderer Weg, der wie du siehst auch zum Ziel führt.

Die Wahnung bezüglich /etc/opiekeys kannst Du abestellen indem Du entweder "cyrus-sasl-otp" deinstallierst oder die Datei /etc/opiekeyes für den Benutzer Cyrus (und ldap) lesbar machst. Je nachdem ob Du Einmalpasswörter benutzen möchtest oder nicht.

lotharschneider
10.08.09, 17:02
Danke für den Hinweis. Um alle Dienste die gleiche Auth. anzubieten müsste ich die /etc/sasl2/smtpd.conf bzw. slapd.conf für die Anbiendung an die ldapdb einrichten. Oder ?

Mfg LS

hessijens
11.08.09, 14:10
Es geht hier nur um die SASL Authorisierung. Diese wird unter SuSE (ab 10.2?) in folgenden Dateien vorgenommen:

/etc/sasl2/smtpd.conf für postfix
/etc/sasl2/slapd.conf für Openldap
/etc/imapd.conf für cyrus-imapd
......

In /etc/cyrus.conf werden noch andere Dinge konfiguriert und den SASL Parameter wird ein sasl_ vorangestellt (pwcheck_method ---> sasl_pwcheck_method).

Zunächst musst Du die Authorisierungsmethode "pwcheck_method" auswählen. Hier stehen Dir zur Verfügung:

pwcheck --> Prüfe gegen die /etc/sasldb2 (auch schon als auxprop_plugin: sasldb2 geshen)
saslauthd --> Nutze den saslauth Deamon
auxprop --> Nutze einen externen Mechanismus wie ldapdb oder sqldb

Bisher benutzt Du den saslauth Deamon, was es sein nochmal gesagt nicht verkehrt ist. (Kursives anpassen)


pwcheck_method: saslauthd
mech_list: plain login digest-md5 cram-md5 external gssapi
.....


Wenn Du nun unbedingt ldapdb verwenden möchtest musst Du foldendens ändern [Quick and dirty].


pwcheck_method: auxprop
auxprop_plugin: ldapdb
mech_list: plain login digest-md5 cram-md5 external gssapi
und noch Die Konfiguration für den Ldap Zugriff siehe "man imapd.conf"
.....


Beachte dass SASL einen Benutze autorisiert. Um diesen Benutzer an LDAP zu binden must Du noch eine Verbidung zwischen SASL und LDAP Benutzer in der /etc/openldap/slapd.conf schaffen. Zum Beispiel würde folgende Anweisung in der slapd.conf den DIGEST-MD5 SASL Benutzer X als
ldap User "uid=x,ou=users,dc=domain,dc=org" mappen.


....
saslRegexp uid=([^,]*),cn=DIGEST-MD5,cn=auth uid=$1,ou=users,dc=domain,dc=org
....

Soweit meine Hinweise.

lotharschneider
13.08.09, 13:14
Vielen Dank für die Hinweise. :)
Ich versuche jetzt die Konfiguration mit den saslauthd. Die Anbindung an ldapdb habe ich rausgeschmissen.

Mfg lotharschneider