Seit einer ganzen Weile läuft nun Paperless-ngx bei mir auf dem Homeserver. In diesem Beitrag möchte ich euch meinen Workflow aufzeigen. Rechnungen per E-Mail Die meisten Rechnungen kommen heutzutage als Anhang per E-Mail. E-Mails...
Firefox wird standardmäßig mit mehreren Suchmaschinen ausgeliefert. Mit Perplexity hat Mozilla die Standard-Auswahl auf den Wunsch seiner Nutzer hin um eine KI-basierte Suchmaschine erweitert.
Firefox-Nutzer können praktisch jede beliebige Suchmaschine zu Firefox hinzufügen. Der Browser besitzt aber auch schon von Haus aus eine Auswahl an Suchmaschinen, die sofort zur Verfügung stehen, ohne dass der Nutzer manuelle Schritte unternehmen muss.
Nachdem sich Firefox-Nutzer schon eine Weile Perplexity als Such-Option in Firefox gewünscht hatten, hat Mozilla nun damit begonnen, die erst Ende 2022 gegründete Suchmaschine Perplexity standardmäßig als Suchoption in Firefox anzubieten. Die zunächst experimentelle Integration gilt vorerst nur für Nutzer in Deutschland, den USA sowie Großbritannien und wird für 25 Prozent der Nutzer von Firefox 139 und höher ausgerollt.
Perplexity unterscheidet sich von traditionellen Suchmaschinen dadurch, dass man nicht seitenweise Listen als Ergebnis erhält, sondern KI-basierte Antworten in natürlicher Sprache.
Der Fakespot Deep Fake Detector ist eine Firefox-Erweiterung von Mozilla, welche es dem Nutzer ermöglichen soll, mutmaßliche KI-Inhalte von Inhalten zu unterscheiden, die von echten Menschen geschaffen wurden. Nun wurde die Einstellung der Erweiterung bekannt gegeben.
Die Ende des vergangenen Jahres veröffentlichte Firefox-Erweiterung Fakespot Deep Fake Detector versucht, mit Hilfe Künstlicher Intelligenz zu erkennen, welche Website-Inhalte von einer KI erzeugt worden sind und was das Werk echter Menschen ist. Es handelt sich dabei um eine Browser-Erweiterung für Firefox, welche es erlaubt, markierten Text dahingehend zu analysieren. Alternativ kann Text auch ohne Browser-Erweiterung auf der dazugehörigen Website eingegeben werden.
Für eine bessere Zuverlässigkeit verlässt sich Mozilla dabei nicht auf ein einzelnes Modell. Mit ApolloDFT, Binocular, UAR sowie ZipPy kommen gleich vier Modelle mit unterschiedlichen Stärken und Schwächen zum Einsatz, die auch beschrieben werden. Wenn es Unstimmigkeiten in der Bewertung gibt, erfährt der Nutzer, welches Modell zu welchem Ergebnis kam. Bei allen diesen Modellen handelt es sich um Open Source-Modelle, wobei ApolloDFT ein eigenes Modell von Fakespot ist.
Nun hat Mozilla bekannt gegeben, die Erweiterung am 26. Juni 2025 einzustellen. Diese Einstellung kommt erwartungsgemäß, nachdem Mozilla vor kurzem die Einstellung seines Dienstes Fakespot angekündigt hat, deren Team auch den Fakespot Deep Fake Detector entwickelte. Mit gerade einmal knapp über 3.300 aktiven Nutzern war die Erweiterung auch nicht sehr verbreitet.
Der Enterprise Policy Generator richtet sich an Administratoren von Unternehmen und Organisationen, welche Firefox konfigurieren wollen. Mit dem Enterprise Policy Generator 6.5 ist nun ein großes Update mit Unterstützung für viele zusätzliche Unternehmensrichtlinien erschienen.
Die Enterprise Policy Engine erlaubt es Administratoren, Firefox über eine Konfigurationsdatei zu konfigurieren. Der Vorteil dieser Konfigurationsdatei gegenüber Group Policy Objects (GPO) ist, dass diese Methode nicht nur auf Windows, sondern plattformübergreifend auf Windows, Apple macOS sowie Linux funktioniert.
Der Enterprise Policy Generator hilft bei der Zusammenstellung der sogenannten Enterprise Policies, sodass kein tiefergehendes Studium der Dokumentation und aller möglichen Optionen notwendig ist und sich Administratoren die gewünschten Enterprise Policies einfach zusammenklicken können.
Neuerungen vom Enterprise Policy Generator 6.5
Der Enterprise Policy Generator 6.5 bringt eine erweiterte Unterstützung von Unternehmensrichtlinien.
Die Containers-Richtlinie kann genutzt werden, um den anfänglichen Satz von Tab-Umgebungen festzulegen.
Die AllowFileSelectionDialogs-Richtlinie erlaubt das Deaktivieren von Dateiauswahldialogen.
Mittels DisableEncryptedClientHello-Richtlinie kann die Verwendung der TLS-Funktion Encrypted Client Hello (ECH) deaktiviert werden.
Die Fallback-Option wurde zur DNSOverHTTPS-Richtlinie hinzugefügt, um festzulegen, ob Firefox den Standard-DNS-Resolver verwenden soll, wenn es ein Problem mit dem sicheren DNS-Anbieter gibt.
Über die HttpAllowlist-Richtlinie können Websites konfiguriert werden, die nicht automatisch auf HTTPS umgestellt werden sollen.
Die HttpsOnlyMode-Richtlinie ermöglicht die Konfiguration des Nur-HTTPS-Modus.
Mit der PostQuantumKeyAgreementEnabled-Richtlinie kann der Post-Quanten-Schlüsselaustausch für TLS aktiviert oder deaktiviert werden.
Die TranslateEnabled-Richtlinie erlaubt das Aktivieren oder Deaktivieren der lokalen Übersetzungsfunktion von Firefox.
Die PrivateBrowsingModeAvailability-Richtlinie kann verwendet werden, um die Verfügbarkeit von privaten Fenstern festzulegen. Die Richtlinie kann nicht zusammen mit der DisablePrivateBrowsing-Richtlinie verwendet werden, beide Richtlinien schließen sich gegenseitig aus.
Zur UserMessaging-Richtlinie wurde die FirefoxLabs-Option hinzugefügt, um den Abschnitt „Firefox Labs“ in den Firefox-Einstellungen zu aktivieren oder zu deaktivieren.
Es wurde die Unterstützung für die MicrosoftEntraSSO-Richtlinie hinzugefügt, um Single Sign-On für Microsoft Entra-Konten zu ermöglichen.
Die Preferences-Richtlinie wurde um die Unterstützung der Optionen identity.fxaccounts.toolbar.* und security.block_fileuri_script_with_wrong_mime erweitert.
Die ExtensionSettings-Richtlinie unterstützt jetzt auch die private_browsing-Option, um zu konfigurieren, ob eine Erweiterung in privaten Fenstern aktiviert werden soll.
Die SearchEngines-Richtlinie steht nicht länger ausschließlich für Firefox ESR zur Verfügung.
Über die DisabledCiphers-Richtlinie können weitere kryptographische Chiffren deaktiviert werden.
Die Unterstützung der WhatsNew-Option wurde aus der UserMessaging-Richtlinie und auch aus bestehenden Konfigurationen entfernt.
Im Beschreibungstext der Certificates|Install-Richtlinie wurde die falsche Umgebungsvariable für Windows in der Beschreibung korrigiert.
Die Formulierung für die Richtlinien AutofillAddressEnabled und AutofillCreditCardEnabled wurde verbessert.
Ebenfalls aktualisiert wurde die russische Übersetzung der Erweiterung.
Ausblick
Mit diesem Update unterstützt der Enterprise Policy Generator nun fast alle von Firefox unterstützten Unternehmensrichtlinien. Mit dem Enterprise Policy Generator 6.6 wird als Nächstes ein Update erscheinen, welches die Unterstützung für die ContentAnalysis-Richtlinie ergänzen und die Unterstützung für die DisablePocket-Richtlinie entfernen wird. Außerdem wird das Update kleinere Verbesserungen unter der Haube bringen.
Der Enterprise Policy Generator 6.6 wird die letzte Version sein, welche in Firefox 115 genutzt werden kann. Mindestanforderung für den Enterprise Policy Generator 7.0 wird Firefox 128 sein.
Entwicklung unterstützen
Wer die Entwicklung des Add-ons unterstützen möchte, kann dies tun, indem er der Welt vom Enterprise Policy Generator erzählt und die Erweiterung auf addons.mozilla.org bewertet. Auch würde ich mich sehr über eine kleine Spende freuen, welche es mir ermöglicht, weitere Zeit in die Entwicklung des Add-on zu investieren, um zusätzliche Features zu implementieren.
Mozilla hat Firefox 139.0.4 für Windows, macOS und Linux veröffentlicht. Firefox 139.0.2 und Firefox 139.0.3 wurden für diese Plattformen übersprungen, da diese Versionsnummern Android-Updates vorbehalten waren.
Firefox 139.0.4 behebt zwei Sicherheitslücken. Alleine aus Gründen der Sicherheit ist ein Update daher für alle Nutzer empfohlen.
Darüber hinaus behebt Firefox 139.0.4 ein Problem, welches auf Windows und macOS unter bestimmten Umständen zu einem Einfrieren des Browsers führen konnte.
Ein Problem bei der Auswahl von Dropdown-Optionen in den Firefox-Einstellungen wurde behoben, wenn diese über die Suche ausgewählt worden sind.
Behoben wurden außerdem Probleme mit der Textauswahl über einen Dreifachklick.
Unter Windows wurden Bilder, die als Hintergrundbild gespeichert worden sind, nicht länger mit einem Dateinamen gespeichert.
Ebenfalls nur unter Windows konnten Benachrichtigungen in einer Nicht-Standard-Konfiguration in der falschen Bildschirmecke angezeigt werden.
Wenn Ports aus Sicherheitsgründen blockiert werden müssen, ist dies nun aus der Ferne ohne Verteilung eines Firefox-Updates möglich.
Eine mögliche Absturzursache beim Besuch von Websites, welche JSON-Module nutzen, wurde behoben.
Das Problem, dass keine Anbieter für DNS over HTTPS in den Einstellungen zur Verfügung stehen, wenn die Aktualisierung der Anbieter fehlschlägt, wurde behoben.
Außerdem gab es noch Korrekturen für zwei zukünftige Experimente, zum einen für die Anzeige eines QR-Codes auf der Firefox-Startseite zum Download des Android- / iOS-Browsers, zum anderen für die Anzeige einer Infoleiste bezüglich der Nutzungsbedingungen von Firefox.
Orbit by Mozilla ist eine Firefox-Erweiterung von Mozilla, welche den Browser um einen KI-Assistenten erweitert, der Texte und Videos zusammenfassen kann und dabei die Privatsphäre der Nutzer respektiert. Nun wurde die Einstellung der experimentellen Erweiterung bekannt gegeben. Einen Ersatz gibt es nativ in Firefox.
Die Ende des vergangenen Jahres veröffentlichte Firefox-Erweiterung Orbit by Mozilla legt standardmäßig ein grafisches Element über alle Websites, welches aber auch an eine beliebige andere Stelle gezogen werden kann. Fährt man mit der Maus über das Element, hat man die Optionen, sich den Inhalt der aktuellen Seite zusammenfassen zu lassen oder einen Chatbot zum Inhalt zu befragen. Nun hat Mozilla bekannt gegeben, die experimentelle Erweiterung, deren Website auch Stand heute noch eine sichtbare Beta-Kennzeichnung besitzt, am 26. Juni 2025 einzustellen.
Eine Alternative befindet sich aber bereits in Firefox. So besitzt Firefox eine Chatbot-Integration, welche standardmäßig Google Gemini, ChatGPT, HuggingChat, Anthropic Claude sowie Le Chat Mistral zur Auswahl stellt. Aber auch weitere Chatbots wie Microsoft Copilot können aktiviert werden.
Über die Firefox-Sidebar können beliebige Fragen gestellt werden. Es gibt aber auch von Haus aus vorgefertigte „Prompts“, welche über das Kontextmenü erreicht werden können, inklusive der Option, sich den Inhalt der Website zusammenfassen zu lassen – also genau das, was Orbit macht. Und wie Orbit funktioniert auch die in Firefox nativ integrierte Funktion für PDF-Dateien und die Transkriptionen von Videos.
Mozilla arbeitet aktuell daran, die Funktion zum Zusammenfassen mehr in den Vordergrund zu rücken. So bekommt die Chatbot-Sidebar eine prominent sichtbare Schaltfläche zum Zusammenfassen, das Kontextmenü wird überarbeitet und auch über die Tabs zugänglich gemacht.
Wenn Sie meinen vorigen Blogbeitrag über Hetzner-Cloud-Benchmarks gelesen haben, ist Ihnen vielleicht aufgefallen, dass ich Alma Linux 10 in einer Hetzner-Cloud-Instanz ausgeführt habe, um dort Geekbench-Tests auszuführen. Das war nicht so einfach: Hetzner bietet Alma Linux 10 noch nicht als Installations-Image an. (Update 3.7.2025: mittlerweile schon, sowohl AlmaLinux 10 als auch Rocky Linux 10)
Also habe ich eine neue Instanz zuerst mit Alma Linux 9 eingerichtet und danach mit Elevate ein Update auf Version 10 durchgeführt. Das ist erstaunlich unkompliziert gelungen, obwohl Version-10-Updates eigentlich noch im Beta-Test sind.
Update 10.7.2025: Version-10-Updates werden jetzt offiziell unterstützt (Quelle)
Was ist LEAPP, was ist Elevate?
RHEL und alle Klone durchlaufen über reguläre Updates alle Minor-Releases. Wenn Sie also Alma Linux 9.0 installiert haben, erhalten Sie durch die regelmäßige Installation von Updates nach und nach die Versionen 9.1, 9.2 usw. Ein Update auf die nächste Major-Version ist aber nicht vorgesehen.
Mit LEAPP hat Red Hat ein Framework geschaffen, um Major-Version-Updates für RHEL durchzuführen. LEAPP wurde sehr allgemeingültig konzipiert und kümmert sich um Pre-Upgrade-Kontrollen, Paketabhängigkeiten, den Workflow zwischen verschiedenen Stadien des Upgrades usw.
Elevate ist eine Community-Erweiterung zu LEAPP, die über das eigentliche Upgrade hinaus in manchen Fällen auch einen Wechsel der Paketquellen zwischen Alma Linux, CentOS, Oracle Linux und RockyLinux durchführen kann. Sie können mit Elevate beispielsweise zuerst von CentOS 7 zu RockyLinux 8 migrieren und dann weiter zu Rocky Linux 9 upgraden.
Mögliche Migrationspfade für »Elevate« (Stand: Juni 2026, Bildquelle: https://wiki.almalinux.org/elevate/ELevate-quickstart-guide.html)
Vorbereitungsarbeiten
Bevor Sie Elevate anwenden, müssen Sie ein vollständiges Backup durchführen und Ihren Rechner bzw. Ihre virtuelle Maschine neu starten:
dnf update
reboot
Danach richten Sie eine Paketquelle für Elevate ein und installieren das für Sie relevante Upgrade-Modul (für das Beispiel in diesem Artikel mit der Zieldistribution Alma Linux also leapp-data-almalinux).
dnf install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
# für AlmaLinux
dnf install leapp-upgrade leapp-data-almalinux
# alternativ für Rocky Linux (etc.)
dnf install leapp-upgrade leapp-data-rocky
Als nächstes folgt ein Test, ob das gewünschte Upgrade (plus gegebenenfalls eine Migration zu einer anderen Distribution, hier nicht relevant) überhaupt möglich ist:
leapp preupgrade
leapp preupgrade erzeugt zwei Dateien: Einen umfassenden Bericht, der alle möglichen Probleme aufzählt, und eine answer-Datei, in die Sie gegebenenfalls Optionen eintragen müssen (z.B. mit leapp answer --section check_vdo.confirm=True). In meinem Fall — Upgrade einer Minimalinstallation von Alma Linux 9 auf 10, hat leapp preupgrade auf die folgenden Probleme hingewiesen, aber keine answer-Einträge verlangt.
High: veraltete Netzwerkkonfiguration in /etc/sysconfig/network-scripts
High: unbekannte Systemdateien (»Aktoren«)
High: unbekannte Pakete (hc-utils)
Medium: Berkeley DB (libdb) ist installiert, wird in RHEL 10 nicht mehr unterstützt
Low: unbekannten Paket-Repositories
cat /var/log/leapp/leapp-report.txt
Risk Factor: high (inhibitor)
Title: Legacy network configuration found
Summary: Network configuration files in legacy "ifcfg" format are present ...
- /etc/sysconfig/network-scripts/ifcfg-eth0
Related links:
- How to migrate the connection from ifcfg to NetworkManager keyfile plugin?:
https://access.redhat.com/solutions/7083803
- nmcli(1) manual, describes "connection migrate" sub-command.:
https://networkmanager.dev/docs/api/latest/nmcli.html
...
Remediation: [hint] Convert the configuration into NetworkManager native "keyfile" format.
----------------------------------------
Risk Factor: high
Title: Detected custom leapp actors or files.
Summary: We have detected installed custom actors or files on the system.
These can be provided e.g. by third party vendors ... This is allowed
and appreciated. However Red Hat is not responsible for any issues caused
by these custom leapp actors ...
The list of custom leapp actors and files:
- /usr/share/leapp-repository/repositories/system_upgrade/\
common/files/distro/almalinux/rpm-gpg/10/RPM-GPG-KEY-AlmaLinux-10
- /usr/share/leapp-repository/repositories/system_upgrade/\
common/files/rpm-gpg/10/RPM-GPG-KEY-AlmaLinux-10
...
Den vollständigen Report können Sie sich hier durchlesen.
Migration der Netzwerkkonfiguration
Wirklich kritisch war aus meiner Sicht nur die Netzwerkkonfiguration; die restlichen Hinweise und Empfehlungen habe ich ignoriert. Das Paket hc-utils (Hetzner Cloud Utilities) ist nur für Funktionen relevant, die in meinem Fall ohnedies nicht genutzt werden (siehe hier).
Auch die veraltete Netzwerkkonfiguration stammt vom Hetzner-Image für Alma Linux 9. Eine Umstellung auf eine *.nmconnection-Datei für den NetworkManager gelingt erstaunlich unkompliziert mit einem einzigen Kommando:
Mit einem weiteren Reboot habe ich sichergestellt, dass die Umstellung auch funktioniert.
Das Upgrade
leapp upgrade initiiert nun das Upgrade auf Alma Linux 10. Dabei werden seitenweise Logging-Ausgaben produziert (siehe den kompletten Output mit ca. 3150 Zeilen):
leapp upgrade
==> Processing phase `configuration_phase` ...
==> Processing phase `FactsCollection` ...
...
==> Processing phase `TargetTransactionFactsCollection`
Create custom repofile containing information about
repositories found in target OS installation ISO, if used.
Initializes a directory to be populated as a minimal environment
to run binaries from the target system.
AlmaLinux 10.0 - BaseOS 5.9 MB/s | 2.8 MB 00:00
AlmaLinux 10.0 - AppStream 11 MB/s | 5.6 MB 00:00
AlmaLinux 10.0 - CRB 5.0 MB/s | 2.2 MB 00:00
AlmaLinux 10.0 - HighAvailability 161 kB/s | 69 kB 00:00
AlmaLinux 10.0 - Extras 28 kB/s | 12 kB 00:00
AlmaLinux 10.0 - SAP 8.3 kB/s | 3.5 kB 00:00
AlmaLinux 10.0 - SAPHANA 35 kB/s | 15 kB 00:00
AlmaLinux 10.0 - RT 2.8 MB/s | 1.1 MB 00:00
AlmaLinux 10.0 - NFV 2.8 MB/s | 1.1 MB 00:00
Dependencies resolved.
...
Transaction Summary: Install 153 Packages
...
Complete!
==> Processing phase `TargetTransactionCheck`
...
Transaction Summary
Install 63 Packages
Upgrade 389 Packages
Remove 18 Packages
Downgrade 3 Packages
Transaction test succeeded.
Complete!
====> add_upgrade_boot_entry
Add new boot entry for Leapp provided initramfs.
A reboot is required to continue. Please reboot your system.
Debug output written to /var/log/leapp/leapp-upgrade.log
============================================================
REPORT OVERVIEW
============================================================
HIGH and MEDIUM severity reports:
1. Packages not signed by Red Hat found on the system
2. Detected custom leapp actors or files.
3. Berkeley DB (libdb) has been detected on your system
Reports summary:
Errors: 0
Inhibitors: 0
HIGH severity reports: 2
MEDIUM severity reports: 1
LOW severity reports: 2
INFO severity reports: 1
Before continuing, review the full report below for details about discovered
problems and possible remediation instructions:
A report has been generated at /var/log/leapp/leapp-report.txt
A report has been generated at /var/log/leapp/leapp-report.json
============================================================
END OF REPORT OVERVIEW
============================================================
Answerfile has been generated at /var/log/leapp/answerfile
Reboot the system to continue with the upgrade. This might take a while
depending on the system configuration.
Make sure you have console access to view the actual upgrade process.
Jetzt wird es unheimlich: Mit reboot starten Sie die nächste Phase des Upgrade-Prozesses, der im Blindflug erfolgt. Der Rechner bzw. die virtuelle Maschine wird während dieser Phase noch einmal neu gestartet. Wenn Sie nicht vor dem Rechner sitzen, sehen Sie weder, was passiert, noch haben Sie über eine SSH-Verbindung die Möglichkeit, einzugreifen.
reboot
Wenn alles gut geht, können Sie sich nach ein paar Minuten wieder einloggen. Bei mir hat es funktioniert:
Ich habe mit diesem Experiment erreicht, was ich haben wollte: eine funktionierende, minimale Alma-Linux-10-Installation in einer im Internet erreichbaren virtuellen Maschine. Ich kann damit experimentieren. Vermutlich wird Hetzner in ein paar Wochen Alma Linux 10 als reguläres Cloud-Installations-Image anbieten. Dann werde ich diese Installation vermutlich wieder abschalten.
In der Vergangenheit habe ich Elevate auch schon auf lokale virtuelle Maschinen mit (nicht besonders wichtigen) Testumgebungen angewendet, ebenfalls zu meiner Zufriedenheit.
Aber ich würde mich niemals trauen, für ein produktiv wichtiges System auf diese Weise ein Upgrade oder womöglich eine Migration auf eine andere Distribution durchzuführen — und schon gar nicht, wenn ich keinen physischen Zugriff auf die Installation habe. Es kann dabei so viel schief gehen! Es ist unklar, ob danach überhaupt eine Reparatur möglich ist, und wenn ja, wie lange diese dauern würde.
Vergessen Sie zuletzt nicht, dass das Upgrade von Alma Linux 9 auf Version 10 aktuell noch im Beta-Test ist. Bei meinem Minimalsystem hat es funktioniert, aber das ist keine Garantie, dass das bei Ihnen auch klappt!
Kurz und gut: Die Kombination aus LEAPP und Elevate bietet eine großartige Möglichkeit, Major Upgrades für RHEL und seine Klone durchzuführen. Das ist ideal für Entwicklungs- und Testsysteme. Aber wie bei jedem Linux-Distributions-Upgrade kann dabei viel schief gehen. Der sichere Weg für produktiv wichtige Installationen ist immer eine Neuinstallation! Sie können dann in aller Ruhe sämtliche Funktionen testen, zum Schluss die Daten migrieren und mit minimaler Downtime eine Umstellung durchführen.
Die zwei günstigsten Angebote in der Hetzner-Cloud sind Instanzen mit zwei CPU-Cores, 4 GB RAM und 40 GB Diskspace: Einmal mit virtuellen ARM-CPU-Cores (»CAX11«), einmal mit virtuellen x86-Cores (»CX22«). Der Preis ist identisch: 3,95 EUR/Monat inkl. USt (für D) plus ein Aufpreis von 0,50 EUR/Monat für eine IPv4-Adresse. Die naheliegende Frage ist: Welches Angebot gibt mehr Rechenleistung? Dieser Frage bin ich an einem verregneten Pfingstsonntag auf den Grund gegangen.
Ein »virtueller CPU-Core« heißt in diesem Zusammenhang, dass auf einem Server mehrere/viele virtuelle Maschinen laufen. Je nach Auslastung kann es sein, dass die für eine virtuelle Maschine vorgesehen CPU-Cores nicht vollständig verfügbar sind. Es gibt auch virtuelle Maschinen mit dezidierten Cores, die immer zur Verfügung stehen — aber die sind natürlich teurer.
Auswahl verschiedener Cloud-Instanzen
Testbedingungen
Für meine Tests habe ich zwei Cloud-Instanzen mit Alma Linux 9 eingerichtet, einmal mit zwei ARM-CPU-Cores (CAX11), einmal mit zwei x86-CPU-Cores (CX11). Außer tar und Geekbench habe ich keine weitere Software installiert. /proc/cpuinfo lieferte die folgenden Ergebnisse:
cat /proc/cpuinfo # CAX11 / ARM (Ampere)
processor : 0
BogoMIPS : 50.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
processor : 1
...
Geekbench-Ergebnisse
In beiden virtuellen Maschinen habe ich mit wget Geekbench heruntergeladen, mit tar xzf ausgepackt und dann dreimal ausgeführt. Die Ergebnisse:
CX11 / x86 / Alma Linux 9
Single Multi Core
------ -----------
698 1203
692 1207
642 1205
--------------------------
CAX11 / ARM / Alma Linux 9
Single Multi Core
------ -----------
1082 1979
1084 1982
1079 1965
Zuletzt wollte ich noch wissen, ob Alma Linux 10 bei gleicher Hardware mehr Speed liefert (schnellerer Kernel, bessere Optimierung/Kompilierung der Programme etc.). Diese Tests habe ich nur auf der ARM-Instanz durchgeführt.
CAX11 / ARM / Alma Linux 10
Single Multi Core
------ -----------
1078 1971
1069 1963
1077 1974
Zusammenfassung: Bei meinen Tests boten die CAX11-Instanzen bei gleichen Kosten fast 50% mehr Leistung. Alma Linux 9 versus 10 ergibt dagegen keinen messbaren Unterschied.
PS: Geekbench ist noch nicht im IPv6-Zeitalter angekommen. Ist ja auch wirklich eine ganz neue Technologie … Wenn Sie selbst Tests durchführen wollen, müssen Sie die Instanz mit einer IPv4-Adresse konfigurieren. Weder gelingt der Download (das lässt sich umgehen), noch kann ./geekbench6 danach die Ergebnisse hochladen.
Einschränkungen
Bitte überbewerten Sie die Ergebnisse nicht! Die Hetzner-Cloud-Seite gibt keinerlei Informationen darüber, auf welchem Server bzw. auf welcher CPU Ihre virtuellen Maschinen laufen werden. Hetzner hat mehrere Rechenzentren mit unzähligen Server, mit Glück oder Pech landet Ihre virtuelle Maschine auf einem anderen, besser oder schlechter ausgestatteten Server. Das hier präsentierte Ergebnis ist nur eine Momentaufnahme, kein professionell über Wochen durchgeführter Test!
Es erscheint mir unwahrscheinlich, dass zum Testzeitpunkt (Sonntag nachmittag) die Cloud-Server besonders stark ausgelastet waren, aber es ist natürlich denkbar, dass das Ergebnis durch die Aktivität anderer virtueller Maschinen beeinflusst wurde.
Geekbench ist definitiv nicht das Maß der Dinge für Server-Benchmarks. Aber Geekbench lässt sich leicht installieren und ausführen, außerdem sind die Ergebnisse mit Desktop-Hardware vergleichbar. Sagen wir so: Um die CPU-Performance zu vergleichen, sind die Tests aus meiner Sicht gut genug.
Zu guter Letzt habe ich ausschließlich die billigsten Cloud-Angebote verglichen (die bei meinen Anwendungen aber oft ausreichen). Es gibt viele weitere Varianten, z.B. »CPX11« (2 AMD-Cores, nur 2 GB RAM, 40 GB Disk).
Kurz und gut: Dieser Test besagt NICHT, dass ARM immer mehr Leistung als x86 bietet. Zum Zeitpunkt meiner Tests und bei den von mir gewählten Randbedingungen erscheint es aber so, also würden Sie bei preisgünstige Cloud-Instanzen mit ARM-CPUs aktuell mehr Leistung bekommen als bei Instanzen zum gleichen Preis mit x86-Hardware.
Firefox 139 für Android ist ein aus Nutzersicht kleines Update, welches keine neuen Funktionen bringt. Stattdessen lag der Fokus auf neuen Plattform-Features der aktuellen GeckoView-Engine, diversen Fehlerbehebungen, geschlossenen Sicherheitslücken sowie Verbesserungen unter der Haube.
Mit Firefox 139.0.1 behebt Mozilla mögliche Grafikfehler bei Verwendung bestimmter Grafikchips von NVIDIA und mehreren Bildschirmen, die mit jeweils unterschiedlichen Bildwiederholraten laufen.
Seit einigen Jahren ist CentOS kein produktionstauglicher RHEL-Klon mehr. Wer RHEL produktiv nutzen will, aber nicht dafür bezahlen kann, hat die Qual der Wahl: zwischen AlmaLinux, CentOS Stream (nicht für Langzeitnutzung), Oracle Linux, RHEL via Developer Subscription und Rocky Linux. Ich bin ein wenig zufällig im AlmaLinux-Lager gelandet und habe damit über mehrere Jahre, vor allem im Unterricht, ausgezeichnete Erfahrungen gemacht.
Nach diversen Tests mit der Beta-Version läuft AlmaLinux 10 jetzt nativ auf meinem Mini-PC (AMD 8745H), außerdem die aarch64-Variante in einer virtuellen Maschine auf meinem Mac. Dieser Artikel stellt die neue Version AlmaLinux 10 vor, die am 27. Mai 2025 freigegeben wurde, genau eine Woche nach dem Release von RHEL 10. Die meisten Informationen in diesem Artikel gelten auch für RHEL 10 sowie für die restlichen Klone. Oft beziehe ich mich daher im Text auf RHEL (Red Hat Enterprise Linux), also das zugrundeliegende Original. Es gibt aber auch ein paar feine Unterschiede zwischen dem Original und seinen Klonen.
AlmaLinux 10 mit Gnome Desktop
Ich habe vor, diesen Artikel in den nächsten Wochen zu aktualisieren, wenn ich mehr Erfahrungen mit AlmaLinux 10 gemacht habe und es zu Rocky Linux 10 und Oracle Linux 10 weitere Informationen gibt.
Update 8.6.2025: Der MySQL-Server ist per Default weiterhin offen wie ein Scheunentor.
Update 16.6.2025: Zu Rocky Linux 10 gibt es jetzt auch Release Notes.
Update 16.6.2025: Postfix und BDB vs LMDB
Update 27.6.2025: Oracle Linux 10 ist auch verfügbar, ich habe am Ende des Artikels Links zum Oracle-Blog und zu den Release Notes eingebaut
Update 3.7.2025: Im Hetzner-Cloud-Konfigurator können Sie jetzt auch AlmaLinux 10 und Rocky Linux 10 auswählen. Die Netzwerkkonfiguration erfolgt durch /etc/NetworkManager/system-connections/cloud-init-eth0.nmconnection (nicht mehr durch die veralteten Dateien in /etc/syconfig/network-scripts).
Red Hat hat mit RHEL 10 den X.org-Server aus den Paketquellen entfernt. RHEL setzt damit voll auf Wayland. (Mit XWayland gibt es für X-Client-Programme eine Kompatibilitätsschicht.) Weil RHEL und seine Klone zumeist im Server-Betrieb und ohne grafische Benutzeroberfläche laufen, ist der Abschied von X.org selten ein großes Problem. Einschränkungen können sich aber im Desktop-Betrieb ergeben, vor allem wenn statt Gnome ein anderes Desktop-System eingesetzt werden soll.
Eine Menge wichtiger Desktop-Programme sind aus den regulären Paketquellen verschwunden, unter anderem Gimp und LibreOffice. RHEL empfiehlt, die Programme bei Bedarf aus Flathub zu installieren. Davon abgesehen ist aber kein Wechsel hin zu Flatpaks zu bemerken. flatpak list ist nach einer Desktop-Installation leer.
In der Vergangenheit haben RHEL & Co. von wichtigen Software-Produkten parallel unterschiedliche Versionen ausgeliefert. Dabei setzte RHEL auf das Kommando dnf module. Beispielsweise stellte RHEL 9 Mitte 2025 die PHP-Versionen 8.1, 8.2 und 8.3 zur Auswahl (siehe dnf module list php).
Anscheinend sollen auch in RHEL 10 unterschiedliche Versionen (»AppStreams«) angeboten werden — allerdings nicht mehr in Form von dnf-Modulen. Wie der neue Mechanismus aussieht, habe ich nach dem Studium der Release Notes allerdings nicht verstanden.
Administration und Logging
Wie schon in den vergangenen Versionen setzt RHEL zur Administration auf Cockpit. Die Weboberfläche ist per Default aktiv, nicht durch eine Firewall geschützt und über Port 9090 erreichbar.
Zur Webadministration ist »Cockpit« auf Port 9090 vorgesehen
Bei einer Desktop-Installation sind standardmäßig rsyslog und das Journal installiert. rsyslog protokolliert wie eh und je in Textdateien in /var/log. Das Journal führt dagegen keine persistente Speicherung durch. Die Logging-Dateien landen in einem temporären Dateisystem in /run/log/journal und verschwinden mit jedem Reboot wieder. Wenn Sie ein dauerhaftes Journal wünschen, führen Sie die folgenden Kommandos aus:
Unbegreiflicherweise ist MySQL — jetzt in Version 8.4 — auch in RHEL 10 per Default so konfiguriert, dass jeder Benutzer mit mysql -u root ohne Passwort volle MySQL-Administrationsrechte erhält. Bei Ubuntu erhält per Default nur sudo mysql Admin-Rechte, und bei MariaDB (egal, ob unter Debian, Fedora, RHEL oder Ubuntu) gilt die gleiche Regel. Warum also nicht auch bei RHEL und MySQL?
Wie dem auch sei, das Problem ist nicht neu. Führen Sie also unmittelbar nach der Installation von mysql-server das Kommando mysql_secure_installation aus! Entscheidend ist dabei die Einstellung einen root-Passworts für MySQL.
sudo mysql_secure_installation
Would you like to setup VALIDATE PASSWORD component? y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters,
dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
Please set the password for root here.
New password: ************
Re-enter new password: ************
Disallow root login remotely? y
Remove test database and access to it? y
Reload privilege tables now? y
Postfix und BDB versus LMDB
RHEL 10 liefert den Mail-Server Postfix in der Version 3.8 aus. Bei früheren RHEL-Versionen hat Postfix Berkeley Datenbanken (BDB) zur Speicherung von Konfigurationstabellen verwendet. Mit RHEL 10 wird allerdings die libdbd-Bibliotheken aufgrund von Lizenzproblemen nicht mehr mitgeliefert. Postfix verwendet jetzt per Default LMDB-Datenbanken:
So weit, so gut. Ich bin beim Versuch, einen Postfix-Server einzurichten, allerdings über die Datei /etc/aliases gestolpert. Bisher was es notwendig, nach jeder Änderung in dieser Datei die entsprechende BDB-Datenbank aliases.db mit dem Kommando newaliases neu zu generieren. Genau dieser Hinweis steht auch in der von RHEL ausgelieferten Beispieldatei /etc/aliases. Und erstaunlicherweise funktioniert das Kommando auch unter RHEL 10. newaliases ist über fünf Links mit /usr/sbin/smtpctl aus dem Paket opensmtpd verbunden und scheint weiterhin BDB-Funktionen zu enthalten, Lizenzsorgen hin oder her.
Das Problem ist allerdings, dass Postfix /etc/aliases.db ignoriert und sich stattdessen darüber beklagt, dass es /etc/aliases.lmdb nicht gibt.
journalctl -u postfix
... postfix/smtpd[56492]: error: open database /etc/aliases.lmdb: No such file or directory
Ich habe eine Weile gebraucht, bis ich einen Weg gefunden habe, aliases.lmdb zu erzeugen. Das richtige Kommando, das newaliases ersetzt, sieht jetzt so aus:
postalias /etc/aliases
Virtualisierung
Red Hat enthält die üblichen qemu/kvm-Pakete als Basis für den Betrieb virtueller Maschinen. Die Steuerung kann wahlweise auf Kommandoebene (virsh) oder mit der Weboberfläche Cockpit erfolgen.
Das wesentlich komfortablere Programm virt-manager hat Red Hat schon vor Jahren als obsolet bezeichnet, und ich hatte Angst, das Programm wäre mit Version 10 endgültig verschwunden. Aber überraschenderweise gibt es das Paket weiterhin im CodeReady-Builder-Repository:
crb enable
dnf install virt-manager
virt-manager ist aus meiner Sicht die einfachste Oberfläche, um virtuelle Maschinen auf der Basis von QEMU/KVM zu verwalten. Red Hat empfiehlt stattdessen Cockpit (dnf install cockpit-machines), aber dieses Zusatzmodul zur Weboberfläche Cockpit hat mich bisher nicht überzeugen können. Für die Enterprise-Virtualisierung gibt es natürlich auch OpenShift und OpenStack, aber für kleine Lösungen schießen diese Angebote über das Ziel hinaus.
Bereits in RHEL 9 hat Red Hat die Unterstützung für Spice (Simple Protocol for Independent Computing Environments) eingestellt (siehe auch dieses Bugzilla-Ticket). Spice wurde/wird von virt-manager als bevorzugtes Protokoll zur Übertragung des grafischen Desktops verwendet. Die Alternative ist VNC.
Abweichend von RHEL wird Spice von AlmaLinux weiter unterstützt (siehe Release Notes).
EPEL (Extra Packages for Enterprise Linux)
Zu den ersten Aktionen in RHEL 10 oder einem Klon gehört die Aktivierung der EPEL-Paketquelle. In AlmaLinux gelingt das einfach mit dnf install epel-release. Es wird empfohlen, zusammen mit EPEL auch die gerade erwähnte CRB-Paketquelle zu aktivieren.
Die EPEL-10-Paketquelle ist mit schon gut gefüllt. dnf repository-packages epel list | wc -l meldet über 17.000 Pakete! Ein paar Pakete habe ich dennoch vermisst:
google-authenticator fehlt noch, ist aber in EPEL 10.1 für Fedora schon enthalten, wird also hoffentlich auch für RHEL10 & Klone bald verfügbar sein.
joe fehlt ebenfalls nicht mehr (Stand 3.7.2025). Ich installiere dieses Editor-Paket gerne, weil es jmacs zur Verfügung stellt, eine minimale Emacs-Variante. Ich bin vorerst auf mg umgestiegen, es entspricht meinen Ansprüchen ebenfalls. (Ich bin kein vi-Fan, und nano ist mir ein bisschen zu minimalistisch. Den »richtigen« Emacs brauche ich aber auch nicht, um zwei Zeilen in /etc/hosts zu ändern.)
AlmaLinux in der Hetzner-Cloud
Hetzner bietet mittlerweile vorkonfigurierte Cloud-Instanzen für AlmaLinux 10 und RockyLinux 10 an. Die einzige wesentliche Neuerung, die mir aufgefallen ist, betrifft die Netzwerkkonfiguration. Während Hetzner bis Version 9 auf die eigentlich dort schon veralteten Dateien in /etc/sysconfig/network-scripts gesetzt hat, kümmert sich jetzt eine NetworkManager-Datei um die Konfiguration. Beispiel:
cat /etc/NetworkManager/system-connections/cloud-init-eth0.nmconnection
# Generated by cloud-init. Changes will be lost.
[connection]
id=cloud-init eth0
uuid=1dd9a779-d327-56e1-8454-c65e2556c12c
autoconnect-priority=120
type=ethernet
[user]
org.freedesktop.NetworkManager.origin=cloud-init
[ethernet]
mac-address=96:00:04:6E:A0:A0
[ipv4]
method=auto
may-fail=false
[ipv6]
method=manual
may-fail=false
address1=2a01:4f8:1c17:53db::1/64
gateway=fe80::1
dns=2a01:4ff:ff00::add:1;2a01:4ff:ff00::add:2;
AlmaLinux versus Original (RHEL)
Im Wesentlichen verwendet AlmaLinux den gleichen Quellcode wie RHEL und ist zu diesem vollständig kompatibel. Es gibt aber ein paar feine Unterschiede:
Seit RHEL den Zugang zum Quellcodes für die Updates erschwert hat (siehe Ärger für Red-Hat-Klone und Red Hat und die Parasiten), greift AlmaLinux auch auf den Upstream-Quellcode einzelner Projekte zu, führt Bugfixes/Sicherheits-Updates zum Teil früher durch als RHEL und besteht nicht mehr auf eine vollständige Bit-für-Bit- und Bug-für-Bug-Kompatibilität. Im Detail ist diese Strategie und das Ausmaß der Kompatibilität hier dokumentiert.
Red Hat hat RHEL 10 für x86_v3 kompiliert, unterstützt damit nur relativ moderne Intel- und AMD-CPUs. Deswegen läuft RHEL 10 auf älteren Computern nicht mehr! Alma Linux macht es ebenso, bietet aber darüber hinaus eine v2-Variante an und unterstützt damit auch ältere Hardware. Die Mikroarchitektur-Unterschiede zwischen v2 und v3 sind z.B. in der Wikipedia sowie auf infotechys.com beschrieben. Das v2-Angebot umfasst auch die EPEL-Paketquelle.
Der Verzicht auf Bit-für-Bit-Kompatibilität gibt AlmaLinux die Möglichkeit, sich in einigen Details vom Original abzuheben. Das betrifft unter anderem die Unterstützung von Frame Pointers als Debugging-Hilfe sowie die fortgesetzte Unterstützung des Protokolls Spice,
AlmaLinux vs RockyLinux und Oracle Linux
In der Vergangenheit waren alle Klone praktisch gleich. Nun gut, Oracle hat immer einen eigenen »unbreakable« Kernel angeboten, aber davon abgesehen war das gesamte Paketangebot Bit für Bit kompatibel zum Original, kompiliert aus den gleichen Quellen. Die Extrapakete aus der EPEL-Quelle sind sowieso für das Original und seine Klone ident.
Seit Red Hat 2023 den Zugriff auf den Source-Code aller Updates eingeschränkt bzw. deutlich weniger unbequemer gemacht hat, haben sich AlmaLinux auf der einen und Rocky Linux und Oracle Linux auf der anderen Seite ein wenig auseinander entwickelt. AlmaLinux hat den Anspruch auf Bit-für-Bit-Kompatibilität aufgegeben (siehe oben). Rocky Linux und Oracle Linux beziehen den Quellcode für Updates hingegen nun aus anderen öffentlichen Quellen, unter anderem aus Cloud- und Container-Systemen (Quelle).
RHEL Developer
Für Entwickler macht Red Hat mit dem Red Hat Developer eigentlich ein attraktives Angebot. Nach einer Registrierung gibt es 16 freie Lizenzen für Tests und Entwicklungsarbeit. Ich habe einen entsprechenden Account, habe RHEL 10 installiert und registriert, bin aber dennoch nicht in der Lage, die Paketquellen zu aktivieren. Vielleicht bin ich zu blöd, vielleicht wird RHEL 10 noch nicht unterstützt (diesbezüglich fehlt klare Dokumentation) — ich weiß es nicht. Ich habe es ein paar Stunden probiert, und ich werde es in ein paar Wochen wieder versuchen. Vorerst fehlt mir dazu aber die Zeit und der Nerv.
Mozilla hat Firefox 139 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.
Benutzerdefiniertes Hintergrundbild oder -farbe für Startseite
Der Nutzer kann für die Standard-Startseite von Firefox auf Wunsch aus verschiedene Hintergrundbildern oder Hintergrundfarben wählen, die Firefox zur Auswahl stellt. Ab sofort kann der Nutzer stattdessen auch ein eigenes Bild hinterlegen oder eine beliebige Farbe auswählen.
Diese Neuerung wird schrittweise im Laufe der kommenden Wochen für alle Nutzer ausgerollt werden.
Mehr Sicherheit für Firefox-Nutzer
Auch in Firefox 139 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 139 daher für alle Nutzer dringend empfohlen.
Sonstige Endnutzer-Neuerungen in Firefox 139
Die Übersetzungsfunktion von Firefox kann nicht länger nur für Websites genutzt werden, sondern auch für Seiten, die durch Add-ons bereitgestellt werden. Außerdem werden jetzt auch bestimmte aria-*-Attribute für Barrierefreiheits-Werkzeuge übersetzt.
Untertitel für die Bild-im-Bild-Funktion für Videos werden ab sofort auch auf der im deutschsprachigen Raum sehr populären Streaming-Plattform Joyn unterstützt. Außerdem werden Untertitel auf Disney+ wieder unterstützt, nachdem es Änderungen seitens Disney gab.
Im strengen Schutz vor Aktivitätenverfolgung werden nicht länger Consent Management Plattformen, sogenannte „Cookie-Dialoge“, blockiert, was für einen sehr großen Teil aller Webkompatibilitätsprobleme dieser Schutzstufe verantwortlich war.
Die vor wenigen Versionen neu umgesetzte Chronik-Sidebar hat die Optionen der alten Sidebar zurückerhalten, nicht nur nach Datum oder Website, sondern auch nach Datum und Website sowie dem Zeitpunkt des letzten Besuches sortieren zu können. Auch das Kontextmenü der einzelnen Einträge beinhaltet jetzt wieder alle Optionen der alten Sidebar. Außerdem wurde das Problem behoben, dass für manche Nutzer der Browser nicht mehr mit geöffneter Sidebar gestartet wurde, wenn diese beim Beenden von Firefox geöffnet war.
Das Design der Verknüpfungen auf der Standard-Startseite von Firefox wurde überarbeitet.
Die aktuelle Seite kann jetzt auch per Schnellaktions-Schaltfläche als PDF-Datei gespeichert werden, wenn „Seite speichern“ in die Adressleiste eingegeben wird.
Beim automatischen Ausfüllen gespeicherter Adressen berücksichtigt Firefox jetzt auch dynamisch veränderte Auswahlfelder.
Die Upload-Performance von HTTP/3 wurde erheblich verbessert, insbesondere bei wiederaufgenommenen Verbindungen sowie bei Verbindungen mit hoher Bandbreite und hoher Verzögerung.
Das Filter-Feld im Netzwerkanalyse-Entwicklerwerkzeug merkt sich die Eingabe nun über Sitzungen hinweg.
Aufgrund aktueller Änderungen, wie Chrome Benutzerdaten unter Windows verschlüsselt, kann Firefox Passwörter und Zahlungsmethoden nicht länger direkt aus Chrome importieren. Deswegen steht diese Option nicht länger zur Verfügung. Passwörter können jedoch weiterhin aus Chrome in eine CSV-Datei exportiert und diese anschließend in Firefox importiert werden.
In Folge der bevorstehenden Abschaltung von Fakespot steht der sogenannte „Review Checker“ ab dem 10. Juni nicht länger zur Verfügung. Da es sich hierbei um ein bislang nicht flächendeckend ausgerolltes Feature handelt, welches außerdem für die deutschsprachige Amazon-Website standardmäßig deaktiviert war (und keine anderen deutschsprachigen Shops unterstützt werden), dürften hiervon nur wenige Leser dieses Blogs betroffen sein.
Die SearchEngines-Unternehmensrichtlinie zur Verwaltung der standardmäßig verfügbaren Suchmaschinen funktioniert nun in allen Firefox-Versionen und nicht länger nur in Firefox ESR.
Verbesserungen der Webplattform und für Erweiterungs-Entwickler
Als erster Browserhersteller aktiviert Mozilla die Unterstützung für die Temporal API zum besseren Umgang mit Datums- und Zeitangaben.
Firefox unterstützt jetzt das hidden=until-found-Attribut, um Inhalte über die Browsersuche finden zu können, die standardmäßig ausgeblendet sind. Genauso lassen sich jetzt auch geschlossene <details>-Elemente durchsuchen und bei einem Treffer über die Browsersuche automatisch ausklappen.
Verbesserungen gab es auch unter der Haube, welche die Webkompatibilität mit anderen Browsern verbessern.
Firefox 139 unterstützt die WebExtension-Methode chrome.management.setEnabled, um andere Erweiterungen zu aktivieren respektive zu deaktivieren. Allerdings ist diese Unterstützung exklusiv für Erweiterungen, welche über eine Unternehmensrichtlinie installiert worden sind.
Außerdem neu ist die Unterstützung einer neuen WebExtension-API, um mit den Tab-Gruppen von Firefox zu interagieren.
Für Erweiterungs-Entwickler gibt es mit extensions.webextensions.prefer-update-over-install-for-existing-addon eine neue versteckte Option, um den Update-Ablauf anstelle des Ablaufes für eine Neuinstallation auszuführen, wenn eine lokale Erweiterung über about:addons installiert wird.
Weitere Verbesserungen der Webplattform und für Erweiterungsentwickler lassen sich wie immer in den MDN Web Docs nachlesen.
Seit vielen Jahren verwende ich Let’s Encrypt-Zertifikate für meine Webserver. Zum Ausstellen der Zertifikate habe ich in den Anfangszeiten das Kommando certbot genutzt. Weil die Installation dieses Python-Scripts aber oft Probleme bereitete, bin ich schon vor vielen Jahren auf das Shell-Script acme.sh umgestiegen (siehe https://github.com/acmesh-official/acme.sh).
Kürzlich bin ich auf einen Sonderfall gestoßen, bei dem acme.sh nicht auf Anhieb funktioniert. Die Kurzfassung: Ich verwende Apache als Proxy für eine REST-API, die in einem Docker-Container läuft. Bei der Zertifikatausstellung/-erneuerung ist Apache (der auf dem Rechner auch als regulärer Webserver läuft) im Weg; die REST-API liefert wiederum keine statischen Dateien aus. Die Domain-Verifizierung scheitert. Abhilfe schafft eine etwas umständliche Apache-Konfiguration.
Ausgangspunkt
Ausgangspunkt ist also ein »gewöhnlicher« Apache-Webserver. Dieser soll nun zusätzlich eine REST-API ausliefern, die in einem Docker-Container läuft (localhost:8880). Die erste Konfiguration sah ziemlich simpel aus:
Das Problem besteht darin, dass acme.sh zwar diverse Domain-Verifizierungsverfahren kennt, aber keines so richtig zu meiner Konfiguration passt:
acme.sh ... --webroot scheitert, weil die API eine reine API ist und keine statischen Dateien ausliefert.
acme.sh ... --standalone scheitert, weil der bereits laufende Webserver Port 80 blockiert.
acme.sh ... --apache scheitert mit could not resolve api.example.com.well-known.
Die Lösung
Die Lösung besteht darin, die Apache-Proxy-Konfiguration dahingehend zu ändern, dass zusätzlich in einem Verzeichnis statische Dateien ausgeliefert werden dürfen. Dazu habe ich das neue Verzeichnis /var/www/acme-challenge eingerichtet:
Danach habe ich die Konfigurationsdatei für Apache umgebaut, so dass Anfragen an api.example.com/.well-known/acme-challenge mit statischen Dateien aus dem Verzeichnis /var/www/acme-challenge/.well-known/acme-challenge bedient werden:
# Apache-Konfiguration wie bisher
<VirtualHost *:443>
ServerName api.example.com
# SSL
SSLEngine on
SSLCertificateFile /etc/acme-letsencrypt/api.example.com.pem
SSLCertificateKeyFile /etc/acme-letsencrypt/api.example.com.key
# Proxy: localhost:8880 <-> api.example.com
ProxyPreserveHost On
ProxyPass / http://localhost:8880/
ProxyPassReverse / http://localhost:8880/
# Logging Konfiguration ...
</VirtualHost>
# geändert: HTTP auf HTTPS umleiten, aber nicht
# für well-known-Verzeichnis
<VirtualHost *:80>
ServerName api.example.com
# Handle ACME challenges locally
Alias /.well-known/acme-challenge /var/www/acme-challenge/.well-known/acme-challenge
<Directory /var/www/acme-challenge/.well-known/acme-challenge>
Require all granted
</Directory>
# Redirect everything EXCEPT ACME challenges to HTTPS
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/
RewriteRule ^(.*)$ https://api.example.com$1 [R=301,L]
</VirtualHost>
Nach diesen Vorbereitungsarbeiten und mit systemctl reload apache2 gelingt nun endlich das Zertifikaterstellen und -erneuern mit dem --webroot-Verfahren. Dabei richtet acme.sh vorübergehend die Datei /var/www/acme-challenge/.well-known/acme-challenge/xxx ein und testet dann via HTTP (Port 80), ob die Datei gelesen werden kann.
Eine noch elegantere Lösung besteht darin, den Docker-Container mit Traefik zu kombinieren (siehe https://traefik.io/traefik/). Bei korrekter Konfiguration kümmert sich Traefik um alles, nicht nur um die Proxy-Funktionen sondern sogar um das Zertifikatsmanagment. Aber diese Lösung kommt nur in Frage, wenn auf dem Host nicht schon (wie in meinem Fall) ein Webserver läuft, der die Ports 80 und 443 blockiert.
Wir schreiben das Jahr 2025. Die Frage, ob man Linux-Server mit oder ohne Swap-Partition betreiben sollte, spaltet die Linux-Gemeinschaft in einer Weise, wie wir es seit dem Editor War nicht mehr gesehen haben…
So könnte ein spannender Film für Sysadmins anfangen, oder? Ich möchte aber keinen Streit vom Zaun brechen, sondern bin an euren Erfahrungen und Gedanken interessiert. Daher freue ich mich, wenn ihr euch die Zeit nehmt, folgende Fragen in den Kommentaren zu diesem Beitrag oder in einem eigenen Blogpost zu beantworten.
Stellt ihr Linux-Server mit Swap-Partition bereit und wie begründet ihr eure Entscheidung?
Hat euch die Swap-Partition bei sehr hoher Speicherlast schon mal die Haut bzw. Daten gerettet?
War der Server während des Swapping noch administrierbar? Falls ja, welche Hardware wurde für die Swap-Partition genutzt?
Eine kleine Mastodon-Umfrage lieferte bisher folgendes Bild:
Schaue ich mir meine eigenen Server an, so ergibt sich ein gemischtes Bild:
Debian mit LAMP-Stack und Containern: 16 GB RAM & kein Swap
RHEL-KVM-Hypervisor 1: 32 GB RAM & 4 GB Swap
RHEL-KVM-Hypervisor 2: 128 GB RAM & kein Swap
RHEL-Container-Host (VM): 4 GB RAM & 4 GB Swap
Bis auf den Container-Host handelt es sich um Bare-Metal-Server.
Ich kann mich nicht daran erinnern, dass jemals einem dieser Systeme der Hauptspeicher ausgegangen ist oder der Swapspeicher genutzt worden wäre. Ich erinnere mich, zweimal Swapping auf Kunden-Servern beobachtet zu haben. Die Auswirkungen waren wie folgt.
Im ersten Fall kamen noch SCSI-Festplatten im RAID zum Einsatz. Die Leistung des Gesamtsystems verschlechterte sich durch das Swapping so stark, dass bereitgestellten Dienste praktisch nicht mehr verfügbar waren. Nutzer erhielten Zeitüberschreitungen ihrer Anfragen, Sitzungen brachen ab und das System war nicht mehr administrierbar. Am Ende wurde der Reset-Schalter gedrückt. Das Problem wurde schlussendlich durch eine Vergrößerung des Hauptspeichers gelöst.
Im zweiten Fall, an den ich mich erinnere, führte ein für die Nacht geplanter Task zu einem erhöhten Speicherverbrauch. Hier hat Swapping zunächst geholfen. Tasks liefen zwar länger, wurden aber erfolgreich beendet und verwendeter Hauptspeicher wurde anschließend wieder freigegeben. Hier entstand erst ein Problem, als der Speicherbedarf größer wurde und die Swap-Partition zu klein war. So kam es zum Auftritt des Out-of-Memory-Killer, der mit einer faszinierenden Genauigkeit immer genau den Prozess abgeräumt hat, den man als Sysadmin gern behalten hätte. Auch hier wurde das Problem letztendlich durch eine Erweiterung des Hauptspeichers gelöst.
Ich erinnere mich auch noch an die ein oder andere Anwendung mit einem Speicherleck. Hier hat vorhandener Swap-Speicher das Leid jedoch lediglich kurz verzögert. Das Problem wurde entweder durch einen Bugfix oder den Wechsel der Anwendung behoben.
Nun bin ich auf eure Antworten und Erfahrungsberichte gespannt.
Seit über zwölf Jahren beschäftige ich mich intensiv mit Linux-Servern. Der Einstieg gelang mir über den Einplatinencomputer Raspberry Pi. Erste Erfahrungen sammelte ich damals mit XBMC – heute besser bekannt als Kodi. Dabei handelt es sich um eine freie, plattformübergreifende Mediaplayer-Software, die dank ihrer Flexibilität und Erweiterbarkeit schnell mein Interesse an quelloffener Software weckte.
Schnell wurde mir klar, dass der Raspberry Pi weit mehr kann. So folgten bald weitere spannende Projekte, darunter auch die ownCloud. Das von Frank Karlitschek gegründete Unternehmen entwickelte eine Cloud-Software, die nicht nur quelloffen war, sondern sich auch problemlos auf Systemen wie Debian oder Ubuntu installieren ließ. Die Möglichkeit, eigene Dateien auf einem selbst betriebenen Server zu speichern und zu synchronisieren, war ein überzeugender Schritt in Richtung digitaler Eigenverantwortung.
Im Jahr 2016 verließ Karlitschek ownCloud, forkte das Projekt und gründete die Firma Nextcloud. Diese erfreut sich bis heute großer Beliebtheit in der Open-Source-Community. Nextcloud bietet neben der klassischen Dateisynchronisation auch zahlreiche Erweiterungen wie Kalender, Kontakte, Videokonferenzen und Aufgabenverwaltung. Damit positioniert sich die Lösung als vollwertige Alternative zu kommerziellen Diensten wie Google Workspace oder Microsoft 365 – mit dem entscheidenden Unterschied, dass die Datenhoheit beim Nutzer selbst bleibt.
Debian vs. Ubuntu
Nextcloud lässt sich auf Debian- und Ubuntu-Systemen relativ unkompliziert auf einem klassischen LAMP-Stack installieren. Doch welches System die bessere Wahl ist, lässt sich pauschal nicht sagen – beide bringen ihre jeweiligen Stärken und Schwächen mit. Debian gilt als besonders stabil und konservativ, was es ideal für Serverumgebungen macht. Ubuntu hingegen punktet mit einem häufig aktuelleren Softwareangebot und einem umfangreicheren Hardware-Support.
Da das Betriebssystem des Raspberry Pi stark an Debian angelehnt ist, läuft die Cloud-Software auch auf dieser Plattform nach wie vor sehr stabil – inzwischen sogar in einer 64-Bit-Variante. Häufiger Flaschenhals ist hier jedoch nicht die Software selbst, sondern die Internetanbindung. Insbesondere der Upstream kann bei vielen DSL-Verbindungen zur Herausforderung werden, wenn größere Datenmengen übertragen werden sollen. Ein Blick in Richtung Virtual Private Server kann sich lohnen.
Virtual Private Server
Wer eine Nextcloud im eigenen Zuhause betreiben möchte, ist mit einem Raspberry Pi gut beraten. Doch Mini-PCs mit Debian oder Ubuntu bieten aufgrund ihrer Bauform – etwa durch die Möglichkeit, mehrere SSDs aufzunehmen – oft eine noch bessere Alternative. Hinzu kommt der Vorteil, dass auch Dienste wie automatische Backups oder RAID-Systeme einfacher umzusetzen sind.
Will man jedoch weitere Dienste auf dem Server betreiben, wie etwa WordPress für die eigene Webseite oder einen Mailserver für den E-Mail-Verkehr, stößt man mit einem Mini-Computer schnell an Grenzen. In solchen Fällen ist ein Virtual Private Server, kurz VPS, die bessere Wahl. Leistungsfähige Angebote wie ein passendes VPS von IONOS, Hetzner oder Netcup machen ein solches Vorhaben inzwischen auch für Privatnutzer bezahlbar. VPS bieten dabei nicht nur mehr Leistung, sondern auch eine höhere Verfügbarkeit, da die Anbindung an das Internet in der Regel professionell realisiert ist.
Fazit
Wer eigene Dienste wie Cloud, Website oder E-Mail in Selbstverwaltung hosten möchte, kann dies mit überschaubarem Aufwand zu Hause mit Open-Source-Software umsetzen. Reicht die Leistung nicht aus, ist ein Virtual Private Server (VPS) eine sinnvolle Alternative.
Der administrative Aufwand sollte dabei nicht unterschätzt werden. Regelmäßige Updates, Backups und Sicherheitskonfigurationen gehören ebenso zum Betrieb wie ein grundlegendes Verständnis für die eingesetzten Komponenten. Doch der entscheidende Vorteil bleibt: Die Kontrolle über die eigenen Daten liegt vollständig in der eigenen Hand – ein wichtiger Schritt hin zur digitalen Souveränität. Open Source baut hier nicht nur funktionale, sondern auch ideelle Brücken.
Viele Anwender haben lange darauf gewartet – GIMP ist nach fast sechs Jahren Entwicklungszeit in Version 3 erschienen. Dieses Release bringt einen komplett überarbeiteten Kern mit sich und setzt nun auf das GTK3-Toolkit. Das Buch „GIMP 3: Das umfassende Handbuch“ bietet – wie der Name schon verrät – ein umfassendes Nachschlagewerk zum GNU Image Manipulation Program, kurz: GIMP.
Das Buch ist in sieben Teile gegliedert.
Teil I – Grundlagen widmet sich, wie der Titel schon sagt, den grundlegenden Funktionen von GIMP. Der Autor erläutert die Oberfläche des Grafikprogramms und stellt dabei heraus, dass sich Nutzer auch in der neuen Version schnell zurechtfinden – ein Hinweis, der mögliche Bedenken beim Umstieg zerstreuen dürfte. Die Aussage „GIMP ist nicht Photoshop“ von Jürgen Wolf ist prägnant und unterstreicht, dass es sich bei GIMP um ein eigenständiges, leistungsfähiges Programm handelt, das keinen direkten Vergleich mit kommerzieller Software scheuen muss – oder sollte. Zahlreiche Workshops mit umfangreichem Zusatzmaterial begleiten die einzelnen Kapitel. Neben der Benutzeroberfläche werden in Teil I auch Werkzeuge und Dialoge ausführlich erklärt. Darüber hinaus wird beschrieben, wie RAW-Aufnahmen in GIMP importiert und weiterverarbeitet werden können. Ebenso finden sich Anleitungen zum Speichern und Exportieren fertiger Ergebnisse sowie Erläuterungen zu den Unterschieden zwischen Pixel- und Vektorgrafiken (siehe Grafik). Auch Themen wie Farben, Farbmodelle und Farbräume werden behandelt – Letzteres wird im dritten Teil des Buches noch einmal vertieft.
Vektorgrafik vs. Pixelgrafik
Teil II – Die Bildkorrektur behandelt schwerpunktmäßig die Anpassung von Helligkeit, Kontrast und anderen grundlegenden Bildeigenschaften. Ein wesentlicher Abschnitt widmet sich der Verarbeitung von RAW-Aufnahmen, wobei das Zusammenspiel von GIMP mit Darktable im Mittelpunkt steht. Zahlreiche Beispiele und praxisnahe Bearbeitungshinweise unterstützen den Leser bei der Umsetzung am eigenen Bildmaterial.
Teil III – Rund um Farbe und Schwarzweiß beschreibt den Umgang mit Farben und erläutert grundlegende Konzepte dieses Themenbereichs. Dabei wird auch der Einsatz von Werkzeugen wie Pinsel, Stift und Sprühpistole behandelt. Darüber hinaus zeigt das Kapitel, wie Farben verfremdet und Schwarzweißbilder erstellt werden können.
Teil IV – Auswahlen und Ebenen führt den Leser in die Arbeit mit Auswahlen und Ebenen ein. Besonders faszinierend ist dabei das Freistellen von Objekten und die anschließende Bildmanipulation – eine Disziplin, die GIMP hervorragend beherrscht. Auch hierzu bietet das Buch eine Schritt-für-Schritt-Anleitung in Form eines Workshops.
Teil V – Kreative Bildgestaltung und Retusche erklärt, was sich hinter Bildgröße und Auflösung verbirgt und wie sich diese gezielt anpassen lassen. Techniken wie der „Goldene Schnitt“ werden vorgestellt und angewendet, um Motive wirkungsvoll in Szene zu setzen. Außerdem zeigt das Kapitel, wie sich Objektivfehler – etwa tonnen- oder kissenförmige Verzeichnungen – sowie schräg aufgenommene Horizonte korrigieren lassen. Die Bildverbesserung und Retusche werden ausführlich behandelt. Vorgestellte Techniken wie die Warptransformation sind unter anderem in der Nachbearbeitung von Werbefotografie unverzichtbar.
Retusche – Warptransformation
Teil VI – Pfade, Text, Filter und Effekte beschäftigt sich mit den vielfältigen Möglichkeiten, die GIMP für die Arbeit mit Pixel- und Vektorgrafiken bietet. So lassen sich beispielsweise Pixelgrafiken nachzeichnen, um daraus Vektoren bzw. Pfade für die weitere Bearbeitung zu erzeugen. Eine weitere Übung, die sich mit der im Handbuch beschriebenen Methode leicht umsetzen lässt, ist der sogenannte Andy-Warhol-Effekt.
Andy-Warhol-Effekt
Teil VII – Ausgabe und Organisation zeigt, wie der Leser kleine Animationen im WebP- oder GIF-Format erstellen kann. Auch worauf beim Drucken und Scannen zu achten ist, wird in diesem Kapitel ausführlich erläutert. Jürgen Wolf geht zudem noch einmal umfassend auf die verschiedenen Einstellungen in GIMP ein. Besonders hilfreich ist die Auflistung sämtlicher Tastaturkürzel, die die Arbeit mit dem Grafikprogramm spürbar erleichtern.
Das Buch umfasst insgesamt 28 Kapitel und deckt damit alle wichtigen Bereiche der Bildbearbeitung mit GIMP 3 ab.
„GIMP 3: Das umfassende Handbuch“ von Jürgen Wolf überzeugt durch eine klare Struktur, verständliche Erklärungen und praxisnahe Workshops. Sowohl Einsteiger als auch fortgeschrittene Anwender finden hier ein zuverlässiges Nachschlagewerk rund um die Bildbearbeitung mit GIMP. Besonders hervorzuheben sind die zahlreichen Beispiele sowie die umfassende Behandlung aller relevanten Themenbereiche. Wer ernsthaft mit GIMP arbeiten möchte, findet in diesem Buch eine uneingeschränkte Kaufempfehlung.
Der SSH-Dienst ist ein natürliches Angriffsziel jedes Servers. Klassische Abwehrmaßnahmen zielen darauf aus, den root-Login zu sperren (das sollte eine Selbstverständlichkeit sein) und mit Fail2ban wiederholte Login-Versuche zu blockieren. Eine weitere Sicherheitsmaßnahme besteht darin, den Passwort-Login mit einer Zwei-Faktor-Authentifizierung (2FA) zu verbinden. Am einfachsten gelingt das server-seitig mit dem Programm google-authenticator. Zusätzlich zum Passwort muss nun ein One-time Password (OTP) angegeben werden, das mit einer entsprechenden App generiert wird. Es gibt mehrere geeignete Apps, unter anderem Google Authenticator und Authy (beide kostenlos und werbefrei).
Es gibt verschiedene Konfigurationsoptionen. Ziel dieser Anleitung ist es, parallel zwei Authentifizierungsvarianten anzubieten:
mit SSH-Schlüssel (ohne 2FA)
mit Passwort und One-time Password (also mit 2FA)
Links die App »Google Authenticator«, rechts »Authy«
Grundlagen: sshd-Konfiguration
Vorweg einige Worte zu Konfiguration des SSH-Servers. Diese erfolgt durch die folgenden Dateien:
Verwechseln Sie sshd_config nicht mit ssh_config (ohne d) für die Konfiguration des SSH-Clients, also für die Programme ssh und scp! opensshserver.config legt fest, welche Verschlüsselungsalgorithmen erlaubt sind.
Beachten Sie, dass bei Optionen, die in den sshd-Konfigurationsdateien mehrfach eingestellt sind, der erste Eintrag gilt (nicht der letzte)! Das gilt auch für Einstellungen, die am Beginn von sshd_config mit Include aus dem Unterverzeichnis /etc/ssh/sshd_config.d/ gelesen werden und die somit Vorrang gegenüber sshd_config haben.
Werfen Sie bei Konfigurationsproblemen unbedingt auch einen Blick in das oft übersehene sshd_config.d-Verzeichnis und vermeiden Sie Mehrfacheinträge für ein Schlüsselwort!
Weil die Dateien aus /etc/ssh/sshd_config.d/ Vorrang gegenüber sshd_config haben, besteht eine Konfigurationsstrategie darin, sshd_config gar nicht anzurühren und stattdessen alle eigenen Einstellungen in einer eigenen Datei (z.B. sshd_config.d/00-myown.conf) zu speichern. 00 am Beginn des Dateinamens stellt sicher, dass die Datei vor allen anderen Konfigurationsdateien gelesen wird.
Überprüfen Sie bei Konfigurationsproblemen mit sshd -T, ob die Konfiguration Fehler enthält. Wenn es keine Konflikte gibt, liefert sshd -T eine Auflistung aller aktuell gültigen Einstellungen. Die Optionen werden dabei in Kleinbuchstaben angezeigt. Mit grep -i können Sie die für Sie relevante Einstellung suchen:
sshd -T | grep -i permitro
permitrootlogin yes
Änderungen an sshd_config werden erst wirksam, wenn der SSH-Server die Konfiguration neu einliest. Dazu führen Sie das folgende Kommando aus:
Google Authenticator bezeichnet zwei unterschiedliche Programme: einerseits die App, die sowohl für iOS als auch für Android verfügbar ist, andererseits ein Linux-Kommando, um die 2FA auf einem Linux-Server einzurichten. Während der Code für die Smartphone-Apps nicht öffentlich ist, handelt es sich bei dem Linux-Kommando um Open-Source-Code. Das resultierende Paket steht für RHEL-Distributionen in der EPEL-Paketquelle zur Verfügung, bei Ubuntu in universe.
Nach der Installation führen Sie für den Account, als der Sie sich später via SSH anmelden möchten (also nicht für root), das Programm google-authenticator aus. Nachdem Sie den im Terminal angezeigten QR-Code gescannt haben, sollten Sie zur Kontrolle sofort das erste OTP eingeben. Sämtliche Rückfragen können Sie mit y beantworten. Die Rückfragen entfallen, wenn Sie das Kommando mit den Optionen -t -d -f -r 3 -R 30 -W ausführen. Das Programm richtet die Datei .google-authenticator im Heimatverzeichnis ein.
user$ google-authenticator
Do you want authentication tokens to be time-based (y/n)
Enter code from app (-1 to skip): nnnnnn
Do you want me to update your .google_authenticator file? (y/n)
Do you want to disallow multiple uses of the same
authentication token? (y/n)
...
Zum Einrichten wird das Kommando »google-authenticator« im Terminal ausgeführt. Den QR-Code scannen Sie dann mit der OTP-App Ihrer Wahl ein. (Keine Angst, der hier sichtbare QR-Code stammt nicht von einem öffentlich zugänglichen Server. Er wurde vielmehr testweise in einer virtuellen Maschine erzeugt.)
SSH-Server-Konfiguration
Das nächste Listing zeigt die erforderlichen sshd-Einstellungen. Mit der Methode keyboard-interactive wird PAM für die Authentifizierung verwendet, wobei auch eine mehrstufige Kommunikation erlaubt ist. Die ebenfalls erforderliche Einstellung UsePAM yes gilt bei den meisten Linux-Distributionen standardmäßig. Am besten speichern Sie die folgenden Zeilen in der neuen Datei /etc/ssh/sshd_config.d/00-2fa.conf. Diese wird am Beginn der sshd-Konfiguration gelesen und hat damit Vorrang gegenüber anderen Einstellungen.
# Datei /etc/ssh/sshd_config.d/00-2fa.conf
UsePAM yes
PasswordAuthentication yes
PubkeyAuthentication yes
ChallengeResponseAuthentication yes
# Authentifizierung wahlweise nur per SSH-Key oder
# mit Passwort + OTP
AuthenticationMethods publickey keyboard-interactive
PAM-Konfiguration
Der zweite Teil der Konfiguration erfolgt in /etc/pam.d/sshd. Am Ende dieser Datei fügen Sie eine Zeile hinzu, die zusätzlich zu allen anderen Regeln, also zusätzlich zur korrekten Angabe des Account-Passworts, die erfolgreiche Authentifizierung durch das Google-Authenticator-Modul verlangt:
# am Ende von /etc/pam.d/sshd (Debian, Ubuntu)
...
# Authenticator-Zifferncode zwingend erforderlich
auth required pam_google_authenticator.so
Alternativ ist auch die folgende Einstellung mit dem zusätzlichen Schlüsselwort nullok denkbar. Damit akzeptieren Sie einen Login ohne 2FA für Accounts, bei denen Google Authenticator noch nicht eingerichtet wurde. Sicherheitstechnisch ist das natürlich nicht optimal — aber es vereinfacht das Einrichten neuer Accounts ganz wesentlich.
# am Ende von /etc/pam.d/sshd (Debian, Ubuntu)
...
# Authenticator-Zifferncode nur erforderlich, wenn
# Google Authenticator für den Account eingerichtet wurde
auth required pam_google_authenticator.so nullok
Wenn Sie RHEL oder einen Klon verwenden, sieht die PAM-Konfiguration ein wenig anders aus. SELinux verbietet dem SSH-Server Zugriff auf Dateien außerhalb des .ssh-Verzeichnisses. Deswegen müssen Sie die Datei .google-authenticator vom Home-Verzeichnis in das Unterverzeichnis .ssh verschieben. restorecon stellt sicher, dass der SELinux-Kontext für alle Dateien im .ssh-Verzeichnis korrekt ist.
user$ mv .google-authenticator .ssh/ (nur unter RHEL!)
user$ restorecon .ssh
In der Zeile auth required übergeben Sie nun als zusätzliche Option den geänderten Ort von .google-authenticator. Falls Sie die nullok-Option verwenden möchten, fügen Sie dieses Schlüsselwort ganz am Ende hinzu.
# am Ende von /etc/pam.d/sshd (RHEL & Co.)
...
auth required pam_google_authenticator.so secret=/home/${USER}/.ssh/.google_authenticator
Test und Fehlersuche
Passen Sie auf, dass Sie sich nicht aus Ihrem Server aussperren! Probieren Sie das Verfahren zuerst in einer virtuellen Maschine aus, nicht auf einem realen Server!
Vergessen Sie nicht, die durchgeführten Änderungen zu aktivieren. Vor ersten Tests ist es zweckmäßig, eine SSH-Verbindung offen zu lassen, damit Sie bei Problemen die Einstellungen korrigieren können.
Bei meinen Tests hat sich die Google-Authenticator-Konfiguration speziell unter RHEL als ziemlich zickig erwiesen. Beim Debugging können Sie client-seitig mit ssh -v, server-seitig mit journalctl -u sshd nach Fehlermeldungen suchen.
Die Anwendung von Google Authenticator setzt voraus, dass die Uhrzeit auf dem Server korrekt eingestellt ist. Die One-Time-Passwords gelten nur in einem 90-Sekunden-Fenster! Das sollten Sie insbesondere bei Tests in virtuellen Maschinen beachten, wo diese Bedingung mitunter nicht erfüllt ist (z.B. wenn die virtuelle Maschine pausiert wurde). Stellen Sie die Zeit anschließend neu ein, oder starten Sie die virtuelle Maschine neu!
Was ist, wenn das Smartphone verlorengeht?
Für den Fall, dass das Smartphone und damit die zweite Authentifizierungsquelle verlorengeht, zeigt das Kommando google-authenticator bei der Ausführung fünf Ziffernfolgen an, die Sie einmalig für einen Login verwendet können. Diese Codes müssen Sie notieren und an einem sicheren Ort aufbewahren — dann gibt es im Notfall einen »Plan B«. (Die Codes sind auch in der Datei .google_authenticator enthalten. Auf diese Datei können Sie aber natürlich nicht mehr zugreifen, wenn Sie keine Login-Möglichkeit mehr haben.)
Die App Google Authenticator synchronisiert die 2FA-Konfiguration automatisch mit Ihrem Google-Konto. Die 2FA-Konfiguration kann daher auf einem neuen Smartphone rasch wieder hergestellt werden. Schon eher bereitet Sorge, dass nur die Kenntnis der Google-Kontodaten ausreichen, um Zugang zur 2FA-Konfiguration zu erhalten. Die Cloud-Synchronisation kann in den Einstellungen gestoppt werden.
Auch Authy kann die 2FA-Konfiguration auf einem Server der Firma Twilio speichern und mit einem weiteren Gerät synchronisieren. Anders als bei Google werden Ihre 2FA-Daten immerhin mit einem von Ihnen zu wählenden Passwort verschlüsselt. Mangels Quellcode lässt sich aber nicht kontrollieren, wie sicher das Verfahren ist und ob es den Authy-Betreibern Zugriff auf Ihre Daten gewährt oder nicht. 2024 gab es eine Sicherheitspanne bei Twilio, bei der zwar anscheinend keine 2FA-Daten kompromittiert wurden, wohl aber die Telefonnummern von 35 Millionen Authy-Benutzern.
Sicherheits- und Privacy-Bedenken
Authenticator-Apps funktionieren prinzipiell rein lokal. Weder der beim Einrichten erforderliche Schlüssel bzw. QR-Code noch die ständig generierten Einmalcodes müssen auf einen Server übertragen werden. Die Apps implementieren den öffentlich standardisierten HMAC-based One-Time Password Algorithmus (OATH-HOTP).
Allerdings bieten einige OTP-Apps die Möglichkeit, die Account-Einträge über ein Cloud-Service zu sichern (siehe oben). Diese Cloud-Speicherung ist eine mögliche Sicherheitsschwachstelle.
Davon losgelöst gilt wie bei jeder App: Sie müssen der Firma vertrauen, die die App entwickelt hat. Der Code der App Google Authenticator war ursprünglich als Open-Source verfügbar, seit 2020 ist das leider nicht mehr der Fall. Wenn Sie weder Google Authenticator noch Authy vertrauen, finden Sie im Arch Linux Wiki Links zu Apps, deren Code frei verfügbar ist.
Mozilla hat Firefox 138.0.4 veröffentlicht und behebt damit zwei kritische Sicherheitslücken, welche im Rahmen des Hacking-Wettbewerbs Pwn2Own demonstriert worden sind.
Wie jedes Jahr fand auch in diesem Jahr wieder der Pwn2Own-Wettbewerb statt, dieses Mal in Berlin. Und wie bereits im Vorfeld erwartet, hat Mozilla in Form eines sehr schnellen Updates auf die Firefox betreffenden Ergebnisse reagiert. Firefox 138.0.4 behebt zwei Sicherheitslücken, welche Mozilla beide als kritisch einstuft. Ein Update ist für alle Nutzer dringend empfohlen.
Mozilla hat Firefox 138.0.3 für Windows, macOS und Linux veröffentlicht. Firefox 138.0.2 wurde für diese Plattformen übersprungen, da Firefox 138.0.2 ein Update war, welches ausschließlich für Android erschienen war.
Die seit Firefox 137 schrittweise ausgerollte Unterstützung für Tab-Gruppen ist ab sofort für alle Nutzer standardmäßig aktiviert.
25 Prozent der neuen Nutzer auf Windows und macOS sehen beim ersten Start von Firefox einen Dialog zur Zustimmung der Nutzungsbedingungen und des Datenschutzhinweises von Firefox.
Die Links zur Mozilla-Dokumentation im Abschnitt „Surfen“ in den Firefox-Einstellungen funktionierten nicht mehr.
Die Tastenkombination Alt + C hatte bei Verwendung der Funktion „Seite durchsuchen“ nicht länger die Checkbox „Groß-/Kleinschreibung“ aktiviert respektive deaktiviert.
Unter Linux wurde ein Problem behoben, bei dem die Videowiedergabe unter Wayland verwaschen erschien, wenn keine HDR-Unterstützung verfügbar war.
Eine mögliche Absturzursache in Zusammenhang mit WebGL sowie eine weitere mögliche Absturzursache in Zusammenhang mit bestimmten SVG-Filtern wurde behoben.
Darüber hinaus wurden mehrere Webkompatibilitätsprobleme behoben.
Suchmaschinen gibt es einige. Google, Bing und DuckDuckGo dürften die bekanntesten sein. Laut statcounter.com führt Google mit 87 Prozent Marktanteil den Suchmaschinenmarkt an. Auf Platz 2 befindet sich Bing mit knapp 6 Prozent Marktanteil....
Orbit by Mozilla ist eine Firefox-Erweiterung von Mozilla, welche den Browser um einen KI-Assistenten erweitert, der Texte und Videos zusammenfassen kann und dabei die Privatsphäre der Nutzer respektiert. Seit der ersten Version kamen einige Neuerungen dazu.
Die Firefox-Erweiterung Orbit by Mozilla, derzeit noch „Beta“ gekennzeichnet, legt standardmäßig ein graphisches Element über alle Websites, welches aber auch an eine beliebige andere Stelle gezogen werden kann. Fährt man mit der Maus über das Element, hat man die Optionen, sich den Inhalt der aktuellen Seite zusammenfassen zu lassen oder einen Chatbot zum Inhalt zu befragen.
In den Einstellungen der Erweiterung lässt sich zwischen zwei verschiedenen Darstellungen wählen, ob Zusammenfassungen automatisch erfolgen sollen oder ob man die Zusammenfassungen in Stichpunkten, kurzen Sätzen oder ganzen Absätzen erhalten möchte.
Orbit by Mozilla funktioniert nicht nur für Textdokumente, sondern über die Transkriptionen auch für Videoportale wie YouTube, liefert aktuell aber ausschließlich Ergebnisse in englischer Sprache.
Für die Verwendung von Orbit by Mozilla wird kein Benutzerkonto benötigt. Als Sprachmodell kommt derzeit Mistral 7B zum Einsatz, welches auf einem Mozilla-Server gehostet wird. Es werden keine Daten mit Dritten geteilt und Orbit by Mozilla vergisst die übermittelten Informationen umgehend, sobald man auf eine andere Seite navigiert. Da keine Daten mit Mistral geteilt werden, findet durch die Nutzung der Erweiterung auch kein Training des Sprachmodells statt und die Informationen bleiben wirklich privat.
Die Neuerungen von Orbit 1.3.3
Gegenüber der im Dezember 2024 auf diesem Blog vorgestellten Version 1.2.2 hat die aktuelle Version Orbit 1.3.3 diverse Neuerungen erhalten.
So lässt sich Orbit jetzt auch für die Zusammenfassung von PDF-Dateien verwenden und per Rechtsklick auf einen Link lassen sich Seiten zusammenfassen, ohne diese vorher aufrufen zu müssen.
Der Anwender kann ein Tastatur-Kommando festlegen, um Orbit zu öffnen. Auch kann der Nutzer nun ein dunkles Design für Orbit aktivieren.
Die minimalistische Ansicht besitzt jetzt auch eine Schaltfläche, um Orbit zu verstecken, und ist ab sofort die Standard-Ansicht. Außerdem gibt es eine Einführungstour für neue Nutzer und es gab diverse Fehlerkorrekturen.
Lesezeichen können auf Wunsch alphabetisch sortiert werden. Lesezeichen-Ordner werden jetzt außerdem ganz oben in der Lesezeichen-Liste angezeigt.
Heruntergeladene Dateien sowie deren Download-URL können über den Downloads-Bildschirm mit anderen geteilt werden. Außerdem werden Downloads jetzt nach Zeitpunkt des Herunterladens gruppiert und es gibt einen Filter für die Art des Downloads, wie Grafiken und Dokumente.
Auf Tablets ist der Desktop-Modus für Websites ab sofort standardmäßig aktiviert. Über die Website-Einstellungen lässt sich dies auf Wunsch ändern.
Beim Update von WebExtensions, welche neue optionale Host-Berechtigungen erfordern, werden nun alle Domains angezeigt. Außerdem wird die UserScripts-API jetzt auch auf Android unterstützt.
Für Websites, welche den Media Query prefers-contrast nutzen, berücksichtigt Firefox die neue Kontrast-Einstellung von Android 14 und höher.
Neue Nutzer müssen beim ersten Start von Firefox den Nutzungsbestimmungen und dem Datenschutzhinweis zustimmen.
Wenn ein TLS-Server eine Authentifizierung vom Browser anfordert, kann Firefox jetzt die Client-Zertifikate verwenden, die auf dem Android-Gerät hinzugefügt wurden.
Über die Secret Settings (Einstellungen → Über Firefox → fünf Mal auf das Firefox-Logo klicken, danach tauchen die Secret Settings in den Einstellungen auf) lässt sich optional DNS over HTTPS (DoH) in den Einstellungen aktivieren.
Dazu kommen wie immer neue Plattform-Features der aktuellen GeckoView-Engine, diverse Fehlerbehebungen, geschlossene Sicherheitslücken sowie Verbesserungen unter der Haube.
Mit Firefox 138.0.1 behebt Mozilla ein Problem, welches für manche Nutzer eine leere Firefox-Startseite verursachte. Außerdem wurde ein Workaround für ein Webkompatibilitätsproblem bei Outlook implementiert, welches zu fehlerhaften Dateinamen von heruntergeladenen Dateianhängen führte.
Mozilla hat Firefox 138 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.
Chronik, Lesezeichen, Passwörter und mehr speichert Firefox in einem sogenannten Profil. Während Firefox das Konzept von Profilen bereits seit der allerersten Version kennt, handelte es sich dabei immer eher um ein Detail im Hintergrund. Mit den neuen Profilen samt neuer Profilverwaltung macht Mozilla dieses Feature sichtbarer und erlaubt einen schnellen Wechsel über das Menü. Dies kann zum Beispiel praktisch für Nutzer sein, die ihren Arbeits- von ihrem Privat-Firefox trennen wollen.
Im Gegensatz zu den „traditionellen“ Profilen kann den neuen Profilen ein Profilbild zugeordnet werden, welches in der Taskleiste über das Firefox-Symbol gelegt wird, was das parallele Arbeiten mit mehreren Profilen erleichtert. Außerdem bietet die neue Profilverwaltung direkt beim Erstellen eines neuen Profils eine Theme-Auswahl zwecks besserer Unterscheidung an. Optional kann Firefox auch mit einer Profilauswahl statt mit einem festgelegten Standard-Profil starten.
Diese Neuerung wird schrittweise ausgerollt und steht zunächst für 0,5 Prozent der Firefox-Nutzer zur Verfügung.
Verschiebbare Tab-Gruppen
Die Tab-Gruppen waren eine der großen Neuerungen von Firefox 137 im vergangenen Monat. Über das Kontextmenü oder durch das Schieben eines Tabs auf einen anderen kann eine neue Tab-Gruppe erstellt werden, welche individuell benannt und mit einer Farbe versehen werden kann. Die Tab-Gruppen können ein- und ausgeklappt werden. Außerdem ist es möglich, Tab-Gruppen zu schließen und zu einem späteren Zeitpunkt über das Menü „Alle Tabs auflisten“ wieder zu öffnen.
Mit Firefox 138 liefert Mozilla eine wichtige Funktion nach: Das Verschieben von Tab-Gruppen, die bislang ihre Position nicht verändern konnten.
Vertikale Tabs bei Herüberfahren mit der Maus ausklappen
Ein großes Highlight von Firefox 136 war die Einführung von vertikalen Tabs als Alternative zur horizontalen Tableiste. Auch hierfür liefert Firefox 138 eine praktische Erweiterung: Über eine neue Option ist es möglich, standardmäßig nur die Favicons darzustellen und die Titel der Tabs dann bei Herüberfahren mit der Maus über die Seitenleiste anzuzeigen.
Datenschutz: SmartBlock-Platzhalter für X-Content (ehemals Twitter)
Bei Verwendung des strengen Schutzes vor Aktivitätenverfolgung sowie in privaten Fenstern werden seit Firefox 136 auf Websites eingebettete Instagram- sowie TikTok-Inhalte durch einen Platzhalter ersetzt. Erst nach einem Klick auf einen Button wird dann der tatsächliche Inhalt geladen. Firefox 138 erweitert diese Funktion um Unterstützung für Inhalte von X, früher auch als Twitter bekannt.
Mehr Sicherheit für Firefox-Nutzer
Auch in Firefox 138 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 138 daher für alle Nutzer dringend empfohlen.
Durch die Einführung von Content Security Policies für die Firefox-Oberfläche wurde die Sicherheit von Firefox weiter verbessert.
Sonstige Endnutzer-Neuerungen in Firefox 138
Das automatische Ausfüllen von Adressen und Kreditkarten wurde für einen verbesserten Umgang mit Formularen überarbeitet, die bei der Eingabe von Informationen dynamisch aktualisiert werden. So können jetzt auch Felder korrekt ausgefüllt werden, die zum Beispiel erst nach nach der Auswahl eines Landes angezeigt werden. Auch werden textarea-Elemente jetzt als Elemente zum automatischen Ausfüllen unterstützt.
Auf der Firefox-Startseite lässt sich bereits seit einiger Zeit ein Hintergrundbild aus einer der Kategorien Abstrakt, Einfarbig oder Fotos auswählen. Hier wurde mit Astronomie eine weitere Kategorie hinzugefügt. Außerdem wurden die zur Verfügung stehenden Optionen im Einstellungs-Overlay der Startseite überarbeitet. Alle Einstellungen stehen nach wie vor in den Firefox-Einstellungen zur Verfügung.
Wird Windows 11 22H2 oder neuer genutzt, nutzt Firefox für die Darstellung von Kontextmenüs den Mica-Stil von Windows 11.
Auf macOS und Linux ist es über das Kontextmenü von Hintergrund-Tabs jetzt möglich, die jeweilige Link-Adresse zu kopieren.
Die bisherigen Einstellungen für die Standardfarben von Websites wurden durch eine neue Kontraststeuerung ersetzt.
Über den versteckten Dialog zum Hinzufügen beliebiger Suchmaschinen ist es jetzt auch möglich, eine URL für Suchvorschläge zu hinterlegen.
Nach Aktivieren dieser Einstellung lässt sich jetzt auch eine Suchmaschine über das Kontextmenü eines Suchfelds auf einer Website hinzufügen. Dies ersetzt die bisherige Schlüsselwort-Funktion, welche über Lesezeichen funktionierte. Benutzerdefinierte Suchmaschinen lassen sich außerdem jetzt auch in den Suchmaschinen-Einstellungen bearbeiten.
Im Menü „Alle Tabs auflisten“ haben angepinnte Tabs nicht länger eine Schaltfläche zum Schließen, um ein versehentliches Schließen der angepinnten Tabs zu verhindern, die in der Tableiste auch keine Schließen-Schaltfläche haben.
Bei Verwendung der neuen Seitenleiste merkt sich Firefox jetzt die zuletzt geöffnete Sidebar, wenn diese über den Sidebar-Button in der Navigationsleiste geschlossen und wieder geöffnet wird. Für Nutzer mit aktiviertem Review Checker (standardmäßig nur in den USA ausgerollt) steht dieser jetzt auch als Werkzeug in der neuen Seitenleiste zur Verfügung.
Für Nutzer in den USA kann Firefox nun direkt in den Adressleisten-Vorschlägen das aktuelle Wetter anzeigen, wenn ein passender Suchbegriff in die Adressleiste eingegeben wird. Diese Neuerung wird schrittweise ausgerollt.
Für Unternehmen bietet Firefox 138 einen neuen Data Loss Prevention-Mechanimus, der den Einsatz sogenannter DLL Injections überflüssig macht und über eine Unternehmensrichtlinie aktiviert werden kann.
Verbesserungen der Entwicklerwerkzeuge
Im Responsive Design Modus der Entwicklerwerkzeuge war es bereits möglich, einen benutzerdefinierten User-Agent einzugeben. Hier stehen nun auch standardmäßig der User-Agent von Firefox für den Desktop, Firefox für Android sowie Google Chrome für den Desktop zur schnellen Auswahl zur Verfügung.
Im Netzwerkanalyse-Werkzeug lässt sich eine neue Spalte einblenden, welche den vollständigen Pfad der einzelnen Ressourcen anzeigt.
Verbesserungen der Webplattform
Verbesserungen der Webplattform und für Erweiterungsentwickler lassen sich wie immer in den MDN Web Docs nachlesen.
Neu ist unter anderem die Unterstützung für den Clear-Site-Data-Header, mit dem Websites die Löschung von lokalen Daten wie dem Cache oder Cookies veranlassen können. Auch für Entwickler von Firefox-Erweiterungen gab es einige Neuerungen, unter anderem Erweiterungen der tabs-API, um besser mit Tabs in Tab-Gruppen umgehen zu können.
Feature-Vorschau
Link-Vorschau mit lokaler KI-Zusammenfassung
Wer über about:config den Schalter browser.ml.linkPreview.enabled per Doppelklick auf true setzt, erhält eine Link-Vorschau, wenn bei gedrückter Shift- und Alt-Taste (macOS: Shift + Option) die Maus über einen Link auf einer Website bewegt wird.
Die Vorschau beinhaltet ein Bild sowie einen kurzen Beschreibungstext, basierend auf den Metadaten der Seite. Handelt es sich dabei um eine englischsprachige Seite, wird außerdem eine KI-basierte Zusammenfassung des Inhaltes generiert, welche aus drei Stichpunkten besteht. Dabei werden keine Daten an Dritte gesendet, die Zusammenfassung geschieht vollständig lokal auf dem Gerät des Anwenders. Über about:config kann der Schalter browser.ml.linkPreview.allowedLanguages von en auf zum Beispiel en,de erweitert werden, um die KI-Zusammenfassung auch für deutschsprachige Inhalte zu aktivieren.
Der Enterprise Policy Generator richtet sich an Administratoren von Unternehmen und Organisationen, welche Firefox konfigurieren wollen. Mit dem Enterprise Policy Generator 6.4 ist nun ein Update erschienen.
Die Enterprise Policy Engine erlaubt es Administratoren, Firefox über eine Konfigurationsdatei zu konfigurieren. Der Vorteil dieser Konfigurationsdatei gegenüber Group Policy Objects (GPO) ist, dass diese Methode nicht nur auf Windows, sondern plattformübergreifend auf Windows, Apple macOS sowie Linux funktioniert.
Der Enterprise Policy Generator hilft bei der Zusammenstellung der sogenannten Enterprise Policies, sodass kein tiefergehendes Studium der Dokumentation und aller möglichen Optionen notwendig ist und sich Administratoren die gewünschten Enterprise Policies einfach zusammenklicken können.
Neuerungen vom Enterprise Policy Generator 6.4
Neue und erweiterte Unternehmensrichtlinien
Der Enterprise Policy Generator 6.4 bringt eine erweiterte Unterstützung von Unternehmensrichtlinien.
Die AutofillAddressEnabled-Richtlinie kann zum Aktivieren oder Deaktivieren des Speicherns und automatischen Ausfüllens von Adressen verwendet werden, die AutofillCreditCardEnabled-Richtlinie zum Aktivieren oder Deaktivieren des Speicherns und automatischen Ausfüllens von Zahlungsmethoden.
Mittels FirefoxSuggest-Richtlinie lässt sich das Feature Firefox Suggest konfigurieren, welches nur für Nutzer in den USA standardmäßig aktiviert ist und externe Vorschläge in die Adressleiste integriert.
Mit der PrintingEnabled-Richtlinie kann die Drucken-Funktion aktiviert oder deaktiviert werden.
Für Nutzer von Firefox 138 und höher respektive Firefox ESR 140 und höher kann die SkipTermsOfUse-Richtlinie verwendet werden, um die Anzeige der Nutzungsbedingungen und des Datenschutzhinweises zu überspringen, wenn Firefox zum ersten Mal gestartet wird.
Die ExtensionSettings-Richtlinie wurde um die default_area-Option erweitert, um die anfängliche Platzierung von Erweiterungs-Schaltflächen festzulegen.
Schließlich wurde noch die EmailTracking-Option zur EnableTrackingProtection-Richtlinie hinzugefügt, um E-Mail-Tracking zu blockieren.
Ausblick
Damit ist die Unterstützung aller Unternehmensrichtlinien bis einschließlich Firefox 115 komplett. Ausnahme ist die Containers-Richtlinie, deren Unterstützung mit dem Enterprise Policy Generator 6.5.0 kommen wird, welcher außerdem die Unterstützung für den ersten Teil der Richtlinien bringen wird, die während der Lebenszeit von Firefox ESR 128 neu dazu gekommen sind. Die Ordner-Unterstützung für die ManagedBookmarks-Richtlinie wird mit einem zukünftigen Update nachgeliefert werden.
Entwicklung unterstützen
Wer die Entwicklung des Add-ons unterstützen möchte, kann dies tun, indem er der Welt vom Enterprise Policy Generator erzählt und die Erweiterung auf addons.mozilla.org bewertet. Auch würde ich mich sehr über eine kleine Spende freuen, welche es mir ermöglicht, weitere Zeit in die Entwicklung des Add-on zu investieren, um zusätzliche Features zu implementieren.