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

Re: pam_ldap debugging



Hallo Andreas,

On Fri, Jun 20, 2008 at 10:45 AM, Christian Schmidt
<Christian.Schmidt@chemie.uni-hamburg.de> wrote:
> Hallo Andreas,
>
> Andreas Tille, 20.06.2008 (d.m.y):
>
>> /etc/pam_ldap.conf:
>>   # OpenLDAP SSL mechanism
>>   # start_tls mechanism uses the normal LDAP port, LDAPS typically 636
>>   ssl start_tls
>>   ssl on

Noch als Hinweis:
Ist bei "uri" ein "ldaps://" angegeben und "ssl start_tls" gesetzt,
gibt es Probleme.
Es kann entweder nur "uri ldap://dein.ldap.server"; + "start_tls" oder
"uri ldaps://dein.ldap.server"  + "ssl on" in den Dateien /etc/pam_ldap.conf
oder /etc/libnss_ldap.conf verwendet werden, damit die Verbindung verschlüsselt
wird.

>>
>> Die letzten beiden Zeilen waren vorher auskommentiert - nun sehen sie wie
>> oben aus.  Das führt zu
>>
>>   pam_ldap: ldap_result Can't contact LDAP server
>>   pam_ldap: reconnecting to LDAP server...
>>   pam_ldap: ldap_result Can't contact LDAP server
>>
>> Ich habe noch mal weiter gespielt:
>>
>>   # OpenLDAP SSL options
>>   # Require and verify server certificate (yes/no)
>>   # Default is to use libldap's default behavior, which can be configured in
>>   # /etc/openldap/ldap.conf using the TLS_REQCERT setting.  The default for
>>   # OpenLDAP 2.0 and earlier is "no", for 2.1 and later is "yes".
>>   #tls_checkpeer yes
>>   tls_checkpeer no
>
> Schau mal in man ldap.conf nach "TLS_CACERT".

man ldap.conf gibt in der Regel die manpage der Konfigurationsdatei der ldap
library aus (/etc/openldap/ldap.conf). Diese versteht aber nicht das
"tls_checkpeer no" sondern "TLS_REQCERT [ [ hard | demand ] | allow | try ]",
wobei bei einem nicht vorhandenen CA-Zertifikat und Verschlüsselung der
Verbindung "try" verwendet werden muss (nicht empfehlenswert aber zum Testen
ok).

Wenn ich mich richtig entsinne kann eine falsche ldap.conf auch zu Problemen
trotz richtiger pam_ldap.conf führen.
Daher könntest du, solange du das CA-Zertifikat, mit dem das
Zertifikat des LDAP-
Servers signiert wurde, noch nicht auf dem Client installiert hast, zum Testen
Folgendes in die Konfigurationsdateien schreiben:

- /etc/pam_ldap.conf:
uri ldap://dein.ldap.server
tls_checkpeer no
ssl start_tls

- /etc/openldap/ldap.conf
uri ldaps://dein.ldap.server
TLS_REQCERT try

(bei der ldap.conf startet die Library AFAIK TLS, wenn bei uri
ldaps://... steht)

So solltest du keine Probleme wegen des nicht vertrauenswürdigen Zertifikates
des LDAP-Servers mehr haben.

wenn du das Zertifikat dann installiert hast, fehlt noch die entsprechenden
Einträge in den Config-Dateien,
die da wären:
- /etc/pam_ldap.conf
uri ldap://dein.ldap.server
tls_checkpeer yes #(ist glaub ich auch default)
tls_cacertfile dein-ca-zertifikat
ssl start_tls

- /etc/openldap/ldap.conf
TLS_CACERT dein-ca-zertifikat
TLS_REQCERT demand
uri ldaps://dein.server

Viel Erfolg und viele Grüße,

Christoph


Reply to: