ubuntuusers.de

Baustelle/Samba_OpenLDAP_PDC

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Punisher

Avatar von Punisher

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 75

Wohnort: Regensburg

Hallo,

ich habe einen neuen Artikel in der Baustelle angefangen:

Baustelle/Samba OpenLDAP PDC

Ziel ist es einen Primären Domain Controller für Windows, Apple und Linux Clients zu erstellen. Ich will jedoch erstmal zu der Grundinstallation (OpenLDAP mit LDAPS und Samba) eure Meinung und/oder Vorschläge bekommen. Mit der SSL Geschichte bin ich mir noch nicht sicher ob das nicht einfacher oder allgemein besser lösbar ist.

Der nächste Schritt wäre nun die Kerberos Installation, welche ich anschließend angehen will.

Der Artikel entspricht sicherlich noch nicht allen Wiki-Konventionen ich bitte im ersten Schritt darüber hinwegzusehen. Und ja der Samba Server PDC und der OpenLDAP Artikel sind mir bekannt ☺

Danke für Eure Mithilfe

Philipp_B Team-Icon

Supporter
Avatar von Philipp_B

Anmeldungsdatum:
22. Juli 2005

Beiträge: 8556

Wohnort: Meckesheim

Kannst du hier auch mitreden ? Oder geht es um das selbe Thema ?

http://forum.ubuntuusers.de/topic/baustelle-domaene-mit-windows-und-linux-aufse/

Punisher

(Themenstarter)
Avatar von Punisher

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 75

Wohnort: Regensburg

Also ich denke schon das es um das selbe Thema geht. Bin mir aber nicht sicher ob nicht eher nur die Verbindung der Clients mit einem bereits vorhandenen (Windows ?) Server beschrieben werden soll. Finde den Titel und die Beschreibung an manchen stellen etwas verwirrend.

Client Anbindung kommt bei mir auch noch, ist aber leider noch nicht fertig.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

ohne ein bisschen erklärenden Text dazwischen ist das eher schwer, den Artikel zu kontrollieren...

Sag' einfach nochmal Bescheid, wenn du komplett fertig ist.

Und der Artikel braucht auf jeden Fall den "Fortgeschritten"-Tag.

Gruß, noisefloor

Punisher

(Themenstarter)
Avatar von Punisher

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 75

Wohnort: Regensburg

Hi,

hab den "Fortgeschritten"-Tag eingefügt und habe angefangen ein paar mehr erklärende Worte zu schreiben (am meisten bis jetzt am Ende) fehlt aber noch ein etwas.

Außerdem ist der Kerberos- und LDAPS-Teil nun angefügt und das einbinden eines Linux-Clients beschrieben.

Würde mich weiterhin über Tips und Infos zur Umsetzung freuen. Tester sind auch willkommen.

Cheers

Punisher

af0815

Anmeldungsdatum:
13. Februar 2010

Beiträge: 19

Wohnort: A-Niederösterreich

Ich melde mich als Tester ☺

Folgende Änderung im Bereich Datenbank anlegen. Der aktuelle OpenLDAP (slapd 2.4.28-0ubuntu1) ist sehr restriktiv und hat bei mir folgende Änderung erzwungen (Auszug)

###########################################################
# DEFAULTS MODIFICATION
###########################################################
# Some of the defaults need to be modified in order to allow
# remote access to the LDAP config. Otherwise only root
# will have administrative access.

dn: cn=config
changetype: modify
delete: olcAuthzRegexp

dn: olcDatabase={-1}frontend,cn=config
changetype: modify
delete: olcAccess

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {CRYPT}PASS_CRYPT
-
delete: olcAccess
-

af0815

Anmeldungsdatum:
13. Februar 2010

Beiträge: 19

Wohnort: A-Niederösterreich

Kapitel Installation:

Wenn der Server nicht komplett neu aufgesetzt ist, so werden die Informationen nicht mehr abgefragt. Auch ein

#aptitude purge slapd

hilft hier nicht weiter, auch ein

#dkpkg-reconifure slapd

ist nicht mehr sinnvoll möglich (siehe OpenLDAP). Es können nur die Informationen mittls ldap-tools geändert bzw. richtiggestellt werden. Ich nehme an es hängt mit den Einstellungen unter

\etc\apt\apt.con.d\70debconf zusammen (Eintrag: DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt || true";};

zusammen (NICHT VERIFIZIERT).

af0815

Anmeldungsdatum:
13. Februar 2010

Beiträge: 19

Wohnort: A-Niederösterreich

Kapitel OpenLDAP:

Die slapd lässt sich nicht mehr starten. Mit Hilfe der Kommandozeile

# slapd -h 'ldap:/// ldapi:///' -g openldap -u openldap -F /etc/ldap/slapd.d/ -d 16383

main: TLS init def ctx failed: -207
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.

# bekommt man eine Fehlermeldung - es gibt Probleme mit TLS Gibt man jetzt folgendes ein

ldd $(which slapd)
        linux-gate.so.1 =>  (0xb762f000)
        libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0xb75de000)
        liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0xb75cf000)
        libdb-4.7.so => /usr/lib/libdb-4.7.so (0xb7466000)
        libodbc.so.1 => /usr/lib/libodbc.so.1 (0xb73fd000)
        libslp.so.1 => /usr/lib/libslp.so.1 (0xb73ed000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb73d3000)
        libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0xb732b000)
        libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb72f9000)
        libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb72e4000)
        libltdl.so.7 => /usr/lib/libltdl.so.7 (0xb72da000)
        libwrap.so.0 => /lib/libwrap.so.0 (0xb72d1000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb72b8000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7173000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb715b000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7157000)
        libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb7145000)
        libz.so.1 => /lib/libz.so.1 (0xb712f000)
        libgcrypt.so.11 => /lib/libgcrypt.so.11 (0xb70b3000)
        /lib/ld-linux.so.2 (0xb7630000)
        libgpg-error.so.0 => /lib/libgpg-error.so.0 (0xb70ad000)

so sieht man welche Module slapd verwendet. Hier http://www.openldap.org/lists/openldap-software/200901/msg00136.html bekommt man einen Hinweis. slapd ist mit gnutls gebaut und nicht mit OpenSSL. Daher rühren scheinbar die Probleme warum slapd nicht richtig startet. In http://wiki.debian.org/LDAP/OpenLDAPSetup wird auch ein Weg aufgezeigt wie man es bereinigen könnte - Leider bis jetzt nicht erfolgreich.

Übrigends kann offensichtlich derselbe Fehler auftreten wenn die Certifikate nicht von slapd gelesen werden können - spich kontroliert auch, ob die Dateirechte stimmen.

Edit: Eine neue Spur bezüglich Certifikate - GnuTLS howto http://ubuntuforums.org/showthread.php?t=1241136 und http://libvirt.org/remote.html - bin am Überprüfen ob das hilft.

Der Grund für die Änderung von OpenSSL auf GnuTLS dürfte hier zu finden sein

GnuTLS (http://www.gnu.org/software/gnutls/) is an LGPL-licensed implementation of Transport Layer Security. Using GnuTLS avoids the licensing issues that can arise from employing the more common OpenSSL package. For this reason, certain packages in Ubuntu have disabled support for OpenSSL in favor of GnuTLS.

af0815

Anmeldungsdatum:
13. Februar 2010

Beiträge: 19

Wohnort: A-Niederösterreich

Übrigends ist der OpenLDAP SSL Teil aktuell zwei mal in der HowTo (gleicher Text) drinnen.

Punisher

(Themenstarter)
Avatar von Punisher

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 75

Wohnort: Regensburg

Hi af0815 danke für deine Mithilfe !

Ok zuerst zu den einfachen Dingen: Die doppelte SSL Anleitung ist entfernt. ☺

Zum Bereich Bereich Datenbank anlegen: Durch deine Verwendung des "-" wird natürlich die nochmalige Definition des Speicherortes

dn: olcDatabase={0}config,cn=config changetype: modify

überflüssig. Andere oder Zusätzliche Werte hast du ja nicht gesetzt. Deswegen lasse ich das erstmal so. (Ist vielleicht auch übersichtlicher so) Wie hast du die Datenbank eingespielt mit Hilfe der Datei wie im HowTo oder direkt mit ldapmodify auf der Kommandozeile ? Ich lasse mich aber gerne überzeugen das zu ändern.

Zu deinem Punkt mit der Installation: Hm, ich muss bei meiner Anleitung leider mal davon ausgehen, dass es sich um eine frische Installation handelt. Bereits bestehende Installationen zu berücksichten würde die Anleitung noch komplexer machen. Ich hab den Hinweis dazu aus der OpenLDAP Anleitung auch eingefügt.

Zu dem GnuTLS: Befindet sich dein server.key File wirklich unter /etc/ssl/server.key ? Die Apparmor Änderungen wurden auch gemacht ? Ich frage nur weil die Meldungen genau so aussehen als ich diese Punkte nicht hatte. Wegen Datei Rechten darf die Datei nicht unter /etc/ssl/private liegen (dort dürfen nur files liegen die nur root lesen darf). Ich hab das mal noch in einem Satz in die Anleitung geschrieben.

Das ganze lässt sich vielleicht auch schöner lösen. Vorschläge sind willkommen !

Außerdem würde mich interessieren welche Version von Ubuntu du verwendest und ob 32-Bit oder 64-bit. Bei mir läuft das unter 9.10 mit 64-Bit.

Übrigens bin ich mit der SSL Konfiguration weitgehend folgenden Anleitungen gefolgt:

https://help.ubuntu.com/9.10/serverguide/C/openldap-server.html (ca. in da Mitte "TLS und SSL")

https://help.ubuntu.com/9.10/serverguide/C/certificates-and-security.html (für die Zertifikate)

Nochmals vielen Dank für die Mithilfe !

greez

Punisher

af0815

Anmeldungsdatum:
13. Februar 2010

Beiträge: 19

Wohnort: A-Niederösterreich

Punisher schrieb:

Hi af0815 danke für deine Mithilfe !

Gerne ☺

Zum Bereich Bereich Datenbank anlegen: Durch deine Verwendung des "-" wird natürlich die nochmalige Definition des Speicherortes

dn: olcDatabase={0}config,cn=config changetype: modify

überflüssig. Andere oder Zusätzliche Werte hast du ja nicht gesetzt. Deswegen lasse ich das erstmal so. (Ist vielleicht auch übersichtlicher so) Wie hast du die Datenbank eingespielt mit Hilfe der Datei wie im HowTo oder direkt mit ldapmodify auf der Kommandozeile ? Ich lasse mich aber gerne überzeugen das zu ändern.

Mit den Kommandozeilentools (ldapmodify) exakt wie im HowTo. Erweiterung: Ich habe die funktionierend Schritte in ein Bash Script verpackt. Es ist mir erst gelungen den LDAP das Script zu verkaufen nachdem ich meine Änderungen zwingend eingebracht habe ohne die Änderung wurden die Scripts nicht fehlerfrei bearbeitet.

Zu deinem Punkt mit der Installation: Hm, ich muss bei meiner Anleitung leider mal davon ausgehen, dass es sich um eine frische Installation handelt. Bereits bestehende Installationen zu berücksichten würde die Anleitung noch komplexer machen.

Es ist keine bestehende sondern ein frisches System, wo bei ich nur die Teile (slapd,..) wieder mittels aptitude purge entferne (und die LDAP-DB) um wieder am Anfang der Anleitung beginnen zu können.

Ich hab den Hinweis dazu aus der OpenLDAP Anleitung auch eingefügt.

Zu dem GnuTLS: Befindet sich dein server.key File wirklich unter /etc/ssl/server.key ? Die Apparmor Änderungen wurden auch gemacht ? Ich frage nur weil die Meldungen genau so aussehen als ich diese Punkte nicht hatte. Wegen Datei Rechten darf die Datei nicht unter /etc/ssl/private liegen (dort dürfen nur files liegen die nur root lesen darf). Ich hab das mal noch in einem Satz in die Anleitung geschrieben.

Ich werde es nochmals gegenchecken, ich gehe Schritt für Schritt (stur) nach dem HowTo vor.

Das ganze lässt sich vielleicht auch schöner lösen. Vorschläge sind willkommen !

Außerdem würde mich interessieren welche Version von Ubuntu du verwendest und ob 32-Bit oder 64-bit. Bei mir läuft das unter 9.10 mit 64-Bit.

32 Bit 9.10 Installiert vor 2 Wochen mit allen updates (seither) Version: Server ohne weitere Auswahl bei Tasksel (Manuelle installtion)

Übrigens bin ich mit der SSL Konfiguration weitgehend folgenden Anleitungen gefolgt:

https://help.ubuntu.com/9.10/serverguide/C/openldap-server.html (ca. in da Mitte "TLS und SSL")

https://help.ubuntu.com/9.10/serverguide/C/certificates-and-security.html (für die Zertifikate)

Das Problem, die meisten Anleitungen basieren noch auf OpenSSL. Man sollte mit GnuTLS arbeiten, wenn es schon als State of the Art genommen werden muß - oder wie das Samba Teanm es vorzeigt, den OpenLdap aus den Quellen selbst mit den richtigen Optionen bauen ☺

Eine Anleitung für GnuTLS http://ubuntuforums.org/showthread.php?t=1241136

Meine nächsten Schritte - Nochmals virtuelle Maschinen aufsetzen für 9.10 und 10.4 (beta) und das ganze nochmals von vorne (dann aber mit Rollbackmöglichkeit).

lG. af

af0815

Anmeldungsdatum:
13. Februar 2010

Beiträge: 19

Wohnort: A-Niederösterreich

Aktion: Neues System Ubuntu 9.10/32 Server erstellt, keine Softwarepakete installiert, upgrade durchgeführt. *) makepasswd fehlt am System → in Installationliste bitte aufnehmen

Aktion: Neues System Ubuntu 10.4(Beta LTS)/32 Server erstellt, keine Softwarepakete installiert, upgrade durchgeführt. *) makepasswd fehlt am System → in Installationliste bitte aufnehmen

Spielt es dir (Punisher) Rolle eine Rolle wenn ich es gleich für 9.10 und 10.4 teste ?

*) Vorschlag: die diversen *.ldif zum Downloaden machen ☺ und ev. von einem dezitierten Verzeichnis weginstallieren bsp. ~/install

Punisher

(Themenstarter)
Avatar von Punisher

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 75

Wohnort: Regensburg

Hi,

ne find ich gut mit beiden Systemen zu testen.

Datenbank einspielen erfolgt in der Anleitung mit "ldapadd" mit einer LDIF-Datei nicht mit "ldapmodify" und der LDAP-Konsole.

"makepasswd" ist nicht bei der Grundinstallation dabei. Es ist eigentlich auch nicht für die Installation erforderlich, es wird nur für das erzeugen eines Passworts mit dem dazugehörigen crypt verwendet. Das geht ja auch anders, wenn auch nicht so einfach ☺ Ich hab das Tool auch nicht auf dem Server Installiert sondern auf meiner Arbeitsstation. Ich bin mir nicht ganz sicher wie bei solchen Sachen die normale Vorgehensweise im Wiki ist.

Die meisten LDIF-Datein hab ich bei mir sowieso neben den zugehörigen Schemas in '/etc/ldap/schema/' gespeichert. So hab ich das auch geschrieben. Das könnte man ggf. noch auf die anderen LDIF-Dateien wie für die DB auch machen.

Die LDIF-Dateien zum Download bereitzustellen finde ich eine gute Idee, das werde ich bei Gelegenheit umsetzen.

greez

Punisher

af0815

Anmeldungsdatum:
13. Februar 2010

Beiträge: 19

Wohnort: A-Niederösterreich

Hallo Punisher,

ich bin jetzt in der VM (9.10 !) stur nach Schema vorgegangen. Es spießt sich bei mir beim Admin.ldif. PASS_CLEAR wird nicht als Passwort aktzeptiert.

In der DB.ldif ist der Eintrag olcRootPW: zweimal vorhanden - Einmal mit dem Eintrag 1234 und einmal mit {CRYPT}PASS_CRYPT. Somit ist das LDAP-Passwort ja 1234. Ich glaube nicht das das so sein soll, sollte da nicht auch PASS_CLEAR oder {CRYPT}PASS_CRYPT stehen?

Ich habe übrigends um es verfolgbar zu machen (für die Versuche in der VirtualBox), das Passwort folgend aufbereitet:

#echo PASS_CLEAR >>secret.txt
#makepasswd --clearfrom=secret.txt --crypt --randomseed=1 >>secret.txt

Damit steht das Passwort im File und auch der passende Crypt dazu, ausserdem wird keine wirkliche Zufallszahl verwendet und es ist für die Tests nachvollziehbar.

Es hat diesmal auch OHNE die von mir oben geposteten Änderungen an der db.ldif funktioniert. Keine Ahnung warum damals nicht, wie gesagt diesmal wirklich auf einem 100% frischen System. Vielleicht ein Hinweis falls das System nicht wirklich komplett frisch ist (slpad gepurgt, ausgeputzt und frisch begonnen damals).

Momentan ist bei mir hier Schluß:

root@widc2:# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=samba,cn=schema,cn=config"
ldap_add: Insufficient access (50)

Hast du vielleicht einen Hint ☺

Punisher

(Themenstarter)
Avatar von Punisher

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 75

Wohnort: Regensburg

Hi,

ja du hast recht da muss auch noch PASS_CLEAR hin. War noch ein Copy & Past Fehler stammt ursprünglich von hier: http://ubuntuforums.org/showthread.php?t=1313472

Ich habs in der Anleitung verbessert.

Falls es dann nicht geht, versuch es mal mit:

ldapadd -x -D cn=admin,cn=config -W -f /etc/ldap/schema/samba.ldif

Beachte, das es 2 Admin User gibt "cn=admin,cn=config" und "cn=admin,dc=company,dc=local" diese sind nicht identisch und haben auch unterschiedliche Rechte. Der erste ist nur für LDAP Settings usw. Admin der 2. für die LDAP-Struktur.

Greez

Punisher

Antworten |