AD- Connector Zertifikatsfehler

german

#1

Guten Tag,

[quote]Fri Mar 19 13:45:35 2010
— connect failed, failure was: —

Traceback (most recent call last):
File “/usr/lib/python2.4/site-packages/univention/connector/ad/main.py”, line 216, in main
connect()
File “/usr/lib/python2.4/site-packages/univention/connector/ad/main.py”, line 142, in connect
ad_ldap_bindpw, baseConfig[‘connector/ad/ldap/certificate’], baseConfig[‘connector/ad/listener/dir’])
File “/usr/lib/python2.4/site-packages/univention/connector/ad/init.py”, line 565, in init
self.lo_ad=univention.uldap.access(host=ad_ldap_host, port=int(ad_ldap_port), base=ad_ldap_base, binddn=ad_ldap_binddn, bindpw=ad_ldap_bindpw, start_tls=
2, ca_certfile=ad_ldap_certificate, decode_ignorelist=[‘objectSid’, ‘objectGUID’, ‘repsFrom’, ‘replUpToDateVector’, ‘ipsecData’, ‘logonHours’, ‘userCertifica
te’, ‘dNSProperty’, ‘dnsRecord’, ‘member’])
File “/usr/lib/python2.4/site-packages/univention/uldap.py”, line 115, in init
self.__smart_open()
File “/usr/lib/python2.4/site-packages/univention/uldap.py”, line 137, in __smart_open
self.lo=ldap.ldapobject.SmartLDAPObject(uri=“ldap://”+str(self.host)+":"+str(self.port), start_tls=self.start_tls, tls_cacertfile=self.ca_certfile)
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 861, in init
self.start_tls_s()
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 762, in start_tls_s
res = SimpleLDAPObject.start_tls_s(self)
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 505, in start_tls_s
return self._ldap_call(self._l.start_tls_s)
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 94, in _ldap_call
result = func(*args,**kwargs)
CONNECT_ERROR: {‘info’: ‘Error in the certificate.’, ‘desc’: ‘Connect error’}´[/quote]

Verwende einen Windows 2003 Server… Zertifikate wurden in beide Richtungen kopiert, univention-adsearch funktioniert prima…

Woran liegts??

danke!


#2

Hallo,

welche UCS Version wird eingesetzt und mit welcher Architektur ist der Server installiert(amd64|i386)? Welche Zertifikatsdatei wurde genau kopiert?

Mit freundlichen Grüssen
Tobias Scherer


#3

UCS Server:

[quote]root@ucstom:~# uname -a
Linux ucstom 2.6.18-ucs105-686 #1 SMP Fri Feb 6 21:01:18 UTC 2009 i686 GNU/Linux[/quote]

Windows Server 2003 SP1 32 Bit wird als AD- Gegenstelle benutzt.

Am Windows Server 2003 wurde die Zertifikatsstelle installiert und das Zertifikat im DER Format .cer exportiert und im UCS hochgeladen…


#4

Gibts keine Lösungsvorschläge :-(?


#5

Hallo,

welche UCS Version wird aktuell eingesetzt?

ucr search ^version

Wurde das Rechnerzertifikat aus "/etc/univention/ssl/" auf den AD Server exportiert?

Wurde das Rechnerzertifikat vom Windowshost korrekt auf den UCS Server exportiert und die UCR-Variable “connector/ad/ldap/certificate” korrekt gesetzt? Hier muss der vollständige Pfad zur vom AD Server exportierten Zertifikatsdatei enthalten sein.

Mit welchem Benutzer wird die Synchronisation durchgeführt?

In welche Richtung wird Synchronisiert?

ucr get  connector/ad/mapping/syncmode

Ggf. hilft es die Schritte des Zertifikatsexports nocheinmal wie in diesem Dokument beschrieben durchzuführen.

Mit freundlichen Grüssen
Tobias Scherer


#6

Hallo,

[quote]root@ucstom:~# ucr search ^version
version/patchlevel: 3
version/releasename: copper beech
version/security-patchlevel: 0
version/version: 2.2[/quote]

Habe nun nochmals alles von Anfanfg an gemacht:

1.) Am Windows 2003 angemeldet und über die Zert.-Stelle das Zertifikat exportiert (cert.cer hab ichs genannt).

2.) cert.cer am ucs kopiert und Befehl ausgeführt:

openssl x509 -inform der -outform pem -in cert.cer -out wincert.pem

3.) Dan in die Registry gesetzt:

univention-config-registry set connector/ad/ldap/certificate=/root/wincert.pem

root@ucstom:~# ucr get connector/ad/mapping/syncmode read

Und wird als Benutzer root durchgeführt…

Selber fehler :frowning:

Lg


#7

Hallo,

mit welchem Benutzer wird zur Synchronisation auf dem AD angemeldet?

ucr get connector/ad/ldap/binddn

Wie sind die Berechtigungen auf das Zertifikat?
Wenn Sie das Zertifikat wie folgt ablegen und den AD Connector neustarten, verbessert sich das Verhalten?

cp /root/wincert.pem /etc/univention/connector/
chmod +r /etc/univention/connector/wincert.pem
ucr set connector/ad/ldap/certificate=/etc/univention/connector/wincert.pem

Mit freundlichen Grüssen
Tobias Scherer


#8

root@ucstom:~# ucr get connector/ad/ldap/binddn
cn=Administrator,cn=users,DC=scalixlab,DC=local

Und immer noch gleicher fehler…

lg


#9

Hallo,

können Sie folgende Schritte bitte nocheinmal wiederholen.

Das Zertifikat vom Active Dirctory System auf das UCS System kopieren:

Zertifizierungsstelle -> AD-Domäne -> Eigenschaften -> Zertifikat anzeigen -> Details -> In Datei kopieren -> DER-codiert-binaer X.509F

Über das UMC Modul zur Active Directory Connector Einrichtung mit

Active Directory-Zertifikat hochladen -> Durchsuchen -> Datei Auswählen -> Hochladen -> Speichern

das Zertifikat auf das UCS System laden.

Dann überprüfen Sie bitte den Speicherort, die Berechtigungen der Zertifikatsdatei sowie die korrekte Angabe des Speicherorts in der UCR-Variable “connector/ad/ldap/certificate” .

Mit freundlichen Grüssen
Tobias Scherer


#10

Hallo,

ich hatte heute das selbe Problem.

Die Fehlermeldung ist genau die gleiche, und ich habe lediglich ein Update durchgefuehrt.

Vorher installiert war: 2.2-4-4

Update ist: 2.2-5

Natuerlich hab ich an den Zertifikaten nichts geaendert.

Anschliessend bin ich auf einen Snapshot vor dem Update gewechselt, dann funktioniert der AD-Connector wieder einwandfrei.


#11

Hallo nochmal,

ich habe rausgefunden woran es liegt:

Es wurde unter anderem die Datei

geupdated.

Mit der Version von 2.2-4 funktioniert der AD-Connector, mit 2.2-5 nicht.

Es wird jetzt scheinbar versucht mit TLS auf den LDAP zuzugreifen.

[quote]136c136,138
< self.lo=ldap.ldapobject.SmartLDAPObject(uri=“LDAP://”+str(self.host)+":"+str(self.port), who=self.binddn, cred=self.__encode_pwd(self.bindpw), start_tls=self.start_tls, tls_cacertfile=self.ca_certfile)

          ldap.set_option( ldap.OPT_X_TLS_CACERTFILE, self.ca_certfile )
          self.lo=ldap.ldapobject.SmartLDAPObject(uri="ldap://"+str(self.host)+":"+str(self.port), start_tls=self.start_tls, tls_cacertfile=self.ca_certfile)
          self.lo.simple_bind_s(self.binddn, self.__encode_pwd(self.bindpw))

142c144
< self.lo=ldap.initialize(“LDAP://”+str(self.host)+":"+str(self.port))

          self.lo=ldap.initialize("ldap://"+str(self.host)+":"+str(self.port))[/quote]

Allerdings wuesste ich nicht warum das nicht gehen sollte.
Muss dazu auf AD-Seite erst etwas aktiviert werden ?
Der Zugriff per SSL auf Port 636 funktioniert jedoch.


#12

Hallo,

zur Verbesserung dieses Verhaltens wurde ein Update für UCS 2.3-1 herausgegeben. Zu UCS 2.3-2 wurde dieses Verhalten direkt verbessert. Weitere Informationen dazu sind in diesem SDB Artikel und diesem Eintrag in unserem Bug Tracking System zu finden.

Mit freundlichen Grüssen
Tobias Scherer