
SSH - Zugangsberechtigungen via Schlüssel einschränken
Posted by Guenny
Bekanntermaßen sind SSH-Verbindungen weitestgehend das Standardverfahren, um Serververbindungen sicher aufzubauen.
Normalerweise kommt in Bezug auf Authentifizierung eine Kombination aus Nutzernamen und Passwort zum Einsatz. Es gibt aber auch Varianten mit Zertifikat oder Schlüssel.
Letzteres sollte nicht nur Standard, sondern heute auch Thema sein. Üblicherweise erhältst du via SSH Vollzugriff (oke vielleicht kein root), es besteht allerdings die Möglichkeit diesen per authorized keys zu regulieren, so kannst du in einem SSH Schlüssel etwa eine IP-Beschränkung hinterlegen, um einen Zugriff weiter einzuschränken.
SSH AuthorizedKeysFile Format
In einem Standardsetup findest du vorhandene Schlüssel unter ~/.ssh/authorizedkeys und genau hier möchte ich heute einen genaueren Blick darauf werfen.
Dort liegen die öffentlichen SSH-Schlüssel, die einen bestimmten Aufbau haben, dazu gleich mehr. Auch wird zwischen Version 1 und Version 2 unterschieden, wobei zwei der Standard sein sollte.
Ältere Semester kennen eventuell noch ~/.ssh/authorizedkeys2, was ursprünglich für den zweiten Protokolltyp vorgesehen war, allerdings seit 2001 deprecated ist und heute maximal noch von böswilligen Akteuren missbraucht wird.
Zurück zu den Schlüsseln, folgende Aufteilung besitzen diese laut Norm:
- Öffentliche Schlüssel des Protokolls 1 bestehen aus den folgenden durch Leerzeichen getrennten Feldern: Optionen, Bits, Exponent, Modulus, Kommentar.
- Öffentliche Schlüssel des Protokolls 2 bestehen aus: Optionen, Keytype, base64-kodierter Schlüssel, Kommentar
- Das Optionsfeld ist optional. Sein Vorhandensein wird dadurch bestimmt, ob die Zeile mit einer Zahl beginnt oder nicht (das Optionsfeld beginnt nie mit einer Zahl).
- Die Optionen (falls vorhanden) bestehen aus durch Kommata getrennten Optionsangaben.
Im Detail ermöglichen sie, verschiedene Werte mitzugeben und anderen eine IP-Einschränkung.
SSH - Zugangsberechtigungen einschränken
Hier ein erstes Beispiel:
from="192.168.1.?,*.example.com" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQu9QfY+g0XRVbRTaMPLRN2PVmrRCpaDRaxTHPqggn3 user@example.com
Zur Erklärung: Du kannst in den Optionen Wildcards setzen. Das heißt, im Beispiel oben hätte 192.168.1.1-9 Zugriff, sowie Subdomains von example.com.
Eine weitere Möglichkeit wäre, die Option command zu verwenden, um direkte Befehle zu hinterlegen:
command="bash /opt/startworkflow" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQu9QfY+g0XRVbRTaMPLRN2PVmrRCpaDRaxTHPqggn3 user@example.com
command="/opt/mehrere_befehle.sh" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQu9QfY+g0XRVbRTaMPLRN2PVmrRCpaDRaxTHPqggn3 user@example.com
Der Nutzer hat hier nur das Recht, das vorgegebene Kommando auszuführen, nicht mehr und nicht weniger
Kontrollieren kannst du solche Kommandos mit der Variable $SSH_ORIGINAL_COMMAND. Diese enthält die ursprüngliche Befehlszeile
sobald ein erzwungener Befehl ausgeführt wird.
Wenn du mehrere Befehle erlauben willst, kommst du nicht drumherum, ein Script zu schreiben, was diese Beschränkungen mehr oder weniger aushebelt.
Ein weiteres Beispiel zeigt die Verwendungen der Kommandos für SSH Tunneling bzw. Port Forwarding:
restrict,port-forwarding,permitopen="localhost:8765" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQu9QfY+g0XRVbRTaMPLRN2PVmrRCpaDRaxTHPqggn3 user@example.com
Hier wird explizit erlaubt, eine Verbindung auf Port 8765 herzustellen und alles andere bitte bleiben zu lassen. Auch echter Shell-Zugang (no-pty ist in restrict enthalten) wird unterbunden.
restrict
Enable all restrictions, i.e. disable port, agent and X11 forwarding, as well as disabling PTY allocation and execution of ~/.ssh/rc. If any future restriction capabilities are added to authorized_keys files they will be included in this set.
Du hast nun einen kleinen Einblick in die vielfältigen Konfigurationsmöglichkeiten von SSH-Schlüsseln erhalten. Gerade IP-Beschränkungen oder Limitierung auf Befehle kommen im Alltag vor und sind in diesem Sinne keine neue Methode.
SSH Tunneling ist eigentlich schon wieder ein anderes Kapitel.
Einen Überblick der SSH Befehle findest du bei den Ubuntu Manpages. Viel Spaß.

[Lösung] Bildschirm flackert mit Ubuntu
Posted by Guenny
Seit einiger Zeit haben bei mir Bildschirme von Ubuntu 24.04 LTS Systemen einen komischen Effekt. Sie flackern gelegentlich.
Zunächst hatte ich den Verdacht, dass Grafiktreiber, Interferenzen oder gar Schadsoftware dafür verantwortlich sind. Beides konnte sich nicht bestätigen, also muss das Problem ein anderes sein.
Die Lösung war nicht so einfach zu finden, aber zumindest die Ursache. Es ist der Kernel. Die Kernel Config wurde aktualisiert, siehe UBUNTU: [Config] enable Intel DMA remapping by default.
Dabei wurde CONFIGINTELIOMMUDEFAULTON gesetzt. Wie du direkt siehst, betrifft der Flackerfehler wohl nur Intel Systeme und nur ältere.
IOMMU steht für Input-Output Memory Management Unit und soll für zusätzliche Sicherheit bei Speicherzugriffen führen oder eben zu flackern, wie du sicher bemerkt hast, wenn du diesen Artikel liest.
Lösung - Ubuntu flackernden Bildschirm abschalten
Doch was ist die Lösung für das Problem. Ganz einfach, schalte die Funktion einfach wieder ab und du hast wieder klare Sicht. Via CMDLINE kannst du das direkt umsetzen, nach einem Neustart sollte alles wieder korrekt funktionieren.
#grub editieren
sudo nano /etc/default/grub
inteliommu=igfxoff hinzufügen
GRUBCMDLINELINUXDEFAULT="quiet splash inteliommu=igfx_off"
sudo update-grub
reboot
Mit diesem Befehl schaltest du IOMMU für die Intel Grafikkarte (iGPU) ab und die Effekte gehören der Vergangenheit an.
Wann Canonical mit einem offiziellen Fix für dieses Problem daherkommt, ist offen.
Du solltest mit dieser Lösung auf jeden Fall wieder normal arbeiten können.

Was ist neu in Postfix 3.9
Posted by Guenny
Anfang März wurde eine neue Postfix Version 3.9 veröffentlicht. Nach fast einem Jahr Entwicklungszeit löst diese Version gleichzeitig den alten stabilen Zweig 3.5 ab, welcher aus dem Jahr 2020 stammt.

Was ist Ubuntu Pro und wie schalte ich es ab?
Posted by Guenny
Ubuntu Pro ist eine Updateerweiterung für bestimmte Pakete der bekannten Distribution.
Ubuntu LTS soll so 10 Jahre Abdeckung für über 25.000 Pakete erhalten. Zusätzlich erhältst du Kernel Livepatching, Telefonsupport und Pakete fürs Hardening (NIST-certified FIPS crypto-modules, USG hardening mit CIS and DISA-STIG Profilen und Common Criteria EAL2).
Leider wird für dieses kostenpflichtige Produkt Werbung gemacht, auf dem Terminal und im Ubuntu Update Manager.
Sollte dich das stören, kannst du diese Meldungen mit wenigen Befehlen abschalten.
Alternativ kannst du dich auch einfach für Ubuntu Pro anmelden, denn der Zugang ist für Privatanwender für bis zu fünf Installationen umsonst.
Ubuntu Pro Nachrichten abschalten
sudo pro config set apt_news=false
Das Abschalten der APT News reicht nicht ganz aus, um dir die Werbeeinblendung zu ersparen.
Du musst zusätzlich eine Datei editieren und deren Inhalt auskommentieren
nano /etc/apt/apt.conf.d/20apt-esm-hook.conf
Ubuntu Advantage deaktivieren oder deinstallieren
Optional kannst du das Ubuntu Advantage Paket entfernen, bzw. die Expanded SecurityMaintenance (ESM) abschalten, wenn du magst.
Ubuntu Advantage war der Vorgänger von Ubuntu Pro
Dieses beinhaltet wie die Pro-Variante Kernel Livepatching, Unterstützung für Landscape oder Zugriff auf eine Wissensdatenbank. Alles Dinge, die für Privatanwender nur bedingt interessant sind.
sudo systemctl disable ubuntu-advantage
oder
sudo apt remove ubuntu-advantage-tools
esm hook deaktivieren
sudo mv /etc/apt/apt.conf.d/20apt-esm-hook.conf /etc/apt/apt.conf.d/20apt-esm-hook.conf.disabled
Unterschied Ubuntu Advantage und Ubuntu Pro
Solltest du nun maximal verwirrt sein, was zu welchem Supportmodell gehört und wie es unterstützt wird, hier ein Vergleich von endoflifedate. Ubuntu Pro (Infra-Only) steht in der Tabelle für das alte Ubuntu Advantage.

Firefox - Cookie-Dialog-Blocker aktivieren
Posted by Guenny
Firefox – Cookie-Dialog-Blocker
Vor kurzem ist der neue Firefox 120 erschienen, er bringt eine nützliche Cookiedialog Blockfunktion mit.
Du kennst nervige Pop-ups zur Genüge, diese haben in den vergangenen Jahren das Internet zu einem Klicknet gemacht.
Praktischerweise bringt der neue Firefox eine Funktion mit, um diese automatisch abzulehnen. Heißt, sie werden nicht einfach ausgeblendet, sondern sie werden beantwortet.
Leider ist diese Funktion bisher nur deutschen Nutzer und dem privaten Modus vorbehalten. Das kannst du allerdings einfach über about:config ändern.
Du musst lediglich nach den Variablen cookiebanners.service.mode suchen und die Werte auf 1 setzen.
Sollten Cookie-Banner weiterhin nicht verschwinden, kannst du auch den Wert 2 setzen. Dieser sorgt dafür, dass Cookie Dialoge, die nicht abgelehnt werden können, automatisch akzeptiert werden.
- 0 Cookie-Banner Blocker deaktiviert
- 1 Cookie-Banner Blocker lehnt ab, sofern möglich
- 2 Cookie-Banner Blocker lehnt ab, sofern möglich und akzeptiert den Rest
Kontrollieren kannst du die Funktion in den Privacy Einstellungen about:preferences#privacy.
Natürlich kannst du die neue Surffreude ebenfalls auf Webseiten mit Cookie-Banner testen, so etwas wie chip.de oder dergleichen. Hier hat bei mir das Ablehnen nicht funktioniert, sondern nur Wert 2 mit Ablehnen, wenn möglich, und den Rest akzeptieren.
Fingerabdruck ade
Eine weitere praktische Funktion, um den Fingerabdruck beim Surfen zu reduzieren, bietet der neue Fingerprinting-Schutz in der Canvas API, welcher allerdings auch nur im privaten Modus aktiv ist.
Links ohne Tracking kopieren
Eine ebenfalls hervorragende neue Funktion ist das Kopieren eines Links über das Kontextmenü ohne Trackinginformationen.
Alle weiteren Neuerungen von Firefox 120 findest du bei Mozilla.