UCS 4.4 Release Notes

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


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. UEFI Secure Boot
5.2. Erfassung von Nutzungsstatistiken
5.3. Umfang des Sicherheits-Supports von WebKit, Konqueror und QtWebKit
5.4. Empfohlene Browser für den Zugriff auf Univention Management Console
6. Changelog
6.1. General
6.2. Domain services
6.2.1. OpenLDAP
6.2.1.1. Listener/Notifier domain replication
6.2.2. DNS server
6.3. Univention Management Console
6.3.1. Univention Management Console web interface
6.3.2. Univention Management Console server
6.3.3. Univention App Center
6.3.4. Univention Directory Manager UMC modules and command line interface
6.3.5. Domain join module
6.3.6. System diagnostic module
6.3.7. Other modules
6.4. Univention base libraries
6.5. Software deployment
6.6. System services
6.6.1. SAML
6.6.2. Dovecot
6.6.3. Postfix
6.6.4. Nagios
6.6.5. RADIUS
6.6.6. SSL
6.6.7. DHCP server
6.7. Virtualization
6.7.1. UCS Virtual Machine Manager (UVMM)
6.8. Services for Windows
6.8.1. Samba
6.8.2. Univention S4 Connector
6.8.3. Univention Active Directory Connection
6.9. Other changes

§Kapitel 1. Release-Highlights

Mit Univention Corporate Server 4.4-9 steht das neunte 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:

  • Die Sicherheit und Benutzbarkeit der Univention Management Console ist verbessert worden.

  • Die UDM REST API skaliert nun besser.

  • Die Zuverlässigkeit und Geschwindigkeit der Listener/Notifier Replikation wurde verbessert.

  • Der Linux Kernel wurde auf Version 4.19.235 aktualisiert.

  • Diverse Security Updates wurden in UCS 4.4-9 integriert, bspw. für PostgreSQL, Samba und MariaDB.

§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-5x.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. UEFI Secure Boot

Secure Boot bildet eine Kette des Vertrauens von der UEFI Firmware bis zum Linux Kernel. Jede Änderung bevor der Linux Kernel läuft wird erkannt und bricht den Boot-Prozess ab. Diese Technik kann benutzt werden, um Boot-Viren daran zu hindern, das System zu infizieren.

In Juli 2020 wurde eine eklatante Sicherheitslücke in GRUB dem dem Linux Kernel entdeckt: Angreifen können die Umgebung modifizieren bevor der Linux Kernel die volle Kontrolle hat und damit Secure Boot deaktivieren. Diese Lücke hat alle Linux Distributionen inklusive Univention Corporate Server betroffen. Microsoft hat deshalb alle bisherigen signierten Versionen von shim widerrufen, wodurch Secure Boot an erster Stelle unterbrochen wird. Sobald ein UEFI Firmware Update oder ein auf dem selben System laufendes Microsoft Windows die Liste der widerrufenen Programme aktualisiert, wird UCS 4.4 nicht mehr gebootet.

Für 4.4-9 war geplant, alle beteiligten Komponenten zu aktualisieren, um wieder eine voll funktionsfähige UEFI Installation mit Secure Boot zu ermöglichen. Inzwischen wurden aber weitere Fehler in grub2 und shim entdeckt. Aus diesem Grund signiert Microsoft derzeit keine neuen Versionen von shim. Deshalb enthält UCS 4.4-9 zum Übergang lediglich den neuen Linux Kernel 4.19.235; ältere Versionen werden zukünftig nicht mehr erlaubt sein.

Eine Aktualisierung von grub2 und shim ist für UCS 4.4-10 geplant. Bis dahin wird weiterhin der widerrufene shim genutzt. Sollte das System nach dem Einspielen einer aktualisierten Widerrufsliste nicht mehr starten, muss bis auf weiteres Secure Boot deaktiviert werden. Alternativ kann auf UCS 5.0 aktualisiert werden.

§5.2. 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.3. 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.4. 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-8:

§6.1. General

§6.2. Domain services

§6.2.1. OpenLDAP

  • The behavior of the translog overlay was modified to skip grandchildren of the cn=temporary,cn=univention container. This new behavior can be controlled by the Univention Configuration Registry variable ldap/translog-ignore-temporary. This reduces the number of replication transactions during creation of users and groups significantly. As a result it increases the replication performance and reduces the rate at which the cn=translog LMDB backend database gets filled. This variable is applicable only to the Primary Directory Node. The package univention-ldap-server activates this variable by default (Bug 54446).
  • Update file last_id atomically (Bug 53821).
  • Log error if file listener/listener cannot be written (Bug 53821).
  • Consistently write <TransID> if last_id could not be determined as all (Bug 53821).
  • Check file listener/listener if getting last_id fails (Bug 53821).

§6.2.1.1. Listener/Notifier domain replication

  • Remove unused code leading to problems while updating to UCS 5 (Bug 52956).
  • Set listener module replication.py priority directly in the file (Bug 54504).
  • Log messages of univention-translog have been improved (Bug 53821).
  • The script univention-translog now also checks the file listener/listener.priv if that exists (Bug 53821).
  • The script univention-translog recognizes the special values <TransID> and 0 and is able to fix them (Bug 53821).
  • Restarting the systemd unit is now limited to 50 times in an observation window of 1000 seconds (Bug 53821).
  • The notifier aborts if the transaction ID issued by the OpenLDAP translog overlay is not a valid integer (Bug 53821).
  • Remove hard-coded replication.py listener module priority from univention-directory-listener. Instead, the priority is now set by package univention-directory-replication (Bug 54504).
  • Add missing dependency on python-typing (Bug 54322).
  • Make module execution order configurable by explicitly specifying a priority (Bug 54061).

§6.2.2. DNS server

  • Server password change now logs timestamps (Bug 54019).

§6.3. Univention Management Console

§6.3.1. Univention Management Console web interface

  • Functionality of some widgets has been adjusted for specific use cases (Bug 53847).
  • The DateBox and TimeBox widgets now handle empty values correctly and support the date2 syntax again (Bug 53675).
  • The login page no longer has the Login entry in the menu (Bug 53617).
  • The cache settings of Univention Management Console have been enhanced and relaxed to fix caching issues after the upgrade to UCS 5.0 (Bug 37720).
  • The UDM REST API now supports multiprocessing via the Univention Configuration Registry variable directory/manager/rest/processes. Further details can be found in performance guide (Bug 53669).
  • The configuration of log rotation for the UDM REST API logfiles has been added (Bug 53986).

§6.3.2. Univention Management Console server

  • The login page no longer has the Login entry in the menu (Bug 53617).
  • Access to the Univention Management Console has been repaired if the user is allowed to use only one module which does not have a flavor (Bug 53710).
  • SAML logouts which are initiated by another service provider are now correctly handled (Bug 53638).
  • The new Univention Configuration Registry variable umc/http/enforce-secure-cookie can be set to make cookies secure when using a HTTPS connection (Bug 53511).
  • The new Univention Configuration Registry variable umc/http/enforce-session-cookie can be set to make the login cookie a session cookie: Closing the browser will delete the cookie, effectively logging out the user (Bug 52353).
  • The cache settings of Univention Management Console have been enhanced and relaxed to fix caching issues after the upgrade to UCS 5.0 (Bug 37720).
  • When being logged in via SAML a refresh of the SAML authentication at the UMC server (or LDAP server) is now done correctly again after the validity of the SAML message expired (Bug 54229).

§6.3.3. Univention App Center

  • Fixed a regression where the App installation failed if the App had certain App settings (Bug 53677).
  • App settings of the scope outside are now applied on the system before the App's preinst script (Bug 53609).

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

  • Expose the parameter sizelimit in the simple UDM API (Bug 53832).
  • Make LDAP object classes and attribute names selectable (Bug 31857).
  • Make options in Extended Attributes selectable (Bug 25054).
  • Add syntax class to select UDM syntax class for Extended Attributes (Bug 52683).
  • UDM now enforces uniqueness of the name of objects in the same subtree position (Bug 53725).
  • It is now possible to set an account activation date for users, e.g. via the property accountActivationDate in the UDM users/user module (Bug 53675).
  • The simple UDM API now exposes the option remove_childs from the UDM function remove() in the method delete() to recursively delete objects below the DN of the object that is being deleted (Bug 53620).
  • ucs_registerLDAPExtension from the UCS shell function library now allows the option umcmessagecatalog. This option can be used to supply translation files in GNU message catalog format for the UMC (Bug 53362).
  • Users/LDAP objects could not be created if the mspolicy password complexity criteria was configured due to the missing displayname (Bug 52446).
  • Turkish umlauts are now correctly converted to ASCII letters (Bug 52878).
  • When setting an user as a member of a group in UDM, that had the same UID but a different DN of another member, the related attribute memberUid of the group got dropped. This happened in the cool Solution user-group-sync during move operations (Bug 54487).
  • UDM can now handle environments where the module refint for uniqueMember has been enabled (Bug 48956).
  • Adding and removing users to/from large groups is now faster (Bug 51233).

§6.3.5. Domain join module

  • The file permissions of files /etc/machine.secret.SAVE are now set before the files are written (Bug 49033).
  • Rebuilt to match the new LDB package version (Bug 54014).

§6.3.6. System diagnostic module

  • The system diagnostic check no longer shows false positives when a HTTP proxy is used (Bug 53575).
  • The new check 61_notifier_protocol_version will now be skipped on systems without univention-directory-notifier and therefore no longer produces false positive results (Bug 54365).
  • A diagnostic module has been added to check the Univention Configuration Registry variable notifier/protocol/version (Bug 50733).

§6.3.7. Other modules

  • While copying an user object entries were not filled correctly and therefore saving was not possible (Bug 53859).
  • Empty values are now prepended to static values for certain widgets if the syntax class requires this (Bug 53675).
  • Rewriting properties of apps using App Options changed the original options leading to follow up errors especially in the UDM REST API (Bug 53715).
  • The user creation wizard now shows the mailPrimaryAdress if it is required. The default value and visibility of widgets in the user creation wizard can now be configured via UCR (Bug 53514).

§6.4. Univention base libraries

  • UDM now enforces uniqueness of the name of objects in the same subtree position (Bug 53725).
  • ucs_registerLDAPExtension from the UCS shell function library now allows the option umcmessagecatalog. This option can be used to supply translation files in GNU message catalog format for the UMC (Bug 53362).
  • The cache settings of Univention Management Console have been enhanced and relaxed to fix caching issues after the upgrade to UCS 5.0 (Bug 37720).
  • The package univention-ldb-modules has been rebuilt to match the new version of package ldb (Bug 54014).
  • A new shell library function echowithtimestamp was added (Bug 54019).

§6.5. Software deployment

  • Prevent non-blocking components to crash the UMC updater module during the update to UCS 5.0-0 (Bug 53228).

§6.6. System services

§6.6.1. SAML

  • Permissions to use a SAML service provider in UCS can be configured on a user object or at group objects for all members of the group. The check via the memberOf attribute for group membership was not done case insensitive (Bug 53432).

§6.6.2. Dovecot

  • Server password change now logs timestamps (Bug 54019).

§6.6.3. Postfix

  • The Univention Directory Listener module listfilter.py did not respect the Univention Configuration Registry variable mail/postfix/policy/listfilter/use_sasl_username=yes when it is executed with the option --test (Bug 46176).
  • Server password change now logs timestamps (Bug 54019).

§6.6.4. Nagios

  • The Nagios plugin check_univention_slapd_mdb_maxsize now takes the number of free pages into account for checking the size of the LDAP database (Bug 49291).

§6.6.5. RADIUS

  • Server password change now logs timestamps (Bug 54019).

§6.6.6. SSL

  • Timeout SSL certificate download after 10 minutes (Bug 53810).

§6.6.7. DHCP server

  • Server password change now logs timestamps (Bug 54019).

§6.7. Virtualization

§6.7.1. UCS Virtual Machine Manager (UVMM)

  • Iterating all virtual machines multi-threaded has been fixed (Bug 49297).
  • Disks using the new type volume are now handled (Bug 54630).

§6.8. Services for Windows

§6.8.1. Samba

  • The UCR module for samba share restrictions did not quote the spaces inside share names like the samba listener does (Bug 53799).
  • Added username map script for use when samba is configured as domain member (Bug 54014).
  • access to home shares via NTLM authentication on member servers has been fixed (Bug 54320).
  • During a server password change the Samba process was not restarted in some cases. The script to restart Samba was fixed to ensure the service is restarted successfully (Bug 51535).
  • Server password change now logs timestamps (Bug 54019).
  • Access to home shares via NTLM authentication on member servers has been fixed (Bug 54320).
  • Add username map script for use when samba is configured as domain member (Bug 54014).
  • LDB source code has been adjusted to support new samba security patches (Bug 54014).

§6.8.2. Univention S4 Connector

  • The user expiry was off by one day between UCS and Samba. This discrepancy has been removed (Bug 54433).
  • Server password change now logs timestamps (Bug 54019).

§6.8.3. Univention Active Directory Connection

  • Invalid values in the LDAP attribute sambaNTPassword are now ignored instead of triggering a traceback (Bug 49590).
  • The Nagios check for univention-ad-connector reported a false positive if multiple Univention AD connector instances were running (Bug 51869).
  • The value for resynchronization of rejected changes from AD was fixed to use the documented default of 10 retries instead of 0, if the Univention Configuration Registry variable connector/ad/max_retry_rejected is not set (Bug 54432).
  • UCS rejects are resynchronized only a certain amount of times. This is configurable via a new Univention Configuration Registry variable connector/ad/max_retry_rejected, which defaults to 10 tries (Bug 49867).

§6.9. Other changes

  • Fix verification error with alternate chains. Addresses issue with Let's Encrypt certificates starting 2021-10-01 (Bug 53863).
  • A SAML service provider configuration can now contain an array of attributes in the option case_insensitive_attributes when using an authorize:Authorize filter. These attributes will be compared case insensitive (Bug 53432).
  • ucs_registerLDAPExtension from the UCS shell function library now allows the option umcmessagecatalog. This option can be used to supply translation files in GNU message catalog format for the UMC (Bug 53362).
  • The package python3-stdlib-extensions has been moved to maintained (Bug 54406).
  • A new Univention Configuration Registry variable ldap/translog-ignore-temporary has been created to control if UDM temporary objects should be considered for replication by the OpenLDAP translog overlay which feeds the Listener/Notifier. This reduces the number of replication transactions during creation of users and groups significantly. As a result it increases the replication performance and reduces the rate at which the LMDB backend database cn=translog gets filled. This variable is applicable only to the Primary Directory Node. By default is will be set to yes during package installation and update (Bug 54446).
  • The file /etc/machine.secret.SAVE is no longer readable by everyone (Bug 49033).
  • On the Primary Directory Node the LDAP server module refint can now be enabled by setting the Univention Configuration Registry variable ldap/refint=true. It enforces referential integrity for the attribute uniqueMember. For updates the module will not be enabled by default (Bug 48956).
  • The group membership cache now returns an empty list instead of None when requesting non-existing keys. This fixes a traceback in the Microsoft 365 Connector listener, when not every ADConnectionAlias has at least one user (Bug 54561).
  • Fix the upgrade path for the group membership cache to work all time from the initial update to UCS 5.0-0 up to installing the latest erratum (Bug 54206).
  • The cache now supports caches with a reverse mapping (Bug 54119).
  • The package was added to provide a very fast user and group membership cache (Bug 54068).