Inhaltsverzeichnis
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.
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.
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.
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.
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 ...
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 univention-run-join-scripts
als Benutzer root
.
Anschließend muss das UCS-System neu gestartet werden.
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.
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 des Benutzermenüs in der rechten, oberen Ecke von Univention Management Console. Steht hier unter der Eintrag 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.
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.
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.
Die Changelogs mit den detaillierten Änderungsinformationen werden nur in Englisch gepflegt. Aufgeführt sind die Änderungen seit UCS 4.4-8:
All security updates issued for UCS 4.4-8 are included:
The following updated packages from Debian Stretch 10.12 are included (Bug 53918): advancecomp, agg, aide, ansible, apache2, apache-log4j1.2, apache-log4j2, apng2gif, aria2, axis, botan1.10, btrbk, cacti, cargo-mozilla, cgal, ckeditor, commons-io, composer, condor, connman, debian-archive-keyring, debian-edu-config, drupal7, edk2, eterm, fig2dev, firebird3.0, freecad, gdal, gerbv, gif2apng, glusterfs, golang-1.7, golang-1.8, graphicsmagick, gst-libav1.0, gst-plugins-bad1.0, gst-plugins-ugly1.0, gthumb, h2database, hivex, htmldoc, icinga2, ieee-data, ipmitool, ipython, ircii, jackson-databind, jetty9, ldns, libdatetime-timezone-perl, libextractor, libgetdata, libimage-exiftool-perl, libjdom1-java, libjdom2-java, libmodbus, libntlm, libpam-tacplus, libpano13, libphp-adodb, librecad, libspf2, libspring-java, libxml-security-java, libxstream-java, libxstream-java, lighttpd, linux-4.19, linux-latest-4.19, linux-latest, linuxptp, llvm-toolchain-11, lrzip, lrzsz, lynx, mailman, mbedtls, mediawiki, minidlna, monit, mosquitto, mrxvt, mupdf, netkit-rsh, neutron, nginx, node-bl, nvidia-graphics-drivers, opendmarc, opensc, paramiko, pgbouncer, plib, postgis, privoxy, prosody, python-scrapy, python-treq, pywps, pyxdg, rails, rdflib, redis, redmine, resiprocate, ring, roundcube, ruby-actionpack-page-caching, ruby-haml, ruby-kaminari, ruby-nokogiri, ruby-sidekiq, rust-cbindgen, rustc-mozilla, rxvt, rxvt-unicode, salt, scilab, scrollz, shiro, slurm-llnl, sogo, sphinxsearch, spip, squashfs-tools, sssd, strongswan, thunderbird, tnef, tomcat8, tryton-proteus, tryton-server, tzdata, ujson, unbound1.9, usermode, uwsgi, weechat, wordpress, xmlbeans, zabbix, zsh
The following updated packages from Debian Buster 11.3 are included (Bug 54530): gcc-8, linux, linux-signed-amd64, linux-signed-i386, nvptx-tools
The following packages have been moved to the maintained repository of UCS: backports.functools-lru-cache (Bug 52920), pigz (Bug 54485), python-pathlib (Bug 53237), python-tzlocal (Bug 53675), unidecode (Bug 52878)
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).
last_id
atomically (Bug 53821).
listener/listener
cannot be written (Bug 53821).
<TransID>
if last_id
could not be determined as all (Bug 53821).
listener/listener
if getting last_id
fails (Bug 53821).
replication.py
priority directly in the file (Bug 54504).
univention-translog
have been improved (Bug 53821).
univention-translog
now also checks the file listener/listener.priv
if that exists (Bug 53821).
univention-translog
recognizes the special values <TransID>
and 0
and is able to fix them (Bug 53821).
translog
overlay is not a valid integer (Bug 53821).
replication.py
listener module priority from univention-directory-listener
.
Instead, the priority is now set by package univention-directory-replication (Bug 54504).
priority
(Bug 54061).
DateBox
and TimeBox
widgets now handle empty values correctly and support the date2
syntax again (Bug 53675).
directory/manager/rest/processes
.
Further details can be found in performance guide (Bug 53669).
umc/http/enforce-secure-cookie
can be set to make cookies secure when using a HTTPS connection (Bug 53511).
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).
users/user
module (Bug 53675).
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).
mspolicy
password complexity criteria was configured due to the missing displayname (Bug 52446).
refint
for uniqueMember has been enabled (Bug 48956).
61_notifier_protocol_version
will now be skipped on systems without univention-directory-notifier and therefore no longer produces false positive results (Bug 54365).
notifier/protocol/version
(Bug 50733).
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).
echowithtimestamp
was added (Bug 54019).
connector/ad/max_retry_rejected
is not set (Bug 54432).
connector/ad/max_retry_rejected
, which defaults to 10 tries (Bug 49867).
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).
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).
/etc/machine.secret.SAVE
is no longer readable by everyone (Bug 49033).
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).
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).