Externe Webdienste mit LDAP

Hallo an alle

ich hoffe ich bin hier richtig
um vielleicht mein Problem ein bisschen näher zu erklären.
Ich hab mir auf einem PC Proxmox als virtualisierungs Maschine installiert, da hab ich Univention Version 4.4.5 installiert (DHCP/DNS und Active Directory)
Ich hatte vorher ein Ubuntu Server am laufen der mit DNSmasq den DHCP und DNS Server gestellt hatte. Dann hab ich noch 4 weitere Virtuelle Ubuntu Server Maschinen 19.10, eine VM für PHPBB3 Forum, eine VM für Rocket Chat Server, eine VM für DokuWiki und eine für Murmu Server.

Ich muss noch ein zu meiner Person sagen, das ich kein IT Experte bin und alles halt Googeln muss und wenn ich dann nicht mehr weiter komme versuch ich es im Forum.
Es war jetzt die ganze Zeit so gewesen das meine Kumpels und Kollegen die bei mir meine Dienste genutzt haben für alles ein Benutzerkonto anlegen mussten und über alles mit Passwort merken usw.

Jetzt hatte ich nach Googeln heraus gefunden das es die Möglichkeit gibt über LDAP bei allen 4 Servern sie mit der Active Directory zu verbinden (Insofern das stimmt), so bin ich auch auf Univention gekommen, da es hier eine Active Directory gibt die kostenlos ausprobieren kann und nicht für viel Geld von Microsoft kauen muss und ohne hin laufen Linux Systeme besser als Microsoft Systeme, hab bei mir daheim auch nur noch Ubuntu am laufen

Ich hab viele Anleitungen im Internet gefunden aber egal nach welcher man geht, klappen tut es nicht.

Leider kann ich nicht alle Konfigurationsbilder rein machen (Darf nur 5 Bilder hochladen)

Ich hab einfache Authentisierungskonten angelegt
Univention

https://wiki.univention.de/index.php/File:Phpbb-web-setup-18.png

PHP config

Nach dieser Anleitung hat es auch nicht geklappt


Rocket Chat config 1

Rocket Chat config 2

Rocket Chat error 2

Ich hoffe ihr könnt mir helfen

Vielen dank im voraus
Timm

Damit hatten wir uns auch versucht. Das funktioniert nicht. Du brauchst für diese Dinge um den LDAP Baum lesen zu dürfen mind. normale Benutzerrechte. Haben den User halt so konfiguriert das er sich nirgends einloggen darf, sprich keine Shell und nicht Mitglied der Gruppe “Domain Users”.

Weiters ist es noch wichtig dass, das CA deiner Univentiondomäne auf jeden Host installiert ist und diese Applicationen die du anbindest dieses auch sehen. Wichtig ist in diesem Schritt nicht die IP des UCS Servers zu verwenden sondern wirklich den FQDN. Dann sollte alles klappen.

Sprich ein ping auf deinen Master/Slave/Backup was auch immer funktioniert von deinen Servern die du anbinden möchtest? Das Port das du für die Verbindung verwendest ist offen?

z.B.
nmap -p 7636 master.webtest.intranet

Hallo boosby

ich hab da ein paar fragen? wo bekomme ich das CA von Univention her?
ich muss auch bei FQDN nochmal nach fragen das ist doch Servername und Domainname?
in meinem Fall Servername = AD-Server und Domainname = Heimnetzwerk.Local
und dir FQDN ist dann AD-Server.Heimnetzwerk.Local

nmap ergab

sysadmin@DokuWiki:~$ nmap -p 7389 AD-Server.Heimnetzwerk.Local
Starting Nmap 7.80 ( https://nmap.org ) at 2020-08-02 22:51 CEST
Nmap scan report for AD-Server.Heimnetzwerk.Local (192.168.0.200)
Host is up (0.00030s latency).
rDNS record for 192.168.0.200: AD-Server.Heimnetzwerk.local

PORT STATE SERVICE
7389/tcp open unknown

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

sysadmin@DokuWiki:~$ nmap -p 7636 AD-Server.Heimnetzwerk.Local
Starting Nmap 7.80 ( https://nmap.org ) at 2020-08-02 22:56 CEST
Nmap scan report for AD-Server.Heimnetzwerk.Local (192.168.0.200)
Host is up (0.00043s latency).
rDNS record for 192.168.0.200: AD-Server.Heimnetzwerk.local

PORT STATE SERVICE
7636/tcp open unknown

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

Das mit dem FQDN hast du richtig erkannt. Kannst du auch aufrufen mit z.B.
hostname -f
Das Zertifikat kannst du im Webinterface von UCS downloaden. Im rechen seitlichem Menü, wo auch Herunterfahren steht. Dort gibt es das Wurzelzertifikat. Das benötigst du. Jeden Client den du direkt über Kerberos angebunden hast. Z.B. Windows oder Ubuntu, bekommen das Zertifikat beim Join automatisch mit. Leider muss bei Windows es trotzdem nochmal in die richtigen Zertifikatsordner spielen damit es in den Webbrowsern auch als vertrauenswürdig angezeigt wird.

Nmap zeigt das diese Port offen ist, also alles gut.

Hallo boobsy

ich muss dir sagen das mit dem LDAP ist eine verdammt komplexe Sache wenn man keine Ahnung davon hat (so wie ich)

Das Zertifikat hab ich gefunden (Ein Erfolg)
Bei dem Forum PHPBB3 hab ich es zu gar geschafft mich zu verbinden (Juhu)
Beim DokuWiki nur mit Teilerfolg
die guten Meldungen
LDAP user to find: sysadmin [auth.php:186]
LDAP Server: ldap://192.168.0.200:7389 [auth.php:189]
LDAP Filter: (&(uid=sysadmin)(objectClass=posixAccount)) [auth.php:200]
LDAP user search: Success [auth.php:202]
LDAP search at: cn=users,dc=Heimnetzwerk,dc=Local (&(uid=sysadmin)(objectClass=posixAccount)) [auth.php:203]
Die schlechten Meldungen
LDAP search returned non-array result: 1 [auth.php:211]
Benutzername oder Passwort sind falsch.

Was noch dazu kommt ist das ich auch mit Kerberos nie gearbeitet habe.
Ich hab noch nie einen Rechner einer Domäne beitreten lassen.
Unter Windows ist das wohl einfach wenn man sich die Videos bei Youtube Videos anschaut

Ist es zwingend notwendig der Domäne bei zutreten für das Vorhaben?

Freundliche Grüße

Ich hab auch ein Dokuwiki und es vor kurzen erst mit meinem UCS verbunden. Ich habe es nicht um die Burg geschafft es mit LDAP zu verbinden. Aber mit dem mitgelieferten AD Connector gings sofort. Sofern DNSauflösung Zertifikat im System sind hats getan. Dokuwiki ist im Debuging leider auch nicht sehr gesprächig.

Und nein dein Dokuwiki muss der Domäne nicht beitreten, ausser du möchtest Kerberos für Auth mit Ticket statt Passwort verwenden. Wo ich aber auch nach sehr vielen Stunden zwecks mangelnder Doku und wohl auch Verständnis meiner Seite gescheitert bin. Bin aber schon sehr froh das die AD Auth so gut funktioniert.

Ohjeh ich seh das ist alles nicht so einfach.

Den AD Connector gibt es dann bei den Plugins?
Nun ja nach installieren kann ich es leider nicht mehr, außer ich installieren das ganze dokuwiki neu.

Selbst wenn ich ich local.php mit der vorher local.php.bak überschreibe und die local.protected.php mit der local.protected.php.bak überschreibe, kann ich mich zwar wieder anmelden aber ich komme nicht mehr in die Konfigurationsseite rein

das mit dem Kerberos muss nicht sein, das mit dem Passwort für alle Webseiten sollte reichen

Also wenn du den AD Connector deinstalliert hast (habe ich auch gemacht weil dachte brauch ich ja nicht), hilft nur mehr ein Backup zurück spielen. Da würde auch einfach ne Kopie des Dokuwikiordners genügen, da es alles nur Text ist. Hast du da in der Richtig nichts, sehe ich leider kein Licht. Aber da können dir vielleicht die Jungs und Mädls vom Dokuwiki Forum weiter helfen.

Hi!!

auch noch so spät wach?? :slight_smile:

das mit dem dokuwiki hab ich gelöst mit google
acl.auth.php
local.php
users.auth.php
gelöscht und die install.php nochmal ausgeführt
Speicherdaten sind noch da

aber de AD connector hab ich nicht gefunden
ich hab nur ein Active Directory Plugin gefunden das schon vorinstalliert war
hab es aus gefüllt und bin wieder am gleichen Punkt das ich draußen steh und keiner lässt mich mehr rein :frowning:

Bis es funktionierte habe ich es einige male müssen testen. Dazu einfach mal das Dokuwiki Verzeichnis wegsichern:

cd /ort/wo/mein/wiki/ist
cp -a dokuwiki dokuwiki-backup

Änderungen machen, wenns nicht geht backup retour:

rm -rf dokwiki
cp -a dokuwiki-backup dokwiki

Nächster Versuch. Du kannst die Änderung der Auth auch direk in den PHP-Files ändern, kann dir das jetzt aber auf die schnelle nicht sagen was das für ein File war. Sicherung dauert ja nur Sekunden.

Bei mir sind folgende Einstellungen gesetzt:

Dein Account-Suffix @domain.bla
Dein Base-DN. Z.B. cn=users,dc=domain,dc=bla
plugin»authad»admin_username z.B. wikireader
Passwort des User nicht vergessen zu sezten.
plugin»authad»real_primarygroup ein Hakerl
plugin»authad»use_tls ein Hakerl
plugin»authad»debug gut um event. Fehler zu sehen.
plugin»authad»expirywarn 20

Vielleicht hilft dir das schon ein wenig.

glg

Ähm… ja. Special Kunde.

Ja da hast du recht
beim PHPBB Forum hab ich auch jetzt echt lange gesessen und dann auch nur per Zufall hat es geklappt

das wird beim DokuWiki nicht anders sein

das mit dem löschen von den 3 Dateien
acl.auth.php
local.php
users.auth.php
scheint sich bewehrt zu haben, die legen sich immer wieder selbst neu an wenn ich die install.php ausführe und es geht such nichts verloren :slight_smile:

ich hab das deine Config auf meine über tragen aber leider ohne Erfolg

Dein Account-Suffix @Heimnetzwerk.Local
Dein Base-DN. Z.B. cn=users,dc=Heimnetzwerk,dc=Local
plugin»authad»admin_username = Sysadmin
Passwort des User nicht vergessen zu sezten. <- hab ich eingegeben
plugin»authad»real_primarygroup ein Hakerl <- hab ich gemacht
plugin»authad»use_tls ein Hakerl <- hab ich gemacht
plugin»authad»debug gut um event. Fehler zu sehen. <- hab ich gemacht
plugin»authad»expirywarn 20 <- hab ich gemacht

mal eine Frage
ich hab das Wurzel CA das ich von meiner Univention runtergeladen habe in den conf Ordner von DokuWiki, nur irgendwie hab ich das Gefühl das es da falsch liegt

Ja Abends ist die beste Zeit um am PC zu sitzen, da sind die Kinder im Bett :slight_smile:

1 Like

Ja, das CA muss unter
/usr/local/share/ca-certificates
abgelegt werden. Dann das Zertifikat systemweit installieren.
update-ca-certificates
Sofern es ein Ubuntu/Debian ist.

Okay dann war das was ich gemacht hab total falsch

Okay ich hab das Zertifikat jetzt in /usr/local/share/ca-certificates verschoben
und mit update-ca-certificates aktiviert
dann Dokuwiki nochmal neu ausgefüllt
jetzt sagt er mir
AD Auth: Bind to Active Directory failed. Check the login credentials and/or server details. AD said: Can’t contact LDAP server
irgendwie mag ich das wenn es nicht auf an hieb geht, man hat eine Herausforderung

Jupiiiiiiiii
ich hab das mit dem Dokuwiki hin bekommen

$conf[‘title’] = ‘Wiki für Freunde’;
$conf[‘lang’] = ‘de’;
$conf[‘license’] = ‘cc-by-sa’;
$conf[‘useacl’] = 1;
$conf[‘autopasswd’] = 0;
$conf[‘authtype’] = ‘authad’;
$conf[‘superuser’] = ‘@Sysadmin’;
$conf[‘disableactions’] = ‘register’;
$conf[‘plugin’][‘authad’][‘domain_controllers’] = ‘AD-Server’;
// $conf[‘plugin’][‘authad’][‘ad_port’] = 7389; <- Hatte nichts gebracht
$conf[‘plugin’][‘authad’][‘account_suffix’] = ‘@Heimnetzwerk.Local’;
$conf[‘plugin’][‘authad’][‘base_dn’] = ‘CN=users,DC=Heimnetzwerk,DC=Local’;
$conf[‘plugin’][‘authad’][‘admin_username’] = ‘Sysadmin’;
$conf[‘plugin’][‘authad’][‘admin_password’] = ‘da steh das Passwort verschlüsselt drin=’;
$conf[‘plugin’][‘authad’][‘real_primarygroup’] = 1;
$conf[‘plugin’][‘authad’][‘use_tls’] = 1;
$conf[‘plugin’][‘authad’][‘debug’] = 0;
$conf[‘plugin’][‘authad’][‘expirywarn’] = 0;

aber eine Sache gibt es jetzt noch

der Admin Button fehlt
kann meine Templates nicht aktivieren