Upgrade Debian Buster (10) nach Debian Bullseye (11)

Blick in ein Rechenzentrum mit Serverschränken

Nachdem ich eine Weile damit gewartet habe den Server von Buster (oldstable) zum aktuellen Debian-Release (stable) upzugraden habe ich das jetzt die Tage gemacht. Wie bei Debian üblich war das Upgrade wieder einmal erstaunlich problemlos. Ich hatte einen kleinen Fehler in der Konfiguration von Dovecot zu suchen der seltsamerweise vorher nicht aufgefallen ist. Nun hier der Workflow für das Upgrade von Buster nach Bullseye.

Eine einfache Regel vor einem Releasewechsel ist: „Better is you have a backup“!

Zunächst muss man die Buster-Installation auf den neusten Stand bringen – ich sehe eigentlich zu das mein Server immer auf dem neusten Stand ist.

# apt-get update && apt-get dist-upgrade && apt-get autoremove

Weiterlesen

Ein Prozess blockiert das Aushängen eines Datenträger (II) – fuser

Symbolisiertes Terminal

Im ersten Teil wurden Prozesse identifiziert die das Aushängen eines Datenträgers verhindern aber wir haben immer noch keinen Zustand in dem ein Datenträger ausgehängt werden kann. Natürlich kann man ein z.B. evtl. offenes Office-Dokument abspeichern und das Officeprogramm beenden und das empfiehlt sich auch wenn man keinen Datenverlust riskieren möchte. Aber man kann auch die Prozesse hart beenden wenn kein Datenverlust droht. So ein Beispiel wäre z.B. wenn xpdf das Aushängen verhindert.:

# lsof +f -- /media/max/4335-1CEA/
lsof: WARNING: can't stat() fuse.portal file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
xpdf.real 23765 max cwd DIR 8,32 16384 12180 /media/max/4335-1CEA/Download
xpdf.real 23765 max 4r REG 8,32 3262888 12533 /media/max/4335-1CEA/Download/FujiFilm F20 Bedienungsanleitung

Hier ist eine PDF-Datei von xpdf geöffnet.

Ein verwandter Befehl zu lsof ist fuser. fuser kann Prozesse identifizieren die Dateien, Verzeichnisse und Sockets verwenden. Ein einfacher Aufruf würde z.B. zu so einer Ausgabe führen:

# fuser /media/max/4335-1CEA/
/media/max/4335-1CEA: 13159c 24928c 24943c

Weiterlesen

Ein Prozess blockiert das Aushängen eines Datenträger (I) – lsof

Symbolisiertes Terminal

Viele kennen das Problem, gerade bei USB-Speichergeräten, dass ein Programm oder Prozess das Aushängen eines Datenträgers verhindert denn nur ein Gerät was nicht in Benutzung ist kann auch ausgehängt werden. Dabei ist egal ob ein Dokument oder Datei offen ist oder ob man wie im anschließenden Fall nur das Verzeichnis in das es eingehängt wurde offen hat:

# umount /dev/sdb
umount: /media/max/4335-1CEA: target is busy.

Wie ermittelt man nun den Übeltäter? Dabei können wir umständlich alle offenen Programme durchgehen oder als elegantere Variante den Befehl lsof nutzten. Wie bei allen ls-Befehlen wie lsusb, lspci oder ls steht „ls“ für list und das of steht für „open file“.

Der einfachste Aufruf wäre lsof <Gerätedatei>:

# lsof /dev/sdb
lsof: WARNING: can't stat() fuse.portal file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 2157 max cwd DIR 8,16 16384 1 /media/max/4335-1CEA
bash 13159 root cwd DIR 8,16 16384 1 /media/max/4335-1CEA
lsof 14979 root cwd DIR 8,16 16384 1 /media/max/4335-1CEA
lsof 14980 root cwd DIR 8,16 16384 1 /media/max/4335-1CEA

Weiterlesen

Ein schneller Weg einen Linux-Desktoprechner neu zu installieren

Wenn das Desktopbetriebssystem nicht mehr das macht was man möchte ist es bei einer alten Installation manchmal einfacher den Rechner neu zu installieren. Von Vorteil ist es dabei wenn man, als man den Rechner installiert hatte, eine separate Partition für /home hatte denn dann käme man ohne Backup der Home-Verzeichnisse aus. Sicherheitshalber sollte man jedoch immer vorher /home und /root sichern. Vorsicht /root liegt normalerweise auf der Partion mit dem Mountpoint / also wird auf alle Fälle beim Installieren überschrieben. Bei  mir lagern dort vor allem selbstgeschriebene Scripte. Sichern sollte man diese Verzeichnisse jedoch auf alle Fälle da bei einem Fehler Datenverlust droht. Bei einem Server wird dieser Weg nicht funktionieren, da dort normalerweise viel unter /etc und anderen Verzeichnissen konfiguriert ist. Da sichert man am besten den kompletten Rechner oder lässt ihn von seinem Serverprovider sichern.

Weiterlesen

PDF-Formulare unter Linux bearbeiten

Heutzutage ist man öfter gezwungen Formulare in PDF-Dateien zu bearbeiten. Einerseits eine positive Entwicklung da das Verfahren was früher angewandt wurde, (MS) Office-Dokumente als zum Ausfüllen zu benutzen, sowohl nicht barrierefrei (nicht jeder hat eine Lizenz für MS-Office) als auch gefährlich ist (Stichwort Macroviren). Auf meinem Mailsystem werden u.a. Mails die Officedokumente enthalten, aus Sicherheitsgründen verworfen. Linux-Distribution haben normalerweise einen ganzen Zoo an Programmen in den Repositorien die PDF-Dateien anzeigen können (wie Xpdf, Acrobat Reader) und auch Programme zum Bearbeiten von PDF-Dateien (wie z.b. LibreOffice oder Pdf-Arranger). Will man nun die Formulare, nicht den Inhalt des PDFs, bearbeiten wird die Luft allerdings sehr dünn.

Weiterlesen

Spamassassin – test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )

Käfer (Bug)

Nach einem Systemupgrade hatte ich (wieder) Mails in meiner Mailbox mit dem Subjekt: „test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )“ und dem Inhalt:

/etc/cron.daily/spamassassin:
Wide character in print at /usr/bin/sa-compile line 433, <$fh> line 2518.
Wide character in print at /usr/bin/sa-compile line 433, <$fh> line 2931.

Ich konnte mich dunkel daran erinnern, dass ich genau das schon einmal hatte und gelöst hatte. Offensichtlich liegt das Problem also in dem neuen Spamassissin. Wieder begann erneut eine Suche im Internet nach der Lösung denn ich hatte vergessen wie ich das damals gerade gebogen hatte. Daher habe ich hier die Lösung jetzt dokumentiert denn ich fürchte spätestens mit dem Upgrade auf Bullseye (Debian 11), vermutlich im Sommer dieses Jahres, wird das Problem erneut auftreten.

Weiterlesen

vi und vim – eine Kommandoreferenz

Logo von vim

Unter Unix und unixoiden Betriebssystemen, zu denen auch Linux gehört, ist es oftmals nötig Textdateien zu editieren denn die Konfigurationsdateien z.B. sind, im Gegensatz zu Windows, meistens einfache Textdateien im ASCII-Format. Daher gibt es unter diesen Betriebssystemen einen ganzen Zoo an Editoren. Einer der meist genutzten Editoren ist vi bzw. seine Erweiterung vim. Der Grund ist das vi ein Editor für die Konsole ist und damit auch zu gebrauchen ist wenn die grafische Oberfläche nicht starten will aber auch seine sehr mächtigen Werkzeuge. Ein weiterer Grund ist, dass vi auf jedem POSIX-System installiert ist was in Rettungssituationen einfach notwendig ist den Editor bedienen zu können.

vi ist ein recht alter Editor der entwickelt wurde bevor es grafische Oberflächen gab und kann daher komplett mit der Tastatur bedient werden. Für Neulinge ist etwas ungewohnt, dass vi verschiedene Modi kennt. Auf vielen Linux-Distributionen ist vi ein symbolischer Link auf vim, also den verbesserten vi-Editor (vim steht für vi-improved), und es wird daher beim Aufruf von vi in Wirklichkeit vim gestartet.

Weiterlesen

Postfix mit DKIM, SPF und DMARC ausstatten

Logo von Postfix

Viele Betreiber von kleineren Email-Servern kennen das Problem, dass die großen Anbieter die Mails von ihren Servern gerne mal als Spam einsortieren. t-online.de geht sogar soweit, dass sie Mails von kleinen Servern direkt abweisen und man muss erst durch Email an die angegebene Email-Adresse seinen Mailserver freischalten lassen. Mit einer neuen IP-Adresse beginnt das Spiel dann von neuem.
Daher ist es sinnvoll seine Mails mit allem Möglichen und möglichst fehlerfrei auszustatten was als state-of-the-art auf dem Gebiet der Email-Sicherheit betrifft gilt. Die Sinnhaftigkeit und Wirkung dieser Maßnahme was das Identifizieren von potentiellen Spam betrifft braucht man da nicht in Frage zu stellen denn oft macht es wenig sinn denn niemand verhindert, dass Spammer die gleichen Methoden benutzen. Gängig auf dem Gebiet ist DKIM, SPF und DMARC. Interessanterweise haben viele größere Email-Provider Probleme mit ihrer eigenen korrekten Implementierung oder verzichten ganz darauf.

Wikipedia definiert folgendes:

  • DKIM: DomainKeys, auch bekannt unter DomainKeys Identified Mail (DKIM), ist ein Identifikationsprotokoll zur Sicherstellung der Authentizität von E-Mail-Absendern. Es wurde konzipiert, um bei der Eindämmung von unerwünschter E-Mail wie Spam oder Phishing zu helfen.
  • SPF: Das Sender Policy Framework (SPF; früher Sender Permitted From) ist ein Verfahren, mit dem das Fälschen der Absenderadresse einer E-Mail verhindert werden soll, genauer das Versenden von E-Mail über nicht legitimierte Mail Transfer Agents (MTAs) unterbindet. Es entstand als Verfahren zur Abwehr von Spam. Bei SPF trägt der Inhaber einer Domain in das Domain Name System ein, welche Adressen von MTAs zum Versand von E-Mails für diese Domain berechtigt sind.
  • DMARC: Domain-based Message Authentication, Reporting and Conformance (DMARC) ist eine Spezifikation, die entwickelt wurde, um den Missbrauch von E-Mails zu reduzieren, wie er etwa bei Mail-Spoofing vorkommt. DMARC versucht einige seit langem bestehende Unzulänglichkeiten im Zusammenhang mit der Authentifizierung von E-Mails zu beheben und wurde bei der IETF zur Standardisierung eingereicht.

Weiterlesen

Sound fällt nach Systemabsturz aus

Käfer (Bug)

Auch Linux hat einmal einen Hänger oder zumindest das X-Window/KDE hängt und man muss einen harten Reset machen. Letztens ist mir das passiert und das System startete auch wieder ganz normal. Leider war der Sound weg und im pavucontrol wurde mir nur ein Dummydevice statt der eingebauten Soundkarte angezeigt. Mehrere Neuboots brachten keine Besserung ebenso wenig wie Herunterfahren des Systems und Neustart. Was macht der geneigte Benutzer? Ja, er befragt die Suchmaschine seines geringsten Misstrauens.

Die Lösung des Problems war dann recht einfach. Man schaut mit fuser nach welche Devices belegt sind:

# fuser -v /dev/snd/*
                                 BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  root        820 f.... alsactl
                                timidity    932 F.... timidity
/dev/snd/pcmC0D0p:   timidity    932 F...m timidity
/dev/snd/seq:                timidity    932 F.... timidity
/dev/snd/timer:             timidity    932 f.... timidity

Weiterlesen

Durch fail2ban geblockte IPs an AbuseIPDB melden

 

Wenn man eine funktionierende Installation von fail2ban hat kann man die geblockten IP-Adressen an AbuseIPDB weiterleiten. AbuseIPDB sammelt bösartige IPs die auf verschiedenen Weise Server angreifen. Um IP-Adressen zu melden braucht man einen API-Schlüssel. Den erhält man dadurch das man sich bei AbuseIPDB einen Account erstellt und unter API einen Schlüssel erstellt. Der API-Schlüssel ist ein längerer hexadezimaler Wert.

Leider ist das Debian-10-Paket von fail2ban so alt, dass der API-Aufruf nicht mehr funktioniert. Zum Glück ist es nur eine Datei die aktualisiert werden muss. Dazu wechselt man in das Verzeichnis /etc/fail2ban/action.d/ und lädt mit:

wget https://raw.githubusercontent.com/fail2ban/fail2ban/master/config/action.d/abuseipdb.conf

die aktuelle Datei abuseipdb.conf in das korrekte Verzeichnis. Unten in dieser Datei wird auch in der untersten Zeile bei der Variablen abuseipdb_apikey der API-Schlüssel eingetragen.

Weiterlesen

kais-universum.de