Spamfilterung mit rspamd

Auf dem Server laufen auch einige Mailboxen, den Spamfilter habe ich vor einiger Zeit von Spamassassin mit Avamis auf Rspamd umgestellt. In die Konfiguration muss man sich zwar kurz einarbeiten, aber dann fällt sie recht leicht und lässt sich schnell und einfach erweitern. Hier halte ich kurz fest, was ich geändert habe an der Basiskonfiguration, in loser Reihenfolge.

  • Mehrere dnsbls hinzugefügt. Dafür die Filterung direkt durch Postfix abgeschaltet (ispconfig: System -> Server Config -> Mail). Aktuell habe ich in /etc/rspamd/override.d/rbl.conf:
    • spamhaus (mit Registrierung der Free-Version von DQS)
    • Abusix (gleichfalls)
    • NiXSpam (nixspam.net)
    • uceprotect 2 und 3 (uceprotect.net)
    • SORBS (sorbs.net)
    • anonmails (anonmails.de)
    • truncate (gbudb.net)
    • 0spam.org
    • Spamcop.net
    • dronebl.org
    • spamrats.com
  • Die jeweiligen Gewichtungen natürlich individuell angepasst, sodass mindestens zwei verschiedene hits nötig sind damit eine Mail abgelehnt wird. Gerade uceprotect listet offenbar sehr großzügig
  • die Mailserver von 1und1 (mx.kundenserver.de) stehen leider auf einigen der erweiterten blockslists. Da die Gewichtung nach unten korrigiert (uceprotect).
  • local fuzzy storage umgesetzt
    • Check: rspamadm control fuzzystat
  • Automatisches Bayes Spam/Ham Training wenn die Mail in den Junk Ordner verschoben oder herausgeschoben wird: https://www.allerstorfer.at/rspamd-dovecot-ispconfig-automatic-spam-ham-training/
    • Das ergänzt um den local fuzzy storage, sodass als spam markierte Mails auch automatisch als hash aufgenommen werden (und in die whitelist bei ham markierung), mit entsprechend geringerer gewichtung
  • Mehrere Roundcube Plugins installiert um einfach Optionen für einzelne Mailboxen auch als User ändern zu können:
    • ispconfig3_roundcube plugins: U.a. Passwort ändern, fetchmail, Spamfilter policy ändern, Blacklist/Whitelist, einfache Filter
    • managesieve (managesieved und managesieve roundcube plugin): Erlaubt das Anlegen differenzierter Regeln für Mails, u.a. auch mit dem message body.
  • Eigenen DNS Caching resolver benutzen, damit der URI Check von Spamassassin gegen die Blacklists besser läuft. Siehe hier. (unbound)
  • rspamd bayes Filter trainiert mit dem Archiv von http://untroubled.org/spam/
    • statt bayes Training lokalen fuzzy storage damit befüllt: rspamc -f [FLAG] -w [WEIGHT] fuzzy_add [DIR]
  • externe Services in rspamd aktiviert/installiert:

Damit ist das Spamlevel im Moment auf ganz gutem Niveau, es wird sehr viel mehr gefiltert als mit der Standard-Konfiguration.

Noch auf der Todo-Liste:

  • Training mit dem untroubled Archiv automatisieren
  • automatisches fuzzy learning

Akuter Engpass in der Antibiotikaversorgung – wie ambulant (be)handeln (Päd2go Online Fortbildung)

Päd2go, der Pädiatrie-Zweig von medizin2go, biete nächste Woche eine Sonderveranstaltung zum Thema Antibiotika in der ambulanten Behandlung, Fokus auf die Kinderheilkunde. Passend zum aktuellen Medikamenten-Engpass, der ja auch insbesondere Antibiotika-Säfte für Kinder betrifft (v.a. Amoxicillin ist ja gerade wirklich nicht einfach als Saft zu bekommen).

Sehr zu empfehlendes Format. Kostenlos, es gibt Punkte über die EFN wenn man möchte und die Fobis sind meist sehr praxistauglich.

Digitales Archiv – mein Ansatz

Mein persönlicher Ansatz zum digitalen Archiv, hier einmal etwas eingehender beschrieben. Evtl. findet es jemand nützlich? Das ganze ist auf Linux-Systeme ausgerichtet, vom Prinzip funktioniert sollte es aber unter allen System umsetzbar sein, die Dateien/Ordner verwenden. Das ist auch die Grundidee, es soll völlig plattformunabhängig funktionieren. Ich mag Basteln am Computer – auch wenn ich beruflich nichts mit IT zu tun habe. Irgendwann stellte sich dann einmal die Frage, was mit alten Unterlagen (damals waren es tatsächlich u.a. noch Klassenarbeiten und später Oberstufen-Klausuren) passieren sollte. Kistenweise Aufheben wollte ich nicht, wegschmeißen aber irgendwie auch nicht. Es lag nahe, sie digital aufzuheben, die Originale brauchte ich fürs Gefühl nicht mehr, wenn ich alles digital archiviert hätte. Letztlich ist so ein digitales Archiv entstanden, was jetzt mehr als 15 Jahre alt ist und stetig weiter wächst. Anfangs mühsam mit irgendeinem Scan-Programm einzeln gescannt und als jpg-Dateienabgelegt, bin ich natürlich dann auch irgendwann mit dem Thema OCR in Kontakt gekommen. Und etwas später dann mit Linux.

Grundprinzipien

Im Internet finden sich ebenfalls einige Artikel zu dem Thema, insbesondere Blogeinträge von Leuten mit ähnlichen Gedanken fand ich spannend. Gedanken heißt in dem Fall:

  • Die Unterlagen (meist Briefe im DIN A4 Format) sollen langfristig lesbar gespeichert werden (nicht 100 Jahre oder so, aber in 20 Jahren möchte ich sie schon gerne noch lesen können). Letztlich kommt man dann meist auf PDF. Djvu hatte ich auch mal probiert, bin aber wieder davon abgekommen. Wird nicht genug unterstützt.
  • Platzsparend. Also: Unterlagen als Schwarz-Weiß Scan ablegen, optimieren. Das Archiv ist auch so schon groß genug (~30 GB aktuell, aber auch mit vielen nicht-Dokumenten)
  • Durchsuchbar. Sprich: OCR soll natürlich benutzt werden, ich möchte mit einem entsprechenden Indexer (Recoll nutze ich dafür) Dinge finden können, bei denen ich mich nicht mehr an Dateinamen oder Speicherort erinnern kann. Um nach Dateien im Archiv anhand des Dateinamens zu suchen, nutze ich ganz einfach das Unix-Standardtool locate (mit etwas Bashscript-Hilfe, sodass je nach Befehl nur das Archiv durchsucht wird und nicht die ganze Platte).
  • Unabhängig. Damit ist unabhängig von irgendwelchen Software(-Herstellern), Formaten, Dateisystemen, Datenbanksystem, Betriebssystemen usw. gemeint. Einfach Dateien in Ordnern, ganz simpel.
  • Einfach. Sowohl beim Suchen (In den Ordnern nachschauen oder auch Recoll benutzen ist einfach, finde ich), als auch beim Befüllen. Im Internet finden sich Beschreibungen von (meiner Meinung nach) komplizierten Tag-Strukturen. Z.b. wurden Tags im Dateinamen abgelegt, und mit Sonderzeichen getrennt. Dann konnten sich alle Dateien in einem Ordner ansammeln und man kann einfach nach Tags durchsuchen. Das hat den Vorteil, dass man sich nicht entscheiden muss, ob man die Rechnung für die KFZ-Versicherung nun unter Auto ablegt oder unter Versicherungen. Das ist ein guter Ansatz. Aber hätte ich in den letzten 15 Jahren alles in einem (oder einer Hand voll) Ordner abgelegt, dann würde ich – glaube ich – aktuell nichts mehr gut finden. Die Disziplin, immer korrekte Tags zu vergeben (oder Tippfehler?), hätte ich vermutlich nicht gehabt. Ich habe mich daher einfach für Ordner entschieden, wie oben erwähnt. Das finde ich unheimlich einfach. Hin und wieder muss man für sich selber festlegen, ob man nun die Rechnungen für die Kasko-Versicherung eben unter Versicherungen verstaut oder im Auto-Ordner – aber man kann das auch ganz simple lösen, indem man einfach einen Softlink anlegt (oder meinetwegen Hardlink) und fertig. Mit der Zeit weiß ich aber einfach meist, wo ich Dinge ablege, die ich immer mal wieder brauche. Für alles, an das ich mich nicht erinnern kann, habe ich locate (die Dateisystem-Suche unter Linux) und wenn das immer noch nicht hilft, den Indexer, also recoll.

Hier eine beispielhafte Ordnerstruktur (nicht vollständig, der Privatsphäre wegen):
Beispiel Ordnerstruktur
Die Dateien werden nach diesem Schema benannt:

JJJJ-MM-DD_Firma_oder_Organisation_etc_Titel_des_Dokuments.pdf

also z.b.

2019-10-14_TK_Versicherungsbescheinigung.pdf

Und die liegt dann in

VERSICHERUNGEN/Krankenversicherung/

Ich habe irgendwann einmal die groben Kategorie-Ordner in Großbuchstaben geschrieben, warum auch immer, aber das spielt eigentlich keine Rolle.

Archiv befüllen

Vor allem das Bewerkstelligen des einfachen Befüllens hat anfangs etwas Mühe gekostet, denn ich habe auf die Schnelle kein Programm gefunden, was Dokumente scannt, auf schwarz-weiß optimiert, OCR durchführt und alles als PDF abspeichert – noch dazu, wenn ein Dokument aus mehreren Seiten besteht (z.B. Vorder- und Rückseite). Natürlich gibt es Tools, die das können, und noch viel mehr. Ich wollte es aber auch gerne auf der Kommandozeile haben, sodass ich einfach nur einen Befehl eingeben muss wenn das Papier im Scanner liegt, und der Rest wird erledigt. Dafür habe ich mir ein Python-Tool geschrieben, das genau das tut. Für komplexere Dokumente, mit Seiten im Querformat (die also nach dem Scannen gedreht werden müssen) und vielen Seiten nutze ich manchmal einfach Simple-Scan (und führe die OCR im Anschluss über ein anderes, selbst geschriebenes Script durch).

Der übliche Ablage-Stapel auf dem Schreibtisch muss dann nur noch einigermaßen regelmäßig durchgeschaut werden – unnötiges wandert in den Papiermüll, wichtiges wird eingescannt und wandert dann in den Papiermüll. Sehr wichtiges wird analog aufbewahrt, Bescheinigungen und so weiter, also Dinge, die man als Original aufheben möchte. Die landen dann eben doch in einem Ordner, aber dafür reichen mir inzwischen 2 Stück (einer für Privates, einer für Arbeit). Damit fällt das Papier-Archiv unheimlich schlank aus und ich habe alles, was dort im Ordner abgeheftet ist, auch vernünftig einscannt und durchsuchbar digital verfügbar.

Backup

Selbstverständlich braucht es eine regelmäßige Sicherung. Externe Festplatten, regelmäßig synchronisiert und an unterschiedlichen Stellen aufbewahrt, sollten hier für passable Sicherheit sorgen. Ich nutzte restic als Backup Software und habe 2 externe Festplatten die regelmäßig befüllt werden und an zwei völlig anderen Orten lagern, sodass selbst ein Wohnungs- oder Hausbrand mich höchstens ein paar Tage an Daten kosten würde (neben dem ganzen anderen Ärger).

Aktuelle Struktur


(mit filelight erstellt)

X13 Bios Update 1.41

Für das X13 Gen1 gibt’s ein Bios-Update (hab ein paar verschlafen). Changelog:

CHANGES IN THIS RELEASE
Version 1.41
[Important updates]
- none

[New functions or enhancements]
– none

[Problem fixes]
– Fixed CPU frequency stuck issue
– Fixed Out of order idle states under Linux.
– Fixed issue that battery icon show yellow bang when system is waken up from Full Shutdown, which Wake On LAN is AC Only in BIOS Setup.
– Fixed issue that „The connected AC adapter has a lower wattage than the recommended AC adapter which was shipped with the system…“ pops up after press power button when Wake on LAN in system BIOS Setup is AC and Battery.
– Fixed Security issue.

Zum Update habe ich dieses Mal die moderne Variante mit fwupd das erste Mal ausprobiert. Hat super geklappt. Das Booten mit USB Stick entfällt dadurch. Man muss noch nichtmal die Dateien selbst auf der Lenovo Seite raussuchen.

Klappt aber natürlich nur mit einem UEFI Bios.

fwupdmgr refresh
fwupdmgr get-updates
fwupdmgr update

Danach ist dann ein Reboot nötig, beim Starten wir die neue Version dann installiert. Hat fehlerfrei funktioniert.

X13 Bios Update 1.41

Für das X13 Gen1 gibt\’s ein Bios-Update (hab ein paar verschlafen). Changelog:

CHANGES IN THIS RELEASE
 Version 1.41

[Important updates]
- none

[New functions or enhancements]
- none

[Problem fixes]
- Fixed CPU frequency stuck issue
- Fixed Out of order idle states under Linux.
- Fixed issue that battery icon show yellow bang when system is waken up from Full Shutdown, which Wake On LAN is AC Only in BIOS Setup.
- Fixed issue that The connected AC adapter has a lower wattage than the recommended AC adapter which was shipped with the system... pops up after press power button when Wake on LAN in system BIOS Setup is AC and Battery.
- Fixed Security issue.

Zum Update habe ich dieses Mal die moderne Variante mit fwupd das erste Mal ausprobiert. Hat super geklappt. Das Booten mit USB Stick entfällt dadurch. Man muss noch nichtmal die Dateien selbst auf der Lenovo Seite raussuchen.

fwupdmgr refresh
fwupdmgr get-updates
fwupdmgr update

Danach ist dann ein Reboot nötig, beim Starten wir die neue Version dann installiert. Hat fehlerfrei funktioniert.

X13 Bios Update 1.37

Für das X13 Gen1 gibt’s ein Bios-Update. Changelog:
CHANGES IN THIS RELEASE
Version 1.37

[Important updates]
N/A

[New functions or enhancements]
- Add back flash prevention that can't rollback to older BIOS version.
- Add workaround that display not light up and system hang up when connect monitor with ThinkPad Docking Station.

[Problem fixes]
- Fixed the problem of three resets caused by the change of setup AMD V(TM) Technology options.
- Fixed an issue that TrackPoint does not restore sensitivity levels after sleep.

Aktualisieren geht wie sonst auch, Iso herunterladen, Image extrahieren z.B. mit geteltorito und auf einen USB Stick schreiben, davon booten.

geteltorito -o bios.img r1cuj68wd.iso
sudo dd if=bios.img of=/dev/sdX

Fonts unter Arch Linux

Um die unglaubliche Menge an installierten Fonts mal etwas zu reduzieren bin ich bei der Suche u.a. auf diesen Reddit-Post gestoßen. Grober Inhalt:

  • ttf-google-fonts-git kann man durch adobe-source-code-pro-fonts ersetzen.
  • noto-fonts kann durch noto-fonts-lite ersetzt werden
  • noto-fonts-extra braucht es nicht unbedingt

Allein das reduziert schonmal erheblich die Menge der installierten Fonts, die ich eh nicht brauche. Aber die Pakete sind ja teilweise Abhängigkeiten von Thunderbird/Chromium/etc.

Thinkpad X13: Bildschirm wechselt nur noch durch die RGB Farben

Plötzlich, nach dem Starten aus dem Suspend-Modus, blinkt der Bildschirm nur noch in den Grundfarben (Weiß/Schwarz/Rot/Grün/Blau). Nichts anderes geht mehr. Aber: Ein externer Bildschirm zeigt noch die normale Anzeige, man kann sogar bedienen? Defekt? Zum Glück nicht:

Es ist ein bekanntes Problem, auch wenn ich auf die Schnelle die genaue Ursache nicht eruieren konnte. Auf der Unterseite des Notebooks gibt es aber ein winziges Loch, mit einer Nadel z.B. kann man vorsichtig hinein pieken und damit den Restknopf auslösen. Danach geht alles wieder wie vorher.

Quelle: https://www.reddit.com/r/thinkpad/comments/miai5r/my_ryzen_7_x13_is_flashing_colors_rgb_on_the/

screen terminfo und Bedienungs-Basics

screen verwende ich gerne in der Konsole, z.B. auf dem Server oder Nas. Hier zum schnellen Nachschauen die Standard-Befehle und der nervige terminfo-Fehler.

Wenn

Cannot find terminfo entry for 'rxvt-256color'.

kommt, dann einfach

export TERM='linux'

verwenden (wahlweise in die bashrc einfügen).

Basics Keyboard:
Ctrl + d + a = detach

screen -r = reattach

screen -l = list sessions