Jump to content

LDAP Probleme


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Bei so denke ich einen LDAP abfrage mit SSL funktioniert die Autentifizierung:

"

53 = ldap_set_option(ld, LDAP_OPT_ENCRYPT, 1)

res = ldap_bind_s(ld, NULL, &NtAuthIdentity, NEGOTIATE (1158)); // v.3

{NtAuthIdentity: User='test'; Pwd=<unavailable>; domain = 'geheim'}

Authenticated as: 'geheim\test'.

"

Aber bei einer Abfrage mit TLS nicht:

"

ldap_start_tls_s(ld, &retValue, result, SvrCtrls, ClntCtrls)

Error <0x35>:ldap_start_tls_s() failed: Ausführung verweigert

Server Returned: 0x0: Erfolg

Server error: <empty>

"

 

Was muss ich da extra beachten?:confused:

Link zu diesem Kommentar

Halli Hallo,

 

im Artikel den Nils genannt hat ist es irgendwo im Kleingedurckten versteckt, ich wollte es aber nochmal klarstellen, weil es des öfteren zur Verwirrungen führt:

 

Active Directory Domänencontroller / AD LDS Server unterstützen z.Zt. das StartTLS Kommando NICHT. Das sieht man u.a. daran, wenn man über LDAP die Eigenschaften supportedCapabilities und die supportedControls im rootDSE-Eintrag ausliest. Für StartTLS müßte hier die OID 1.3.6.1.4.1.1466.20037 vorhanden sein.

 

Was geht, ist LDAP over SSL, d.h. du kannst zwar nicht innerhalb einer LDAP-Session auf TLS wechseln, aber Du läßt von vornherein die gesamte LDAP Session innerhalb eines SSL-Tunnels ablaufen, indem Du Dich mit Port 636 auf dem Domänencontroller verbindest, das geht aber nur wenn dort ein Zertifikat installiert ist (aber dies ist ja im Artikel den Nils genannt hat ausführlich beschrieben).

 

Btw.: Wenn du das hier machst

53 = ldap_set_option(ld, LDAP_OPT_ENCRYPT, 1)

res = ldap_bind_s(ld, NULL, &NtAuthIdentity, NEGOTIATE (1158)); // v.3

 

dann hat das nix mit SSL zu tun, sondern du benutzt den Signing and Sealing Channel Encryption Mechanismus der Negotiate Auth Kerberos Authentication, die ein Domänencontroller unterstützt, d.h. nicht nur User/PAsswort wird verschlüsselt, sondern auch die Daten (das ist aber Microsoft SSPI und nicht SSL...), Hinweise darauf findest Du hier

 

http://www.joekaplan.net/SearchView.aspx?q=digest#afcdf0808-8196-4eb7-b171-8b54a5790687

 

da geht es zwar um Digest Auth, aber es wird auch was zur Channel Encryption erklärt.

 

Fazit: Probiers mal über den 636 Port, oder benutz einfach Negotiate Auth, das verschlüsselt auch.

 

Gruß,

Philipp

Link zu diesem Kommentar

Hallo

 

Danke für die Schnellen Antworten

 

Mir würde LDAP mit ssl ja reichen und da ich die Abfrage hier (siehe unten) über den Port 636 gestellt habe und auch die schritte die im Link von NilsK alle schon durchgeführt habe wäre das eine LDAP over SSL abfrage. Wie kann ich das nun Prüfen? Oder liege ich komplett falsch?

 

Bei so denke ich einen LDAP abfrage mit SSL funktioniert die Autentifizierung:

"

53 = ldap_set_option(ld, LDAP_OPT_ENCRYPT, 1)

res = ldap_bind_s(ld, NULL, &NtAuthIdentity, NEGOTIATE (1158)); // v.3

{NtAuthIdentity: User='test'; Pwd=<unavailable>; domain = 'geheim'}

Authenticated as: 'geheim\test'.

"

 

 

Oder is das die richtige abfrage?

"

ld = ldap_sslinit("dc1", 636, 1);

Error 0 = ldap_set_option(hLdap, LDAP_OPT_PROTOCOL_VERSION, 3);

Error 0 = ldap_connect(hLdap, NULL);

Error 0 = ldap_get_option(hLdap,LDAP_OPT_SSL,(void*)&lv);

Host supports SSL, SSL cipher strength = 128 bits

Established connection to dc1.

Retrieving base DSA information...

Getting 1 entries:

Dn: (RootDSE)

configurationNamingContext: CN=Configuration,DC=streng,DC=geheim,DC=de;

currentTime: 23.04.2010 10:59:49 Mitteleuropäische Somm;

defaultNamingContext: DC=streng,DC=geheimt,DC=de;

dnsHostName: dc1.streng.geheim.de;

domainControllerFunctionality: 4 = ( WIN2008R2 );

domainFunctionality: 3 = ( WIN2008 );

dsServiceName: CN=NTDS Settings,CN=dc1,CN=Servers,CN=strasse,CN=Sites,CN=Configuration,DC=streng,DC=geheim,DC=de;

forestFunctionality: 3 = ( WIN2008 );

highestCommittedUSN: 127158;

isGlobalCatalogReady: TRUE;

isSynchronized: TRUE;

ldapServiceName: streng.geheim.de:dc1$@STRENG.GEHEIM.DE;

namingContexts (5): DC=streng,DC=geheim,DC=de; CN=Configuration,DC=streng,DC=geheim,DC=de; CN=Schema,CN=Configuration,DC=streng,DC=geheim,DC=de; DC=ForestDnsZones,DC=streng,DC=geheim,DC=de; DC=DomainDnsZones,DC=streng,DC=geheim,DC=de;

rootDomainNamingContext: DC=streng,DC=geheim,DC=de;

schemaNamingContext: CN=Schema,CN=Configuration,DC=streng,DC=geheim,DC=de;

serverName: CN=dc1,CN=Servers,CN=strasse,CN=Sites,CN=Configuration,DC=streng,DC=geheim,DC=de;

subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,DC=streng,DC=geheim,DC=de;

supportedCapabilities (5): 1.2.840.113556.1.4.800 = ( ACTIVE_DIRECTORY );

.............

"

Link zu diesem Kommentar

Hmmm, es gibt auf dem Server kein einfaches Protokoll-Log a la "LDAP Session wurde erfolgreich über SSL aufgebaut"... Um wirklich sicher zu gehen, dass man auf dem Netz LDAP-verschlüsselt unterwegs ist, fällt mir mal auf die Schnelle nur der hier ein:

 

http://www.wireshark.org/

 

Unverschlüsseltes LDAP ist nämlich im Paket Sniffer sehr leicht zu identifizieren, ein Beispiel für einen Wireshark-LDAP-Sniff unverschlüsselt hast du z.B. hier:

 

http://www.selfadsi.de/ldap.htm#Frame

 

Wenn Du bei dir keine lesbaren Kommandos / DNs / Attributwerte siehst wenn Dein Script läuft, dann kannst Du beruhigt sein ;)

 

Gruß,

Philipp

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...