Bug 20026 - OpenLDAP Ports konfigurierbar machen
OpenLDAP Ports konfigurierbar machen
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: LDAP
UCS 2.4
Other Linux
: P5 enhancement (vote)
: UCS 3.0 - MS1
Assigned To: Stefan Gohmann
Arvid Requate
:
Depends on:
Blocks: 22579 23094 23095 23220 23541 23711 24043
  Show dependency treegraph
 
Reported: 2010-09-16 11:21 CEST by Arvid Requate
Modified: 2011-12-13 15:49 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
tar-Ball mit angepassten Dateien files.txt listet die Dateien mit Paketname auf. (20.48 KB, application/x-gtar)
2010-09-16 11:24 CEST, Arvid Requate
Details
Vorschlag für univention.uldap.access Anpassung. (696 bytes, patch)
2011-08-04 10:03 CEST, Arvid Requate
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2010-09-16 11:21:22 CEST
Für Samba4 wird es notwendig sein, OpenLDAP auf einem anderen Port zu starten und die UCS-Komponenten auf diesen Port zu konfigurieren.
Comment 1 Arvid Requate univentionstaff 2010-09-16 11:24:54 CEST
Created attachment 2698 [details]
tar-Ball mit angepassten Dateien files.txt listet die Dateien mit Paketname auf.

Mit diesen Anpassungen funktionierte die Anmeldung an UDM und UMC, d.h. auch nss und pam. Eine neue UCR-Variable 'ldap/server/port' ist notwendig, analog zu der existierenden Variable 'ldap/port'.
Comment 2 Arvid Requate univentionstaff 2010-09-16 17:52:36 CEST
Dazu kommen zumindest 7 weitere Pakete:

univention-policy/lib/ldap.c
base/univention-firewall/conffiles/etc/security/netfilter.d/20ldap
base/pam-univentionmailcyrus/pam_univentionmailcyrus.c
base/univention-server/debian/univention-managed-client.postinst
base/univention-server/debian/univention-mobile-client.postinst
desktop/univention-kde/univention-set-kdedirs
kolab2/univention-mail-cyrus-kolab2/debian/univention-mail-cyrus-kolab2.postinst
kolab2/univention-kolab2-webclient/conffiles/etc/horde/horde3/conf.d/20-kolab_ucs.php

Zusätzlich sollten noch die Pakete nach ldap/server/name durchsucht werden
um zu sehen, wo überall ldap/server/port verwendet oder gesetzt werden müsste.
Comment 4 Stefan Gohmann univentionstaff 2011-01-03 15:11:16 CET
univention-bind
r21681
r21688

univention-dhcp
r21683

univention-directory-listener
r21685
r21689

univention-directory-manager-modules
r21686
r21690

univention-directory-policy
r21687

univention-management-console
r21691

univention-pam
r21692

univention-updater
r21693

univention-ldap
r21694

ldap/port gibt an auf welchem Port der lokale slapd gestartet wird

ldap/server/port gibt an auf welchem Port der lokale Rechner den LDAP Server erreichen kann

ldap/master/port gibt an auf welchem Port der lokale Rechner den LDAP Master erreichen kann
Comment 5 Stefan Gohmann univentionstaff 2011-01-04 07:12:20 CET
univention-python
r21696
r21710
Comment 6 Stefan Gohmann univentionstaff 2011-01-06 22:12:50 CET
univention-join
r21776
Comment 7 Stefan Gohmann univentionstaff 2011-01-12 06:45:27 CET
dhcpd3
(58_ldap_port.patch)
r8797 (patches)
Comment 8 Stefan Gohmann univentionstaff 2011-01-12 09:39:38 CET
Weitere Probleme:
- Nagios Anmeldung erfolgt mit dem Administrator-Passwort aus Samba4

- Einige Nagios Tests schlagen fehl:
UNIVENTION_JOINSTATUS: 
 auth failed: ldapsearch -x -h s4master.deadlock.local -D <ldap_hostdn> 
UNIVENTION_KPASSWDD:
 0 processes with command name 'kpasswdd' 	
UNIVENTION_LDAP
 Could not search/find objectclasses in dc=deadlock,dc=local 

- UMC Anmeldung ist nicht erfolgreich
Comment 9 Stefan Gohmann univentionstaff 2011-01-12 15:57:29 CET
(In reply to comment #8)
> Weitere Probleme:
> - Nagios Anmeldung erfolgt mit dem Administrator-Passwort aus Samba4
> 
> - Einige Nagios Tests schlagen fehl:
> UNIVENTION_JOINSTATUS: 
>  auth failed: ldapsearch -x -h s4master.deadlock.local -D <ldap_hostdn> 
> UNIVENTION_KPASSWDD:
>  0 processes with command name 'kpasswdd'     
> UNIVENTION_LDAP
>  Could not search/find objectclasses in dc=deadlock,dc=local 

joinstatus ist angepasst, kpasswdd und ldap check sind zunächst deaktiviert
r21879
Comment 10 Stefan Gohmann univentionstaff 2011-01-13 12:03:02 CET
Änderungen für Samba4 sind soweit durch. Für 2.4-2 sehen wir die Anpassungen aber erstmal nicht vor.
Comment 11 Stefan Gohmann univentionstaff 2011-05-20 06:04:03 CEST
Der OpenLDAP Server lauscht dann per Default in UCS auf Port 7389 (ldap) und 7636 (ldaps). Das sollte einheitlich gemacht werden, also auch wenn kein Samba 4 installiert ist.

Das wird allerdings vermutlich zu Verwirrungen führen. Vielleicht gibt es eine einfache Möglichkeit, dass einfach der Port von 389 auf 77389 und 636 auf 7636 weitergeleitet wird, beispielsweise er iptables Port Redirection. Und zwar immer dann, wenn dort kein Samba 4 installiert ist, aber OpenLDAP.

Zusätzlich sollte der Listener erkennen, falls er fälschlicherweise von einem Samba 4 LDAP repliziert. Diese Änderung sollten wir auch für UCS 2.4 veröffentlichen.
Comment 12 Arvid Requate univentionstaff 2011-05-23 11:25:21 CEST
Ggf. kann man stat iptables einfach den slapd per init-Skript zusätzlich auf den original Ports aktivieren. Im samba4-Scope wird zur Zeit folgende Zeile verwendet um die Ports umzukonfigurieren:

 -h "ldap://0.0.0.0:$PORT/ ldapi:/// ldaps://0.0.0.0:$PORT_LDAPS/"
Comment 13 Stefan Gohmann univentionstaff 2011-05-25 13:56:08 CEST
Wir haben im Moment (UCS 2.4 + S4 Scope) diese Variablen:

ldap/master: Name des LDAP Master
ldap/master/port: Port des LDAP Master
ldap/port: Auf diesem Port lauscht der lokale LDAP Server
ldap/port/ldaps: Auf diesem Port lauscht der lokale LDAP Server (ldaps)
ldap/server/name: Der Name des LDAP Servers, welcher verwendet wird
ldap/server/port: Der Port des LDAP Servers, welcher verwendet wird
ldap/server/additional: Eine Liste von LDAP Servern, die zusätzlich eingebunden werden soll

Die Mischung von ldap/port und ldap/server/port finde ich schwierig, gerade weil wir ldap/port früher als Client Konfiguration hatten, hier ist das aber als Server Konfiguration gedacht.
Wünschenswert wären LDAP-URIs für alles zu verwenden, allerdings ist dafür das Update Szenario nicht ganz trivial.


Vorschlag für 3.0:

ldap/master: LDAP Master Adresse / Hostname
ldap/master/port: Port des LDAP Master

slapd/port: Port des slapd (das muss eine Liste sein können)
slapd/port/ldaps: Port des lokalen LDAP für ldaps (das muss eine Liste sein können)

ldap/server/name: Name des primären LDAP Servers
ldap/server/port: Port der LDAP Server (ldap/server/name und ldap/server/additional)
ldap/server/additional: Weitere LDAP Server


Zusätzlich sollten wir ldap/debug/level nach slapd/debug/level umbenennen.
Comment 14 Stefan Gohmann univentionstaff 2011-06-07 08:55:01 CEST
(In reply to comment #13)
> 
> ldap/master: LDAP Master Adresse / Hostname
> ldap/master/port: Port des LDAP Master
> 
> slapd/port: Port des slapd (das muss eine Liste sein können)
> slapd/port/ldaps: Port des lokalen LDAP für ldaps (das muss eine Liste sein
> können)
> 
> ldap/server/name: Name des primären LDAP Servers
> ldap/server/port: Port der LDAP Server (ldap/server/name und
> ldap/server/additional)
> ldap/server/additional: Weitere LDAP Server

Das ist soweit umgesetzt. Tests stehen noch aus.
 
> 
> Zusätzlich sollten wir ldap/debug/level nach slapd/debug/level umbenennen.

Das ist nicht gemacht worden.
Comment 15 Arvid Requate univentionstaff 2011-07-20 16:43:49 CEST
Es gibt noch ldap/backup , ggf. braucht man dann auch ldap/backup/port ?

Ggf. sollte der ldap_server listener auf ucs_3.0-0 Systemen dann zusätzlich zu ldap/master (bzw. ldap/backup) auch ldap/master/port=7389 setzen um sicher zu gehen, dass der OpenLDAP-Server erreichbar bleibt, selbst wenn samba4 auf Master (oder Backup) installiert wird.
Comment 16 Arvid Requate univentionstaff 2011-07-20 16:57:17 CEST
In univention.uldap.getMachineConnection wurde noch ldap/port verwendet. Ich habe das jetzt erstmal so angepasst, dass dort für Verbindungen zu ldap/server/name bzw. ldap/server/additional die Variable ldap/server/port verwendet wird. Für Verbindungen zu ldap/master wird dort statt dessen ldap/master/port verwendet.

In getAdminConnection wird jetzt ldap/master/port verwendet. Gleiches gilt jetzt vorerst für getBackupConnection.

univention-python (6.0.8-1)
Comment 17 Arvid Requate univentionstaff 2011-07-20 17:28:58 CEST
Ergänzung zu Comment 15: Ggf. sollte ldap/master/port auch in /usr/sbin/univention-join gesetzt werden.
Comment 18 Arvid Requate univentionstaff 2011-07-26 15:10:13 CEST
* Typos aus svn diff -r24696:24697 dev/branches/ucs-3.0/ucs/management/univention-ldap/debian/univention-ldap-server.postinst wurden gefixed

* für Backup, Slave, Memberserver, Mobile Client und Managed Client wird jetzt in unviention-join zusätzlich zu ldap/master auch ldap/master/port?7389 gesetzt.

* für Master wird in univention-ldap-server.postinst ebenfalls ldap/master/port?7389 gesetzt (workaround da univention-join auf Master nicht ausgefürt wird).

* in univention-installer/scripts/28_postconfigure_config_registry.sh wird jetzt für Master zusätzlich zu ldap/master auch ldap/master/port=7389 gesetzt und zusätzlich zu ldap/server/name und ldapServer/ip auch ldap/server/port=7389.
  Für andere Systeme wird zusätzlich zu ldap/master/ip ebenfalls ldap/master/port=7389 gesetzt.
Comment 19 Arvid Requate univentionstaff 2011-08-04 10:03:18 CEST
Created attachment 3420 [details]
Vorschlag für univention.uldap.access Anpassung.

Der Patch verbessert die automatisch gewählten Defaults für den LDAP Port, insbesondere für SSL: Falls nicht explizit ein port (oder eine uri) angegeben ist, setzt die Anpassung als standard port 7389 (statt bisher 389), falls 'ldap/server/port' leer ist. Falls use_ldaps=true übergeben wurde, und der standard port unverändert ist, nimmt univention.uldap.access statt dessen den port 7636.
Comment 20 Stefan Gohmann univentionstaff 2011-08-09 11:55:23 CEST
Das ist soweit umgesetzt. Für neue Probleme am besten einzelne Bugs öffnen.

Changelog ist vorhanden. Am Release Notes Bug (Bug #22089) ist ein Hinweis, dass das entsprechend aufgenommen werden soll.

Für UCS 2.4-4 soll auch bereits OpenLDAP zusätzlich auf 7389 lauschen: Bug #23220.
Comment 21 Arvid Requate univentionstaff 2011-08-17 14:10:11 CEST
Verified. Funktioniert in MS1, Zusätzliche Anpassungen der Port-Defaults für Server-Prozesse (SRV-Record und netfilter) und Clients sind jetzt an Bug 23220 notiert. Releasenotes-Hinweis auf Portänderungen sind an Bug 22089 Comment 3 notiert.
Comment 22 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:49:59 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"