IT security, FreeBSD, Linux, mail server hardening, post-quantum crypto, DNS, retro computing & hands-on hardware hacks. Privater Tech-Blog seit 2003.

Autor: Sebastian van de Meer (Seite 11 von 47)

Multifunktionstester für Elektronikbauteile: Schnell & günstig prüfen​

Aus alter/defekter Elektronik grabble ich mir gerne ein paar Bauteile heraus. Dieses hat bei mir in den 90er angefangen, weil eine Bestellung bei Conrad mein damaliges Taschengeld zu hart angegriffen hat. Amazon gab es so noch nicht, Lieferzeiten von einer Woche waren selbstverständlich und oft waren die Portokosten höher als der Preis für das gewünschte Bauteil selbst. Das waren die Zeiten von gut geplanten Sammelbestellungen des Freundeskreises bei Conrad.

Daher habe ich, wie viele andere ebenfalls, angefangen aus defekten Geräten einfach die brauchbaren Teile auszubauen. Hier ein Elko, da ein paar Widerstände, mal einen Transistor oder Dioden usw. usw… Irgendwie bin ich diese Angewohnheit nicht mehr los geworden. Meist interessiert mich aus welchem Grund ein Gerät aufgegeben hat, mal einfach nur wie es der Hersteller realisiert hat. Auf dem Weg baue ich dann aus was ich „möglicherweise“ mal brauchen kann. Hier liegen jetzt noch in Kisten Bauteile, welche ich vor 20 Jahren ausgebaut habe. Einige Dinge werden sicher nie mehr genutzt! Viele Projekte sind dennoch aus genau diesen Teilen entstanden.

Nicht selten fehlt mir dann bei einem angedachten Projekt doch ein Bauteil und ich muss mir überlegen wie ich es mit den vorhandenen umgesetzt bekomme. Was immer wieder spannend und herausfordernd sein kann!

Ein großes Problem mit den Bauteilen ist immer wieder, die Gewissheit ob jetzt die Schaltung einen Fehler hat oder doch nur das Bauteil def. ist. Ich habe dafür nun ein kleines Gerät, welches schnell und einfach einzelne Bauteile durchmessen kann. Der kleine Multifunktionstester erkennt dabei automatisch das Bauteil und prüft dieses. Ebenfalls gibt es auf einem kleinen Display aus welches Bauteil es erkannt hat und welche Daten er dazu hat. Dabei kostet das Ding unter 20€ und ist in verschiedenen Versionen erhältlich. Als einfache Platine, mit Gehäuse oder als Bausatz.

Natürlich ist es nicht 100% zuverlässig und die Lösung aller Probleme! Ich kann es aber mit sehr gutem Gewissen weiterempfehlen. Oh ja, der Amazon link!

Siehe auch: RD6006 Labornetzteil

Fragen? Einfach melden.

Spiegelheizung im Badezimmer

Schon einige Zeit nervt mich nach dem Duschen der beschlagene Spiegel. Bisher habe ich immer ein paar Sekunden mit dem Föhn draufgehalten und dann war alles ok.

Die Lösung

Klar, es gibt Spiegelheizungen. Es gibt sogar Spiegel mit eingebauter Heizung. Nur ist so etwas schon ein klares First World Problem. Ich habe es trotzdem gemacht: Eine Heizfolie bei Amazon gekauft und hinter meinen vorhandenen Spiegel geklebt. Strom bekommt sie von der Lampe über dem Spiegel.

Ergebnis

Sie tut was sie soll. Der Spiegel wird warm und beschlägt nicht mehr nach dem Duschen. Man kann auf den Bildern gut erkennen, welcher Teil beheizt wird und welcher weiterhin beschlägt. Die Oberflächentemperatur liegt bei etwa 35 °C.

Fragen? Einfach melden.

Automatische E-Mail-Archivierung mit cleanup-maildir und Dovecot

IMAP-Postfächer wachsen mit der Zeit. Irgendwann hat man tausende Mails im Posteingang und in Sent, die Suche wird langsam und die Übersicht geht verloren. cleanup-maildir ist ein Python-Script das Mails nach Alter automatisch in Archiv-Ordner sortiert. Es läuft als Cronjob und arbeitet direkt auf dem Maildir-Verzeichnis.

Installation

# FreeBSD
pkg install cleanup-maildir

# Debian/Ubuntu
pip install cleanup-maildir

Grundlegender Aufruf

Alle Mails die älter als 365 Tage sind aus der Inbox ins Archiv verschieben:

# Inbox archivieren
sudo -u vmail cleanup-maildir --age=365 \
  --archive-folder='Archive.Inbox' \
  --maildir-root='/var/mail/vhosts/example.com/user' \
  archive ''

# Gesendete archivieren
sudo -u vmail cleanup-maildir --age=365 \
  --archive-folder='Archive.Sent' \
  --maildir-root='/var/mail/vhosts/example.com/user' \
  archive 'Sent/'

--age=365 fasst nur Mails an die älter als ein Jahr sind. --archive-folder gibt den Zielordner im IMAP-Postfach an. archive ist der Modus (alternativ delete). Der leere String '' steht für die Inbox, 'Sent/' für die gesendeten Mails.

Das Script legt automatisch Unterordner nach Jahr und Monat an. Die Struktur im Postfach sieht dann so aus:

Archive/
├── Inbox/
│   ├── 2024-01/
│   ├── 2024-02/
│   └── ...
└── Sent/
    ├── 2024-01/
    ├── 2024-02/
    └── ...

Cronjob

Als Cronjob einmal pro Nacht laufen lassen. Wichtig ist dass der Cronjob als der Benutzer läuft der Zugriff auf die Maildir-Verzeichnisse hat:

# /etc/crontab
30 3 * * * vmail cleanup-maildir --age=365 --archive-folder='Archive.Inbox' --maildir-root='/var/mail/vhosts/example.com/user' archive ''

Mehrere Postfächer mit LDAP

Bei mehreren Postfächern will man nicht für jeden Benutzer einen eigenen Cronjob-Eintrag pflegen. Ein Wrapper-Script kann die Benutzer, Maildir-Pfade und die Option ob archiviert werden soll aus dem LDAP holen. Das LDAP-Attribut (z.B. autoarchive=1) steuert pro Benutzer ob die Archivierung aktiv ist. So lässt sich die Archivierung zentral verwalten ohne auf jedem Mailserver Cronjobs anzupassen.

Python 3.11+ und kaputte Header

Ab Python 3.11 nutzt cleanup-maildir den strikten RFC-Header-Parser aus email.policy.default. Das führt zu einem Problem: Mails mit fehlerhaften Headern (z.B. Microsoft Exchange Message-IDs wie <[b378dfc5...]@microsoft.com>) lassen das Script mit einem IndexError abstürzen. Alle Mails nach der fehlerhaften werden nicht mehr verarbeitet.

Den Fix dafür habe ich als Pull Request eingereicht. Ein _safe_header()-Wrapper fängt Parse-Fehler ab und überspringt kaputte Header, statt das ganze Script abzubrechen. Bei mir hat das Script vorher bei Mail #8 aufgehört, danach liefen alle 2.986 Mails sauber durch.

Siehe auch: Dovecot Quota einrichten

Fragen? Einfach melden.

We have now run out of IPv4 addresses.

Wenn ich dann mal „zitieren“ darf..

Dear colleagues,

Today, at 15:35 UTC+1 on 25 November 2019, we made our final /22 IPv4 allocation from the last remaining addresses in our available pool. We have now run out of IPv4 addresses.

Our announcement will not come as a surprise for network operators - IPv4 run-out has long been anticipated and planned for by the RIPE community. In fact, it is due to the community's responsible stewardship of these resources that we have been able to provide many thousands of new networks in our service region with /22 allocations after we reached our last /8 in 2012.

----------------------------------------------------------------
Recovered IPv4 Addresses and the Waiting List
----------------------------------------------------------------

Even though we have run out, we will continue to recover IPv4 addresses in the future. These will come from organisations that have gone out of business or whose LIR accounts are closed, or from networks that return addresses they no longer need. They will be allocated to our members according to their position on a new waiting list that is now active.

While we therefore expect to be allocating IPv4 for some time, these small amounts will not come close to the many millions of addresses that networks in our region need today. Only LIRs that have never received an IPv4 allocation from the RIPE NCC (of any size) may request addresses from the waiting list, and they are only eligible to receive a single /24 allocation.

LIRs that have submitted an IPv4 request can see their position on the waiting list in the LIR Portal. A new graph has also been published that shows the number of requests on the waiting list and the number of days that the LIR at the front of the queue has been waiting:
https://www.ripe.net/manage-ips-and-asns/ipv4/ipv4-waiting-list

----------------------------------------------------------------
Call for Greater Progress on IPv6
----------------------------------------------------------------

This event is another step on the path towards global exhaustion of the remaining IPv4 addressing space. In recent years, we have seen the emergence of an IPv4 transfer market and greater use of Carrier Grade Network Address Translation (CGNAT) in our region. There are costs and trade-offs with both approaches and neither one solves the underlying problem, which is that there are not enough IPv4 addresses for everyone.

Without wide-scale IPv6 deployment, we risk heading into a future where the growth of our Internet is unnecessarily limited - not by a lack of skilled network engineers, technical equipment or investment, but by a shortage of unique network identifiers. There is still a long way to go, and we call on all stakeholders to play their role in supporting the IPv6 roll-out.

At the RIPE NCC, we are here to support our membership and the wider RIPE community in this work. Aside from allocating the IPv6 resources that will be required, we will continue to provide advice, training, measurements and tools to help network operators as they put their deployment plans into action.

We are optimistic and excited to see what the next chapter will bring. So let's get to work - and together, let's shape the future of the Internet.

Best regards,

Everyone at the RIPE NCC

Japp… RIPE NCC ist damit leer!

Siehe auch: IPv6 Grundlagen

Fragen? Einfach melden.

Shodan.io Firefox Plugin

Veraltet: Das Shodan-Firefox-Plugin ist in aktuellen Firefox-Versionen nicht mehr verfügbar. Shodan.io kann direkt im Browser genutzt werden.

Kleiner Tipp am Rande… Habt ihr euch mal das Firefox Plugin von Shodan.io angeschaut?

https://addons.mozilla.org/en-US/firefox/addon/shodan_io/

Nö? Vielleicht spannend?!? Für die IPv4 Adresse einer Webseite wird euch so direkt das Resultat des letzten „Scans“ angezeigt. Hin und wieder mal ganz spannend was einen da so anspringt.

DoH (DNS over HTTPS) mit BIND auf eigenem Server

Die Zeit ging weiter, die Entwicklung bei BIND und DNS ebenfalls. Daher gibt es nun einen neuen Beitrag, der das aktuelle Setup mit BIND 9.20 auf FreeBSD 15 beschreibt – inklusive sauberer Trennung von authoritative DNS (Port 53) und öffentlichem Resolver (DoT/DoH) sowie reproduzierbaren CLI-Tests für IPv4 und IPv6. Bitte dort weiterlesen.

Meine Tests mit DoT (DNS over TLS) habe ich bereits vor einiger Zeit gestartet.  DoT DNS over TLS mit Bind, stunnel und Android 9 Dieses arbeitet noch immer ganz fein auf meinem Smartphone. DoT gefällt mir noch immer um einiges besser als DoH aber auch hier wollte ich nun einmal einen Versuch starten. Zusammen mit nginx und einem etwas angepassten doh-proxy läuft dieses nun auf dem gleichen System.

Im Firefox ist es schnell aktiviert https://ns1.kernel-error.de/dns-query…

DoH DNS over HTTPS Firefox

Es funktioniert auch, so richtig glücklich macht es mich aber nicht! Natürlich ist die Umsetzung nur etwas für einen kleinen privaten Test. „Schnell“ genug ist es ebenfalls! Zumindest zum Surfen im Internet, dennoch wäre mir eine saubere Implementierung von DoT im resolver vom OS viel lieber. So wie bereits ab Android 9 zu sehen. Vielleicht ändert sich mein Gefühl ja etwas zusammen mit QUIC (HTTP/3)?!?

Siehe auch: DoT mit Stunnel und BIND9

Fragen? Einfach melden.

Bosch Geschirrspülmaschine: Fehler E-21 beheben

Ursache

Meine Geschirrspülmaschine hat mir heute einige Nerven gekostet. Mit einem fröhlichen E-21 im Display war Schluss mit Spülen. Der Fehlercode deutet darauf hin, dass etwas mit der Umwälzpumpe nicht stimmt. Die Maschine ist knapp sechs Jahre alt und läuft hier täglich für einen Vier-Personen-Haushalt, sie hat selten Langeweile. Die Maschine ist baugleich zu Siemens, Neff und Constructa.

Bosch Geschirrspülmaschine mit Fehler E:21 und zerlegter Umwälzpumpe auf der Arbeitsfläche

Mein erster Schritt war ein Anruf beim nächstgelegenen Serviceanbieter. Dieser sagte mir, dass er die Maschine in einer Woche abholen und bei sich überprüfen könnte. In der Regel wird dann die Umwälzpumpe ausgetauscht, und ich bekäme die Maschine nach zwei bis drei Tagen zurück. Für 200 bis 300 € mehr könnte er mir aber direkt eine neue Maschine liefern und die alte entsorgen. Bei einer so alten Maschine… Warum werden heutzutage nur noch Teile ausgetauscht? Warum soll immer alles neu sein? Warum repariert niemand mehr?

Reparatur

Eine kurze Suche brachte mir eine Explosionszeichnung meiner Spülmaschine. Die Konstruktion sieht sehr überschaubar aus. Letztlich fand ich in der Umwälzpumpe ein Stück Plastikverpackung. Die Pumpe ließ sich fast vollständig zerlegen und reinigen. Jetzt läuft die Maschine wieder, ganz ohne Fehler, insgesamt 40 Minuten Arbeit.

Nachtrag: Pumpe doch kaputt

Einige Monate später hat die Pumpe dann doch aufgegeben. Anscheinend hat das Plastikteil eine Unwucht verursacht, die zum endgültigen Ausfall geführt hat. Falls die Pumpe tatsächlich defekt ist, lässt sich das Ersatzteil über Amazon bestellen. Der Austausch ist einfach, und alles Notwendige ist dabei.

Die gleiche Maschine hatte später auch den Fehler E-15, eine verzogene Dichtung am Pumpentopf. Fragen? Einfach melden.

Dell Latitude E6540 mit Intel Wireless-AC 9260

Mein privates Notebook ist noch immer ein Dell Latitude E6540. Die ab Werk verbaute Intel Centrino Ultimate-N 6300 macht zwar noch immer ihren Job, inzwischen stört mich immer öfter ihr Durchsatz. Maximal soll sie 450 Mbps bringen, dieses schafft sie natürlich nur unter guten Bedingungen. Früher ist mir dieses nicht besonders aufgefallen, durch bessere WLAN APs und schnelleres Internet bremst mich inzwischen meine verbaute WLAN Karte beim Download :-/ das ist doof!

Also einfach neue Karte kaufen, ins Notebook stecken und los gehts.. Naja, fast! Im Latitude können drei PCIe Half MiniCard verbaut werden. Aktuelle WLAN Karten für Notebooks nutzen inzwischen aber M.2 als Schnittstelle zum Notebook. Ebenfalls sind die Anschlüsse der Antennen „kleiner“ geworden. Intel bietet für ihre Produkte auf ihrer Webseite die Option an ihre Produkte miteinander zu vergleichen. >klick<

Um M.2 komme ich nicht herum, wenn ich es mit einem möglichst einfachen Adapter anschließen möchte muss ich darauf achten, dass die neue Karte PCIe spricht. Die Intel Wireless-AC 9260 kann dieses und bietet dazu noch 1,73Gbps. Dazu noch ein Adapter und zwei Antennenadapter. Alles bekommt man schnell für einen kleinen Euro auf Amazon.

Intel Wireless-AC 9260
Adapter
Antennenadapter

Alles zusammen sitzt nun in meinem Notebook und das Internet „fliegt“ wieder.

Siehe auch: Lifebook E7110 unter Linux

Fragen? Einfach melden.

Draft zu Security Policies

Es gibt seit einiger Zeit einen Draft zu Security Policies. Schaut mal hier: https://tools.ietf.org/html/draft-foudil-securitytxt-07 über diesen Weg kann man für seine Domain eine Security Policie veröffentlichen. Dieses inkl. Kontaktdaten einer „Dankeschön“ Seite usw…

Die Idee ist es eine einheitliche Möglichkeit zu schaffen um freundlichen Findern von Sicherheitslücken/Problemen eine einfache und „sichere“ Anlaufstelle zu geben. Wer schon mal ein Löchlein gefunden hat, kennt das Problem. Man sucht eine Kontaktmöglichkeit, scheitert an der Human Firewall oder am technischen Verständnis von seinem Gegenüber. Gibt es es bug bounty oder wird der Informierte ~nervös~?!? Ist die Webseite vielleicht schon kompromitiert und der Hinweis wandert direkt an den Bösewicht? usw. usw. usw…

Diese Probleme soll dieser RFC möglichst einfach erschlagen. Es gibt ein textfile mit dem Namen security.txt unter der jeweiligen Domain im Pfad .well-known, diese ist nach Möglichkeit noch gpg cleartext signiert und beinhaltet alle nötigen Informationen.

Als kleine Beispiel: https://www.kernel-error.de/.well-known/security.txt

Es gibt sogar noch ein kleines Tool zum kreieren des Textfiles: https://securitytxt.org/

Da ich selbst sehr oft vor dem Problem stehe eine saubere Kontaktadresse zu finden, begrüße ich diesen RFC natürlich sehr!

Viel Spaß!

Fragen? Einfach melden.

Bluetooth-Audio unter FreeBSD und GhostBSD: Workaround mit Creative BT-W2

Bluetooth-Audio und FreeBSD vertragen sich nicht. Der Bluetooth-Stack wird nicht mehr gepflegt, in OpenBSD wurde er komplett entfernt. Einen Bluetooth-Dongle oder eine eingebaute Bluetooth-Karte dazu zu bringen, sich mit einem Audio-Gerät zu verbinden, funktioniert unter FreeBSD praktisch nicht.

Der Workaround: Creative BT-W2

Die Lösung ist ein USB-Dongle, der sich selbst um Bluetooth kümmert: Der Creative BT-W2. Das Gerät meldet sich am Betriebssystem als normale USB-Soundkarte. Das Pairing mit dem Bluetooth-Kopfhörer oder -Lautsprecher macht der Dongle selbständig per Knopfdruck. FreeBSD sieht nur eine Soundkarte, kein Bluetooth.

Das Kernelmodul snd_uaudio kümmert sich um die Erkennung. In der /etc/rc.conf:

kld_list="snd_uaudio"

Nach dem Laden des Moduls erscheint das Gerät im dmesg:

uaudio0:  on usbus0
uaudio0: Play: 48000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format, 2x8ms buffer.
pcm5:  on uaudio0
uaudio0: HID volume keys found.

Pairing und Nutzung

Kurz den Knopf am Dongle drücken, er blinkt und verbindet sich mit dem nächsten Bluetooth-Audio-Gerät in Reichweite. Kopfhörer, Headsets, Lautsprecher und Mikrofone funktionieren. Die Qualität reicht auch für Telefonie, Latenz und Codec sind in Ordnung.

Das Audio-Device ist je nach Systemkonfiguration /dev/dsp5 oder ein anderer Index. Mit cat /dev/sndstat lässt sich prüfen welches Device der BT-W2 bekommen hat.

Nicht die eleganteste Lösung, aber sie funktioniert zuverlässig. Solange der Bluetooth-Stack auf FreeBSD nicht wiederbelebt wird, ist ein Dongle wie der BT-W2 der pragmatischste Weg.

Siehe auch: FreeBSD auf dem Desktop, GhostBSD und FreeBSD: GNOME-Keyring automatisch entsperren, GhostBSD 19.09 Ports benutzen

Fragen? Einfach melden.

« Ältere Beiträge Neuere Beiträge »

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑