UCS 4.4 Release Notes

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


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. Univention Configuration Registry
6.2.1.1. Changes to templates and modules
6.2.2. Boot Loader
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 Portal
6.4.3. Univention Management Console server
6.4.4. Univention App Center
6.4.5. Univention Directory Manager UMC modules and command line interface
6.4.6. Other modules
6.5. Software deployment
6.6. System services
6.6.1. Docker
6.6.2. SAML
6.6.3. Univention self service
6.6.4. Postfix
6.6.5. Spam/virus detection and countermeasures
6.6.6. Printing services
6.6.7. Nagios
6.6.8. Apache
6.6.9. Proxy services
6.6.10. Kerberos
6.6.11. Other services
6.7. Virtualization
6.7.1. UCS Virtual Machine Manager (UVMM)
6.8. Services for Windows
6.8.1. Univention S4 Connector
6.8.2. Univention Active Directory Connection
6.9. Other changes

§Kapitel 1. Release-Highlights

Mit Univention Corporate Server 4.4-8 steht das achte 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 Performance des UMC Webservers in großen Umgebungen mit vielen Anfragen wurde verbessert, indem der Webserver mit mehreren Prozessen gestartet werden kann, um mehrere CPU Kerne zu nutzen. Hierfür wurde der UMC Webserver von single- auf multiprocessing umgestellt. Die Anzahl der Prozesse ist konfigurierbar.

  • Diverse Verbesserungen wurden in Vorbereitung auf UCS 5.0 vorgenommen. Unter anderem wird das UCS Upgrade blockiert, wenn installierte Apps unter UCS 5.0 noch nicht verfügbar sind.

  • Der S4 Connector synchronisiert nun auch das Attribut gidNumber für Gruppenobjekte.

  • Diverse Security Updates wurden in UCS 4.4-8 integriert, bspw. für PostgreSQL, Samba, den Linux Kernel 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-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-7:

§6.1. General

§6.2. Basic system services

§6.2.1. Univention Configuration Registry

§6.2.1.1. Changes to templates and modules

  • Fix a Python 3 compatibility error in the Univention Configuration Registry template for /etc/hosts (Bug 52919).

§6.2.2. Boot Loader

  • The generated /boot/grub/grub.cfg is compatible with the upgrade to UCS 5 (Bug 53117).

§6.3. Domain services

§6.3.1. OpenLDAP

  • Support for the password scheme bcrypt has been added. The Univention Configuration Registry variable ldap/pw-bcrypt has been added to activate the module bcrypt in OpenLDAP (Bug 52693).
  • From now on SHA-512 hashes are used for the LDAP service accounts admin and backup (Bug 52696).

§6.3.1.1. Listener/Notifier domain replication

  • The notifier sometimes did not recognize a transaction until the next one occurred. Two causes for this behavior have been fixed (Bug 51804).

§6.4. Univention Management Console

§6.4.1. Univention Management Console web interface

  • A cross site scripting vulnerability in the Univention Management Console menu has been fixed (Bug 52665).
  • Package version bump to ensure package update will be done in all scenarios (Bug 52371).
  • The OpenAPI schema has been adjusted to be compliant: The example property of parameters has been removed as it conflicts with examples (Bug 52862).
  • The OpenAPI schema of the UDM REST API now contains 201 as additional possible status code for modify operations. It is returned in case an object was moved (Bug 52725).
  • The OpenAPI schema of the UDM REST API now returns 200 as status code for the retrieval of object creation templates (Bug 52723).

§6.4.2. Univention Portal

  • Fetching of user information is now done against the Apache HTTP interface instead of directly against the UMC web server (Bug 52293).

§6.4.3. Univention Management Console server

  • Fix translation of a pwdQuality related error message which led to German/English mix in Univention Management Console (Bug 52198).
  • The Univention Configuration Registry variable pam/krb5/ticket_after_pwchange has been added to restore the default behavior of the PAM module krb5. See https://help.univention.com/t/17403 for more information (Bug 52188).
  • A KeyError is prevented when a session timer has already been removed (Bug 52535).
  • The evaluation of disallow option pattern in the ACL definitions has been repaired (Bug 25197).
  • A crash of the Univention Management Console server has been fixed (Bug 52699).
  • A cross site scripting vulnerability has been fixed (Bug 52665).
  • The Python Notifier implementation is used (among others) by the Univention Management Console server to handle the communication between the main server process and the UMC module processes. If any UMC module process fails to start within a few seconds the module process is forcefully terminated by the server process. Under high load a fallback implementation is invoked to terminate all child processes, which sometimes is too eager and kills unrelated processes using `python2.7. This included UCS services like UCS Virtual Machine Manager, UMC server, UMC web server, UMC REST API, UCS Portal server and Univention S4 connector. The broken fallback mechanism has been disabled and removed (Bug 52518).
  • The fix addresses a memory leak in univention-management-console-server which was introduced in erratum UCS 4.4-8 erratum 848. In addition, a log message was moved from the process to the info log level (Bug 52508).
  • UMC now shows a banner to the upcoming Univention Summit 2021 once (Bug 52499).
  • The removal of sessions has been optimized (Bug 52273).
  • The UMC web server is now multiprocessing capable (Bug 52293).
  • Data stored for outstanding SAML queries are now removed when a SAML response is received (Bug 52444).
  • SAML identities are now cached in a BDB database instead of in memory (Bug 52442).
  • Expired sessions are now removed from the SAML cache (Bug 52443).
  • The UMC server is now multiprocessing capable (Bug 52371).

§6.4.4. Univention App Center

  • Fix traceback when using Univention App Center once App ini file with install permissions is present in cache (Bug 52852).
  • The app parameter DockerScriptInit can now be configured via Univention Configuration Registry (Bug 52839).
  • The LDAP ACL UCR templates now have valid Python 3 syntax for compatibility with the UCS 5.0 update (Bug 52815).
  • The new subcommand update-check has been added to univention-app to check whether an UCS update with the currently installed Apps is possible (Bug 52771).
  • To reduce the risk of problems during the upgrade of apps an unnecessary second call of docker.pull has been removed (Bug 52456).

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

  • Changing the user password via UMC if bcrypt is activated is now possible (Bug 52832).
  • Support for bcrypt user password hashes has been added to the UDM. bcrypt can be activated with the Univention Configuration Registry variable password/hashing/bcrypt (default: false). The bcrypt cost factor and variant can be configured with the Univention Configuration Registry variables password/hashing/bcrypt/cost_factor (default: 12) and password/hashing/bcrypt/prefix (default: 2b) (Bug 52693).
  • The argument --remove-option of the UDM CLI command create has been repaired (Bug 52576).

§6.4.6. Other modules

  • The Python Notifier implementation is used (among others) by the Univention Management Console server to handle the communication between the main server process and the UMC module processes. If any UMC module process fails to start within a few seconds the module process is forcefully terminated by the server process. Under high load a fallback implementation is invoked to terminate all child processes, which sometimes is too eager and kills unrelated processes using `python2.7. This included UCS services like UCS Virtual Machine Manager, UMC server, UMC web server, UMC REST API, UCS Portal server and Univention S4 connector. The broken fallback mechanism has been disabled and removed (Bug 52518).
  • The timer is now using a monotonic clock so that system time adjustments do not affect the timer execution (Bug 52273).
  • A cross site scripting vulnerability has been fixed in univention-management-console-module-passwordchange (Bug 52665).

§6.5. Software deployment

  • The univention-updater UCR templates now have valid Python 3 syntax for compatibility with the UCS 5.0 update (Bug 52813).
  • The univention-updater now checks if the locally installed apps are available for the next UCS version (Bug 52771).
  • The univention-updater now supports updating to UCS 5, once it is released (Bug 51865).

§6.6. System services

§6.6.1. Docker

  • The new Univention Configuration Registry variable docker/daemon/default/opts/registry-mirrors can be used to define custom registry mirrors for the docker daemon. It is also possible now to configure arbitrary JSON encoded data, which gets mixed into the Docker daemon configuration file /etc/docker/daemon.json via the Univention Configuration Registry variable docker/daemon/default/json (Bug 52344).
  • Add system call statx to docker seccomp profile (Bug 52478).

§6.6.2. SAML

  • This is a new upstream version of stunnel4 (Bug 52196).
  • A watchdog service univention-stunnel4-watchdog has been added, which restarts the stunnel4 service, if it does not respond any more, but is marked as active. This can be activated by setting the Univention Configuration Registry variable ucs/server/sso/stunnel4/watchdog/active=true and restarting the service univention-stunnel4-watchdog (Bug 52196).
  • Package version bump to ensure package update will be done in all scenarios (Bug 52371).
  • The memory consumption of python-pysaml2 has been optimized (Bug 52466, Bug 52467).

§6.6.3. Univention self service

  • ucsversionstart and ucsversionend is now set during registering of the LDAP ACL extension. This is required for the upgrade to UCS 5 (Bug 52955).

§6.6.4. Postfix

  • The default Postfix version compatibility level was raised from 2 to 3 (Bug 46895).

§6.6.5. Spam/virus detection and countermeasures

  • A unjoin script has been added (Bug 52962).

§6.6.6. Printing services

  • The UCR templates are now compatible with Python 3 for the UCS 5.0 upgrade (Bug 52814).

§6.6.7. Nagios

  • A unjoin script for univention-nagios-dansguardian has been added (Bug 52962).
  • Univention Configuration Registry variables are now unset on package removal (Bug 52980).

§6.6.8. Apache

  • Package version bump to ensure package update will be done in all scenarios (Bug 52371).

§6.6.9. Proxy services

  • The UCR templates are now compatible with Python 3 for the UCS 5.0 upgrade (Bug 52814).

§6.6.10. Kerberos

  • The behavior of the PAM module krb5 has been changed. From now on the module no longer tries to obtain a new ticket after a password change (as this is error prone due to timing issues in the password synchronization). The old behavior can be restored by setting the Univention Configuration Registry variable pam/krb5/ticket_after_pwchange=true (sets the ticket_after_pwchange flag in the PAM configuration). See https://help.univention.com/t/17403 for more information (Bug 52188).
  • Version number has been increased to restart the heimdal-kdc. This is necessary to allow for the mspwdpolicy feature to work correctly (Bug 52198).
  • More specific error messages are passed through from heimdal to Univention Management Console in case of a failed pwdQuality check (Bug 52198).

§6.6.11. Other services

  • Univention Configuration Registry variables are now unset on package removal (Bug 52981).

§6.7. Virtualization

§6.7.1. UCS Virtual Machine Manager (UVMM)

  • Restore schema file system path to /usr/share/univention-ldap/schema/ to prevent a possible error when updating the package simultaneously on multiple systems (Bug 52867).
  • Register files from package univention-virtual-machine-manager-schema in LDAP in preparation for UCS 5 (Bug 51955).

§6.8. Services for Windows

§6.8.1. Univention S4 Connector

  • The attribute gidNumber on users will be synchronized from UCS to Samba4, but not from Samba4 to UCS (Bug 50278).
  • The attribute gidNumber on groups is now synced from UCS to Samba4. The attribute is only set if an UCS object is modified. Multiple objects can be resynchronized with the tool /usr/share/univention-s4-connector/resync_object_from_ucs.py --filter, which accepts an LDAP filter (Bug 50766).

§6.8.2. Univention Active Directory Connection

  • If a modification is done in AD and the user does not yet exist in UCS, the connector should set all values on the UCS object, if they have changed or not. Not doing that, led to rejects due to missing mandatory values (Bug 52261).
  • The connector creates a temporary password before synchronizing the users actual password. This temporary password did not conform to MS standard password complexity. This led to rejects, due to the password being too simple (Bug 52439).

§6.9. Other changes

  • The Univention Configuration Registry variable pam/krb5/ticket_after_pwchange has been added to restore the default behavior of the PAM module krb5. See https://help.univention.com/t/17403 for more information (Bug 52188).