PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ldap + Tls = :(



LamePL
28.10.06, 00:08
Hallo,
ich habe zwar bereits einen Thread geöffnet(http://www.linuxforen.de/forums/showthread.php?t=224832), aber dieser wurde irgendwie zu unübersichtlich bzw. konfus. Also habe ich jetzt hier nochmal nen neuen geöffnet.

Distri: Debian "Etch"
LDAP: openLDAP

Problem: Ich habe vor, mein openLDAP zu verschlüsseln. Habe schon viel versucht, bin aber noch nicht zum Erfolg gekommen. Viele Fragen haben sich aufgetan:

1) Wie ist das mit der Verschlüsselung? Kann ich TLS und SSL benutzen oder nur eines von beiden oder hängt beides irgendwie zusammen? Ich glaube ich habe das Konzept von SSL bisher nicht 100% durchschaut. Vielleicht kennt sich ja jemand aus und kann es mir erklären.

2) Wie erstelle ich Zertifikate, die LDAP unterstützt (mir scheint, dass sebstsignierte nicht dazu gehören) und welche müssen auf welchem Host wo eingetragen werden? Meine Testumgebungen sind ein PC Server, der andere Client (auf der Arbeit) oder beides auf einem PC (Heimnetzwerk). Ich habe wie gesagt schon viel probiert, aber bis auf Fehler (nicht angenommene Zertifikate, keine Verbindung zum LDAP-Server, etc.) nichts erreicht. Mich verwirrt auch die Art der Zertifikatserstellung, da ich anhand der Dateinamen nicht zuordnen kann welche Zertifikate nun für den Client sind und welche für den LDAP-Server. Mir wäre es lieb wenn es mir jemand einmal vernünftig erklären könnte. Quasi wie ein Kochrezept (nach Möglichkeit nicht zu oberflächlich), welches man dann alleine nachvollziehen kann.

3) Wie konfiguriere ich phpLDAPadmin für eine verschlüsselte Verbindung (nur die config.php oder auch andere Einträge???)

4) Ich habe etwas gelesen, dass besagt, daß der Zertifikatsname gleich dem Output von "hostname -f" sein soll. Ist das zwingend notwendig?? Falls ja, warum?

Falls jemand denken sollte ich hätte keine Ahnung von Linux und PCs weil ich das Problem nur oberflächlich beschreibe irrt er (ich studiere TI)! Ich habe bereits soviel ausprobiert, dass ich Stunden an diesem Thread schreiben könnte. Da ich mittlerweile durch das ganze "Rumprobiere" jedoch so verwirrt bin, dass ich nicht mehr weiß woran es jetzt noch liegen kann, hoffe ich auf jemanden, der hier etwas postet und mich in der Sache weiterbringt.

Ich danke jetzt schon einmal allen, die mich dabei unterstützen!

rainer11
06.11.06, 11:29
Hi,
da ich mich auch gerade mit dieser Thematik rumschlage und offenbar auch noch recht unwissend bin bekommen wir vielleicht etwas gemeinsam auf die Reihe?! Ich benutze zwar SuSe, aber das sollte, bis auf die Pfade, nicht stören.
Zu Deiner ersten Frage: TLS ist der Nachfolger von SSL wobei die Unterschiede gering sind (RFC 2246).
Zu 2.) Der TLS-Mechanismus besteht im Prinzip aus 3 Instanzen: Einer Zertifizierungsautorität (CA), einer Zertifizierungsanfrage (request) und dem fertigen Zertifikat (cert).
Folgendes Szenario: angenommen ,Du möchtest über einen sicheren Kanal einen Dienst bereitstellen so beantragst du bei einer CA - welcher vertraut wird- ein Zertifikat welches im Grunde nur bestätigt, das Du auch der bist, der Du behauptest zu sein. Dieses Zertifikat reichst Du nun an den Dienst anfragende Clients weiter. Folgende Dateien sind hierzu nötig (die Dateinamen sind Vorgaben des CA-scripts [debian: /usr/lib/ssl/misc] ): öffentlicher Schlüssel der CA: cacert.pem, geheimer Schlüssel der CA: cakey.pem. Dann wird Dein öffentlicher Schlüssel newreq.pem benötigt. Der enthält u. a. Deinen Domainnamen, Firmennamen usw. Diesen reicht du an die CA weiter die das Ding mit Ihrem cakey.pem verschlüsselt und damit zertifiziert. Zurück bekommst Du die Datei newcert.pem. Diese reicht Du mit der cacert.pem an die Clients weiter und hierbei spielt es keine Rolle, ob der Client die selbe Maschine ist oder nicht.
Die CA-Befehle zu erstellen der Schlüsselpaaare lauten:
CA.pl - newca >>erstellt cacert.pem und cakey.pem
CA.pl -newreq >>erstellt newreq.pem und newkey.pem
CA.pl -signreq >>erstellt das Zertifikat newcert.pem

Rainer