UCS 4.4 Release Notes

Release Notes für die Inbetriebnahme und Aktualisierung von Univention Corporate Server (UCS) 4.4-4


Inhaltsverzeichnis

1. Release-Highlights
2. Hinweise zum Update
2.1. Empfohlene Update-Reihenfolge
2.2. UCS-Installations-DVDs nur noch als 64-Bit-Variante
3. Vorbereitung des Updates
4. Nachbereitung des Updates
5. Hinweise zum Einsatz einzelner Pakete
5.1. Erfassung von Nutzungsstatistiken
5.2. Umfang des Sicherheits-Supports von WebKit, Konqueror und QtWebKit
5.3. Empfohlene Browser für den Zugriff auf Univention Management Console
6. Changelog
6.1. General
6.2. Basic system services
6.2.1. Other system services
6.3. Domain services
6.3.1. OpenLDAP
6.3.1.1. Listener/Notifier domain replication
6.4. Univention Management Console
6.4.1. Univention Management Console web interface
6.4.2. Univention Management Console server
6.4.3. Univention App Center
6.4.4. Univention Directory Manager UMC modules and command line interface
6.4.5. Modules for system settings / setup wizard
6.4.6. Domain join module
6.4.7. License module
6.4.8. System diagnostic module
6.4.9. Other modules
6.5. Univention base libraries
6.6. Software deployment
6.6.1. Software monitor
6.7. System services
6.7.1. SAML
6.7.2. Univention self service
6.7.3. Mail services
6.7.4. Postfix
6.7.5. Printing services
6.7.6. Apache
6.7.7. RADIUS
6.7.8. Kerberos
6.7.9. SSL
6.7.10. Celery services
6.7.11. DHCP server
6.7.12. PAM / Local group cache
6.8. Virtualization
6.8.1. UCS Virtual Machine Manager (UVMM)
6.8.2. Operate UCS as virtual machine
6.9. Services for Windows
6.9.1. Univention S4 Connector
6.9.2. Univention Active Directory Connection

§Kapitel 1. Release-Highlights

Mit Univention Corporate Server 4.4-4 steht das vierte Point-Release für Univention Corporate Server (UCS) 4.4 zur Verfügung. Es umfasst Funktionserweiterungen und Verbesserungen, neue Eigenschaften sowie diverse Detailverbesserungen und Fehlerkorrekturen. Die wichtigsten Änderungen im Überblick:

  • UCS kann jetzt protokollieren, wann die letzte Authentifikation am LDAP Server stattgefunden hat, beispielsweise wenn sich Nutzer am SAML Identity Provider angemeldet haben. Ein Anwendungsfall kann zum Beispiel das Erkennen nicht mehr genutzter Accounts sein.

  • Der AD Connector kann Kerberos Hashes aus AD synchronisieren und damit auf NTLM Hashes verzichten.

  • Der AD Connector unterstützt jetzt auch offiziell Windows Server 2019. Die Synchronisation von Änderungen an großen Gruppen wurde beschleunigt, in dem nur noch Änderungen (neue / entfernte Mitglieder) übertragen werden und nicht immer die vollständige Liste der aktuellen Gruppenmitglieder. Im Kontext der Gruppen-Synchronisation wurde auch ein Speicherleck beseitigt.

  • Im App Center wurde die Nutzerführung verbessert: Die Anzahl der Schritte bei der Installation von Apps wird jetzt angezeigt, die unterschiedlichen Meldungen erscheinen in einem klareren, einheitlichen Look-and-Feel und wurden teilweise zusammen gefasst.

  • Der SAML Login zu Portal und Apps hat mehr Konfigurationsoptionen, u.a. können die verschiedenen Links (Wie melde ich mich an, Login ohne SSO) individualisiert werden. Neu ist ein konfigurierbarer Link zur Passwort vergessen Funktion der Self Service-App.

  • Diverse Security Updates wurden in UCS 4.4-4 integriert, bspw. für Samba, den Linux Kernel und PHP. Eine vollständige Liste von Security- und Paketupdates ist in Kapitel 6 zu finden.

§Kapitel 2. Hinweise zum Update

Während der Aktualisierung kann es zu temporären Ausfällen von Diensten innerhalb der Domäne kommen. Aus diesem Grund sollte das Update innerhalb eines Wartungsfensters erfolgen. Grundsätzlich wird empfohlen, das Update zunächst in einer Testumgebung einzuspielen und zu testen. Die Testumgebung sollte dabei identisch zur Produktivumgebung sein. Je nach Systemgeschwindigkeit, Netzwerkanbindung und installierter Software kann das Update zwischen 20 Minuten und mehreren Stunden dauern.

§2.1. Empfohlene Update-Reihenfolge

In Umgebungen mit mehr als einem UCS-System muss die Update-Reihenfolge der UCS-Systeme beachtet werden:

Auf dem Domänencontroller Master wird die maßgebliche (authoritative) Version des LDAP-Verzeichnisdienstes vorgehalten, die an alle übrigen LDAP-Server der UCS-Domäne repliziert wird. Da bei Release-Updates Veränderungen an den LDAP-Schemata auftreten können, muss der Domänencontroller Master bei einem Release-Update immer als erstes System aktualisiert werden.

§2.2. UCS-Installations-DVDs nur noch als 64-Bit-Variante

UCS-Installations-DVDs werden ab UCS 4 nur noch für 64-Bit-Architekturen bereitgestellt. Vorhandene 32-Bit UCS 3 Systeme können weiterhin über das Online Repository oder über Update DVDs auf UCS 4 aktualisiert werden. Die 32-Bit-Architektur wird für die gesamte UCS 4 Maintenance noch unterstützt.

§Kapitel 3. Vorbereitung des Updates

Es sollte geprüft werden, ob ausreichend Festplattenplatz verfügbar ist. Eine Standard-Installation benötigt min. 10 GB Speicherplatz. Das Update benötigt je nach Umfang der vorhanden Installation ungefähr 4 GB zusätzlichen Speicherplatz zum Herunterladen und Installieren der Pakete.

Für das Update sollte eine Anmeldung auf der lokalen Konsole des Systems mit dem Benutzer root durchgeführt und das Update dort gestartet werden. Alternativ kann das Update über Univention Management Console durchgeführt werden.

Eine Remote-Aktualisierung über SSH wird nicht empfohlen, da dies beispielsweise bei Unterbrechung der Netzverbindung zum Abbruch des Update-Vorgangs und zu einer Beeinträchtigung des Systems führen kann. Sollte dennoch eine Aktualisierung über eine Netzverbindung durchgeführt werden, ist sicherzustellen, dass das Update bei Unterbrechung der Netzverbindung trotzdem weiterläuft. Hierfür können beispielsweise die Tools screen oder at eingesetzt werden, die auf allen UCS Systemrollen installiert sind.

Univention bietet ein Skript an, mit dem Probleme, die das Update des UCS Systems verhindern würden, schon vor dem Update erkannt werden können. Dieses Skript kann vor dem Update manuell auf das System geladen und ausgeführt werden:

# download
curl -OOs https://updates.software-univention.de/download/univention-update-checks/pre-update-checks-4.4{,.gpg}

# run script
gpgv --keyring /usr/share/keyrings/univention-archive-key-ucs-4x.gpg pre-update-checks-4.4.gpg \
        pre-update-checks-4.4 && bash pre-update-checks-4.4

...

Starting pre-update checks ...

Checking app_appliance ...                        OK
Checking block_update_of_NT_DC ...                OK
Checking cyrus_integration ...                    OK
Checking disk_space ...                           OK
Checking hold_packages ...                        OK
Checking ldap_connection ...                      OK
Checking ldap_schema ...                          OK
...

§Kapitel 4. Nachbereitung des Updates

Nach dem Update müssen die neuen oder aktualisierten Join-Skripte ausgeführt werden. Dies kann auf zwei Wegen erfolgen: Entweder über das UMC-Modul Domänenbeitritt oder durch Aufruf des Befehls univention-run-join-scripts als Benutzer root.

Anschließend muss das UCS-System neu gestartet werden.

§Kapitel 5. Hinweise zum Einsatz einzelner Pakete

§5.1. Erfassung von Nutzungsstatistiken

Bei Verwendung der UCS Core Edition werden anonyme Nutzungsstatistiken zur Verwendung von Univention Management Console erzeugt. Die aufgerufenen Module werden dabei von einer Instanz des Web-Traffic-Analyse-Tools Piwik protokolliert. Dies ermöglicht es Univention die Entwicklung von Univention Management Console besser auf das Kundeninteresse zuzuschneiden und Usability-Verbesserungen vorzunehmen.

Diese Protokollierung erfolgt nur bei Verwendung der UCS Core Edition. Der Lizenzstatus kann überprüft werden durch den Eintrag Lizenz -> Lizenzinformation des Benutzermenüs in der rechten, oberen Ecke von Univention Management Console. Steht hier unter Lizenztyp der Eintrag UCS Core Edition wird eine solche Edition verwendet. Bei Einsatz einer regulären UCS-Lizenz erfolgt keine Teilnahme an der Nutzungsstatistik.

Die Protokollierung kann unabhängig von der verwendeten Lizenz durch Setzen der Univention Configuration Registry-Variable umc/web/piwik auf false deaktiviert werden.

§5.2. Umfang des Sicherheits-Supports von WebKit, Konqueror und QtWebKit

WebKit, Konqueror und QtWebKit werden in UCS im maintained-Zweig des Repositorys mitgeliefert, aber nicht durch Sicherheits-Updates unterstützt. WebKit wird vor allem für die Darstellung von HTML-Hilfeseiten u.ä. verwendet. Als Web-Browser sollte Firefox eingesetzt werden.

§5.3. Empfohlene Browser für den Zugriff auf Univention Management Console

Univention Management Console verwendet für die Darstellung der Web-Oberfläche zahlreiche JavaScript- und CSS-Funktionen. Cookies müssen im Browser zugelassen sein. Die folgenden Browser werden empfohlen:

  • Chrome ab Version 71

  • Firefox ab Version 60

  • Safari und Safari Mobile ab Version 12

  • Microsoft Edge ab Version 18

Der Internet Explorer wird ab diesem Release nicht mehr von Univention Management Console unterstützt.

Mit älteren Browsern können Darstellungs- oder Performanceprobleme auftreten.

§Kapitel 6. Changelog

Die Changelogs mit den detaillierten Änderungsinformationen werden nur in Englisch gepflegt. Aufgeführt sind die Änderungen seit UCS 4.4-3:

§6.1. General

§6.2. Basic system services

§6.2.1. Other system services

  • Move Python binding of univention-licence into separate package univention-licence-python and add Python 3 support (Bug 50943).

§6.3. Domain services

§6.3.1. OpenLDAP

  • The LDAP overlay module k5pwd used the default Kerberos salt to check the password during simple-bind. We now use the correct salt, found in the k5key itself (Bug 50492).

§6.3.1.1. Listener/Notifier domain replication

  • The LDAP overlay slapo-lastbind can now be activated via the Univention Configuration Registry variable ldap/overlay/lastbind which when activated stores the timestamp of an successful bind to an LDAP server. The script /usr/share/univention-ldap/univention_lastbind.py can be used to store the youngest of these timestamps, from all reachable LDAP servers, into the extended attribute lastbind of a specified user (Bug 49700).

§6.4. Univention Management Console

§6.4.1. Univention Management Console web interface

  • Fixed a typo in the description of Univention Configuration Registry variable ucs/server/languages/ (Bug 47845).
  • When accessing http(s)://FQDN/univention/udm/schema/ or http(s)://FQDN/univention/udm/openapi.json authentication is now required by default. ucr set directory/manager/rest/require-auth=no can be used to disable this. After setting this Univention Configuration Registry variable the univention-directory-manager-rest service needs to be restarted (Bug 50732).

§6.4.2. Univention Management Console server

  • Univention Management Console modules are now installed under Python 2 and/or Python 3 depending on what they provide (Bug 50332).
  • The How do I login? link on the login page can now be configured via the Univention Configuration Registry variable umc/login/links/how_do_i_login/.* (Bug 50609).
  • SAML answers do not provide a usable password for UMC. Some UMC actions require specifically this password and so the UMC frontend asks for credentials before executing them. This fix stores the password across different UMC modules so that users need to enter their password only once per session (Bug 50670).

§6.4.3. Univention App Center

  • Fixed the logic to identify the main service container for multi-container apps (Bug 50969).
  • Minor fix that makes it easier to change the timeout between calls for the App Center listener converter (Bug 50967).
  • Fixed an issue where installation of apps on remote UCS systems would not work when using wildcard SSL certificates (Bug 50770).
  • Reinitializing an installed app led to an unnecessary image pull. This fix skips this pull to increase the reinitialization speed (Bug 50938).
  • Added support for app_id=version in the app parameter for the UMC app install functions (Bug 50931).
  • Added DockerInjectEnvFile parameter for env file support in docker compose apps (Bug 50898).
  • Installing certain Apps on a non-Master system did not work via UMC (Bug 50890).
  • Added PostgreSQL pg_hba configuration for docker compose networks (Bug 50858).
  • The error tracking for failed docker pull requests has been improved (Bug 50849).
  • The warning message indicating a potentially long installation time of container based apps has been removed (Bug 50814).
  • Errors in a cached response in the UMC module could lead to tracebacks. This has been fixed (Bug 50775).
  • During app installation there was a mix of pop-up dialogs and dedicated pages. These have been unified into an installation wizard (Bug 50771).
  • In some cases, an unsuccessful app installation was still acknowledged as successful. This fix ensures that the App Center receives a correct status code for those cases (Bug 49104).
  • Empty app settings are no longer set to None when using univention-app reinitialize (Bug 50718).
  • Warnings and errors during an app installation, removal or upgrade are now highlighted and grouped together (Bug 50667).
  • A Promise was evaluated as resolved too early due to an missing return which caused standby animations to end too early. This has been addressed (Bug 50649).
  • The startup performance of the UMC module has been improved. Listing all apps first shows the cached result of the previous query while a new query is being performed. When the new query is done the cache is updated and the result is shown in the browser (Bug 49675).
  • The App Center will now check the available disk space before installing an App (Bug 31796).
  • The command univention-app dev-test-setup has been added that installs components needed to run Selenium based app tests (Bug 50592).

§6.4.4. Univention Directory Manager UMC modules and command line interface

  • An internal syntax check allowed spaces in mail addresses. This fix ensures that spaces in mail addresses now get rejected (Bug 46599).
  • Prevent creating DHCP networks which break the DHCP service configuration (Bug 44135).
  • The listener module udm_extension has been migrated to dh_python. All existing UDM extensions are migrated during the package upgrade (Bug 50401).

§6.4.5. Modules for system settings / setup wizard

  • Fixed symbolic link creation for host certificate (Bug 49036).

§6.4.6. Domain join module

  • An issue in the joinscript 20univention-join.inst to create new host certificates has been fixed, which led to directories getting the wrong file permissions (Bug 49036).

§6.4.7. License module

  • In case of an error during license activation in an appliance, refer to an article in the support database (Bug 50951).
  • Activating an app appliance now also sends the Univention Configuration Registry variables uuid/system for analytical purposes (Bug 49555).

§6.4.8. System diagnostic module

  • Added another diagnosis plugin 60_old_schema_registration.py: It searches for a defined set of LDAP schema files and offers to register them properly if they were added to the system using an outdated installation mechanism (Bug 50889).
  • An UMC diagnostic check has been added, which checks if Univention Configuration Registry variable ldap/server/name points to the master domain controller on member servers (Bug 50191).
  • A module to check if the LDAP module memberOf is activated has been added (Bug 50599).

§6.4.9. Other modules

  • The package has been migrated to dh-python and Python 3 (Bug 50461).

§6.5. Univention base libraries

  • The LDAP overlay slapo-lastbind can now be activated via the Univention Configuration Registry variable ldap/overlay/lastbind which when activated stores the time-stamp of a successful bind to an LDAP server. The script /usr/share/univention-ldap/univention_lastbind.py can be used to store the youngest of these timestamps, from all reachable LDAP servers, into the extended attribute lastbind of a specified user (Bug 49700).
  • The init script for slapd now looks for running process only below parent PID 1 specifically. This allows running other slapd processes in containers (Bug 50616).
  • The script ldap-group-to-file used to run against the master domain controller by default. We randomize the LDAP server selection now to distribute the load (Bug 50191).

§6.6. Software deployment

  • The wording of the univention-updater help text has been corrected (Bug 47834).

§6.6.1. Software monitor

  • The package now uses dh_python2 instead of python-support (Bug 49173).

§6.7. System services

§6.7.1. SAML

  • An issue in a translation file caused a web link to not appear in case a password was expired or had to be reset (Bug 50884).
  • A new UDM attribute signLogouts for the UDM module saml/serviceprovider has been implemented. Its value determines whether to sign logout messages sent to this service provider. Its default value is True (Bug 49305).
  • Error messages in the SAML login dialog are now translated to German again (Bug 50619).
  • The Login without Single Sign On link on the login page can now be configured via the Univention Configuration Registry variable umc/login/links/login_without_sso/.* (Bug 50610).
  • A link to the password changing functionality has been implemented in the SAML login dialog, which is shown when the user has to change his password or the password expired. The link target can be set with the Univention Configuration Registry variable saml/idp/password-change-url (Bug 50594).

§6.7.2. Univention self service

  • The Forgot your password? link on the login page can now be configured via the Univention Configuration Registry variable umc/login/links/forgot_your_password/.* (Bug 50608).

§6.7.3. Mail services

  • The schema file and the ACL file for Fetchmail are now properly registered using the newer ucs_registerLDAPExtension. This prevents errors when a backup domain controller is promoted to be the new master domain controller (Bug 50607).

§6.7.4. Postfix

  • In a fresh installation of univention-postgrey the files /etc/postgrey/whitelist_clients.local and /etc/postgrey/whitelist_recipients.local are not included in the Postgrey configuration, even though the corresponding Univention Configuration Registry variable should force this. The creation of the .local files and the update of the Postgrey configuration has been rearranged to fix this problem (Bug 50647).

§6.7.5. Printing services

  • The package now uses dh_python2 instead of python-support (Bug 49174).

§6.7.6. Apache

  • The timeout in univention-add-vhost has been increased (Bug 50936).
  • Make the package univention-apache-vhost a dependency of univention-apache rather than a recommendation. This way it gets installed by default; some Apps rely on it (Bug 50901).

§6.7.7. RADIUS

  • Various RADIUS-related Univention Configuration Registry variables have received a description text (Bug 48709).
  • For the logfile /var/log/univention/radius_ntlm_auth.log an automatic logrotate functionality has been added to prevent over-sized logfiles on heavy duty RADIUS servers (Bug 50545).
  • The package now uses dh_python2 instead of python-support (Bug 49175).

§6.7.8. Kerberos

  • Improve error messages (Bug 38736).
  • Fix many memory leaks, memory corruption and segmentation faults (Bug 49383).
  • Add Python 3 support (Bug 50475).

§6.7.9. SSL

  • An issue in the Univention Directory Listener module gencertificate.py to create new host certificates has been fixed, which led to directories getting the wrong file permissions (Bug 49036).

§6.7.10. Celery services

  • Unused Python code has been removed (Bug 49170).

§6.7.11. DHCP server

  • The new Univention Configuration Registry variable dhcpd/ldap/debug has been added for debugging the configuration from LDAP. If activated, it creates a log file named /var/log/dhcp-ldap-startup.log (Bug 49281).
  • Fixed a spelling mistake in the description of Univention Configuration Registry variable dhcpd/options/ (Bug 46805).

§6.7.12. PAM / Local group cache

  • Changed the default of nss/group/cachefile/check_member to false on new installations for improved performance (Bug 50904).
  • The script ldap-group-to-file used to run against the master domain controller by default. We randomize the LDAP server selection now to distribute the load (Bug 50191).

§6.8. Virtualization

§6.8.1. UCS Virtual Machine Manager (UVMM)

  • Handle state VIR_DOMAIN_PMSUSPENDED (Bug 50580).

§6.8.2. Operate UCS as virtual machine

  • The package now uses dh_python2 instead of python-support (Bug 49171).

§6.9. Services for Windows

§6.9.1. Univention S4 Connector

  • The Univention AD connector is now able to synchronize Kerberos hashes from the Active Directory to the UCS LDAP server. This update adds compatibility for the new feature to the Univention S4 connector (Bug 50492).
  • The group member cache handling has been improved to avoid unbound consumption of process memory (Bug 50644).
  • Microsoft Wireless/Wired Group Policy, IPsec policy and Software installation policy objects can now be synchronized between OpenLDAP and Samba 4 (Bug 49838).

§6.9.2. Univention Active Directory Connection

  • Fix the check check_univention_ad_connector by adapting to the new process name introduced in UCS 4.4-4 erratum 390 from Bug 49168 (Bug 50676).
  • When synchronizing group members, the Univention AD connector now only adds/deletes the edited members instead of replacing the whole list of members in that group (Bug 50630).
  • The Univention AD connector is now able to synchronize Kerberos hashes from the Active Directory to the UCS LDAP server. This can be enabled by setting the new Univention Configuration Registry variable connector/ad/mapping/user/password/kerberos/enabled=true. If this variable is not set the hashes will not be synchronized (Bug 50492).
  • Fix Python library path in prepare-new-instance. This fixes the feature to synchronize several Active Directory domains with one UCS directory service (Bug 50713).
  • It is now possible to filter out users from synchronization by setting the Univention Configuration Registry variable connector/ad/mapping/user/ignorefilter to an LDAP filter. Every user matched by this LDAP filter will be ignored by the connector (Bug 50674).
  • The group member cache handling has been improved to avoid unbound consumption of process memory (Bug 50643).
  • The package now uses dh_python2 instead of python-support (Bug 49168).