-=Kernel-Error=-

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

Seite 17 von 46

matrix und Riot als Ersatz für Jabber?

Ich teste im Moment matrix als Basis für die Kommunikation. Client ist dabei Riot auf Android und iOS und als Server probiere ich im moment Synapse aus. Alles unter der Domain: https://matrix.kernel-error.com

Beim Identiy Server bin ich einfach mal bei https://matrix.org geblieben! Alles ist noch sehr beta. Dafür tut es aber schon ganz ordentlich. Schreiben und Dateien verschicken funktioniert problemlos. Videocalls gehen so mäßig. Das Bild hängt halt immer mal wieder. Einfache Voicecalls klappten dafür richtig gut, sowohl zu zweit als auch in der Konferenz.

Etwas hakelig war das Einfügen von E-Mail Adresse und Rufnummer über den Andoid Client… Das war etwas verwirred. Hier ist der Workflow und die UI auf dem iOS besser. Insg. tut es aber….

Zuletzt habe ich nun den nginx als proxy for den matrix-synapse Server gesetzt. Dem vertraue ich an der Stelle einfach etwas mehr. Oh es läuft in einer FreeBSD 11 jail und dort auch recht Problemlos.

Sobald es mehr zu berichten gibt schreibe ich mehr! Wer es ebenfalls nutzt und mich anschreiben möchte: @kernel:matrix.kernel-error.com

So long…

Siehe auch: Eigenen Jabber-Server betreiben

Fragen? Einfach melden.

Brute-Force Angriffe auf Joomla

Sobald man einen standard Dienst im Netz stehen hat wird dieser auch von verschiedenen Bots abgegrabbelt. Diese testen nach ungepatchten Versionen mit nutzbaren Sicherheitslöchern oder gehen Rainbow Tables durch. Gegen Sicherheitslöcher hilft ein Patchmanagement gegen Rainbow Tables helfen gute Kennwörter und ein Schutz gegen Brute-Force…. Einfach ist hier zum Beispiel der fail2ban Ansatz. Einfach mit zählen wie viele Fehlerhafte Logins in einem gewissen Zeitraum von einer IP-Adresse kommen und dann direkt die IP-Adresse für einen gewissen Zeitraum sperren.

Jetzt sind die Entwickler der Bots nicht dumm… Zuerst haben diese Bots genau so angefangen. Erstmal alle möglichen Kennwörter durchprobieren. Als ersten Schutz natürlich fail2ban, dann haben die Bots angefangen nicht mehr als genau drei Anfragen von einer IP Adresse zu stellen, etwas warten und dann wieder drei Anfragen. Man musste also im fail2ban „nachstellen“. Nun sind wir schon beim Punkt das diese Anfragen nicht mehr gebündelt als Dreierblock kommen sondern immer nur eine Anfrage von einer Adresse und 2 – 3 Stunden später erst wieder von dieser Adresse. Der einzelne Bot würde also Jahrzehnte brauchen um einige Versuche durch zugehen! Wenn er sich mit vielen anderen Abspricht, werden in kurzer Zeit noch immer sehr viele Kombinationen durchprobiert. Also wieder nachrüsten… Zwei Faktor, „Lebenderkennung“, Zertifikatslogin usw… Damit hat man sicher erst mal etwas Ruhe. OK, hier gibt es ebenfalls Möglichkeiten nur gibt es sicher genug schlechter gesicherte Ziele die zuerst angegangen werden können!

Siehe auch: SSH-Server absichern mit MFA

Fragen? Einfach melden.

Neues S/MIME Zertifikat

Neues S/MIME Zertifikat, neuer SMIMEA-Record. Weil E-Mail-Verschlüsselung nicht nur für Paranoide ist. Oder doch? Egal, ich mache es trotzdem.

S/MIME Zertifikat getauscht

Wie angekündigt habe ich ein neues S/MIME Zertifikat. Wer mir verschlüsselt schreiben will, braucht den neuen öffentlichen Schlüssel. Den gibt es wie immer über die üblichen Wege oder halt per erster unverschlüsselter Mail an mich.

SMIMEA: S/MIME trifft DANE

Das Spannende daran: ich habe direkt einen SMIMEA-Record dazu im DNS hinterlegt. SMIMEA ist quasi DANE für S/MIME. Statt nur TLS-Zertifikate von Servern im DNS zu veröffentlichen, kann man damit auch S/MIME-Zertifikate von E-Mail-Adressen per DNS verifizierbar machen. Der RFC dazu war 2017 noch im Draft-Status (RFC 8162), inzwischen ist er finalisiert.

Die Idee ist simpel: Du hast DNSSEC für deine Domain (habe ich), du hast ein S/MIME-Zertifikat (habe ich jetzt neu) und du packst den Fingerprint oder das ganze Zertifikat als SMIMEA-Record in deine DNS-Zone. Jeder der mir eine verschlüsselte Mail schicken will, kann mein Zertifikat dann per DNS-Abfrage verifizieren. Kein Rumsuchen auf Keyservern, keine manuelle Prüfung ob das Zertifikat echt ist.

In der Praxis nutzt das aktuell fast niemand. Mailclient-Support ist mager, die meisten Leute wissen nicht mal was S/MIME ist, geschweige denn SMIMEA. Aber genau deshalb mache ich es. Jemand muss ja anfangen.

Wer sich für DANE, SMIMEA oder E-Mail-Sicherheit interessiert, kann mich gerne fragen.

GlobalSign S/MIME und so…

Nach dem „tot“ von StartSSL brauche ich ja auch mal ein neues S/MIME Zertifikat. Class 2 bei GlobalSign sollte für mich privat reichen (auch wenn ich schon auf Class 3 geschielt habe, mal sehen ob ich das noch nachziehe). Als erstes habe ich da trocken angerufen und gefragt ob ich auf sie bauen kann oder mich am Ende so ärgere wie über StartSSL / Symantec usw… Klar es ist eine große CA die zu viel Geld für Mist bekommen und der Anruf war total nutzlos. Er hat dennoch für Spaß bei mir und da bin ich mir sicher, ebenfalls bei GlobalSign geführt.

Nun klicke ich mich also gerade durch die Anmeldung und muss alle möglichen Daten eingeben sowie Vereinbarungen zustimmen usw. an einer Stelle soll ich dann schon mal mein Kennwort für die Zertifikatsverwaltung festlegen. Ich überzeuge also wie immer pwgen mir eines zu würfeln werfe es rein. Die Info unter dem Kennwortformular lese ich natürlich nicht und bekomme direkt die Quittung. Ich habe unerlaubte Sonderzeichen in meinem Passwort für die Zertifikatsverwaltung angegeben. Unerlaubte Sonderzeichen?!?!? Stimmt… Die Kennwörter dürfen nur aus Zahlen und Buchstaben (groß/klein) bestehen..

Das Kennwort für die Zertifikatsverwaltung darf also keine Sonderzeichen enthalten. Den Satz habe ich jetzt schon ein paar mal gesagt aber öhm ich begreife ihn irgendwie noch nicht. *kopfschüttel* Kann mir das bitte mal jemand verständlich machen? Am besten ich ruf da noch mal an, oder?

Siehe auch: S/MIME per DNS mit SMIMEA, Kleiner Nachtrag zum GlobalSign S/MIME Zertifikat…, Neues StartSSL S/MIME Zertifikat

Fragen? Einfach melden.

IPv6 – Bewerbung – Unitymedia

Das IPv6 eines meiner Lieblingsthemen ist muss ich ja keinem von euch erzählen. Auf das Thema bringt mich gerade sixxs. Die Jungs stellen nämlich ihren Service ein…. War ja fast zu erwarten! Sixxs kann sicher für sich behaupten eines der Projekte zu sein/gewesen zu sein welches extrem stark an der Verbreitung von IPv6 mitgewirkt hat!

Passend dazu saß ich vor kurzem in einem Bewerbungsgespräch irgendwann sind wir ebenfalls kurz auf das Thema IPv6 gekommen und da hat der Bewerber etwas gesagt was mir bis jetzt nicht mehr aus dem Kopf gegangen ist. Er sagt: „IPv6, ja… das war vor 5/6 Jahren mal so ein Hype, weil ja alle Adressen aufgebraucht sind, das ist aber inzwischen vorbei.“ Der Mann hat recht! OK, Adressen sind wirklich leer aber merkt man es denn wirklich? Also normaler User nicht. Von jedem gängigen ISP bekommt man IPv6 einfach in den Router geworfen und ob man jetzt noch eine „echte“ IPv4 Adresse hat oder man wie im Mobilfunk hinter einem carrier grade nat versteckt wird merken die normalen Nutzer eh nicht. Wenn man nicht gerade ein /24 haben will ist ebenfalls jeder DataCenterbetreiber oder Business ISP ohne großes hin und her gewillt einem das Netz zu geben. Selbst Unitymedia bekommt das hin!

Dabei kommt mit Unitymedia immer als der unprofessionellste Verein aller Zeiten vor. *kopfschüttel* Gut gut… Sie haben noch nicht SO viel Zeit als ISP verbracht wie der rosa Haufen. Habt ihr da mal versucht einen PTR Record zu setzen? Ach was schreib ich… Nicht setzten, setzten zu lassen?!?! Das geht per Fax. Echt jetzt PER FAX!!! Man bekommt so ein tolles PDF Formular OHNE Felder! Also so als PDF Bild zum Ausdrucken und dann muss man mit der Hand in so Kästchen seinen Wunsch PTR, die IP seine Kundennummer usw. eintragen und es dann zu ihnen zurück FAXEN. Nicht mal einscannen und E-Mail… Echt FAXEN! Jetzt ratet doch mal was passiert ist nachdem ich mein Fax mit 4 PTR Wünschen geschrieben habe? Richtig… Ich habe eine E-Mail vom Support bekommen, das sie leider nicht alles lesen konnten und ich das Fax doch bitte noch mal schicken solle *aaaarrrrggggghhhhh*

Siehe auch: IPv6 Grundlagen

Fragen? Einfach melden.

ZFS send/recv: „Cannot receive incremental stream“ beheben

Inkrementelle Replikation mit ZFS

Mit zfs send und zfs recv lassen sich Datasets über SSH auf ein anderes System replizieren. Das Schöne daran: Nach einem initialen Vollabgleich muss man nur noch die Differenz zwischen zwei Snapshots übertragen. Bei großen Datasets spart das enorm Bandbreite und Zeit.

Beispiel: Eine FreeBSD Jail mit 100 GB Mediadaten. Wöchentliche Snapshots werden automatisch erstellt. Der initiale Transfer:

zfs send zroot/jails/subsonic@weekly-2017-03-12 | ssh zfsrecv@system02 zfs recv zroot/backup/subsonic

Ab jetzt nur noch das Delta zum nächsten Snapshot:

zfs send -i zroot/jails/subsonic@weekly-2017-03-12 zroot/jails/subsonic@weekly-2017-03-19 \
  | ssh zfsrecv@system02 zfs recv zroot/backup/subsonic

Der Fehler

Das funktioniert nur, solange das Ziel-Dataset seit dem letzten Snapshot nicht verändert wurde. Jede Änderung — und sei es nur ein Update der Access-Time (atime) durch einen Lesezugriff — reicht aus, damit ZFS den inkrementellen Stream ablehnt:

cannot receive incremental stream: destination zroot/backup/subsonic has been modified
since most recent snapshot
warning: cannot send 'zroot/jails/subsonic@weekly-2017-03-19': signal received

ZFS sagt damit: Zwischen dem letzten gemeinsamen Snapshot und jetzt hat sich am Ziel etwas geändert. Das Delta passt nicht mehr.

Lösung und Prävention

Man muss nicht alles neu übertragen. Mit -F weist man zfs recv an, das Ziel-Dataset auf den letzten gemeinsamen Snapshot zurückzurollen und dann das Delta anzuwenden:

zfs send -i zroot/jails/subsonic@weekly-2017-03-12 zroot/jails/subsonic@weekly-2017-03-19 \
  | ssh zfsrecv@system02 zfs recv -F zroot/backup/subsonic

Damit das Problem gar nicht erst auftritt, setzt man das Ziel-Dataset auf readonly:

zfs set readonly=on zroot/backup/subsonic

So kann nichts am Ziel verändert werden — kein atime-Update, kein versehentliches Schreiben. Das -F im Skript schadet trotzdem nicht als Sicherheitsnetz. Und nicht vergessen: Auf dem Zielsystem regelmäßig alte Snapshots aufräumen, sonst wächst der Plattenverbrauch stetig.

Mehr Details in der OpenZFS-Dokumentation zu zfs send. Mehr zu ZFS: ZFS Compression und Deduplication und TRIM im ZFS-Pool aktivieren. Fragen? Einfach melden.

FreeBSD slim lightDM MATE und Shutdown/Reboot durch den Benutzer

Auf fast jedem Unix ähnlichen System haben Benutzer nicht das Recht das komplette System herunterfahren oder neustarten zu können. Macht ja nur Sinn… Nutzt man dieses System aber als Desktop könnte es in gewissen Fällen ebenfalls nicht dumm sein, wenn Benutzer nicht in der Lage sind das System zu rebooten und einen shutdown abzusetzten. In den Meisten Fällen ist man dann wohl doch alleine auf seinem System und es ist eher eine Einschränkung wenn man sich erst als privilegierter Benutzer anmelden muss um seinen Comupter/Laptop abschalten zu können.

Dafür wurden nun verschiedenste Dienste entwickelt um dieses so einfach wie möglich zu erledigen. Das wohl bekannteste und verbreitetste ist consolekit / policykit / polkit. Dieses System ermöglicht es bestimmte Rechte basierend auf Benutzer oder Gruppen zu verteilen. Die gängigen Logonmanager sowie Displaymanager haben in der Regel bereits die Möglichkeit eingebaut um sich damit auszutauschen. Der normale Linux Benutzer wird damit wohl kaum noch in Berührung kommen.

Am einfachsten schaut man sich als Benutzer einmal in einem xterminal an welche Möglichkeiten einem geboten werden:

$ pkaction

Schon gibt es eine Liste der aktuell konfigurierbaren „Berechtigungen“. Ob shutdown und reboot dabei ist sagt einem:

$ pkaction | grep -E 'stop|restart'
org.freedesktop.consolekit.system.restart
org.freedesktop.consolekit.system.restart-multiple-users
org.freedesktop.consolekit.system.stop
org.freedesktop.consolekit.system.stop-multiple-users

Ob der eigene Benutzer es bereits darf sagt einem:

$ pkaction --action-id org.freedesktop.consolekit.system.restart --verbose
org.freedesktop.consolekit.system.restart:
  description:       Restart the system
  message:           System policy prevents restarting the system
  vendor:            
  vendor_url:        
  icon:              
  implicit any:      no
  implicit inactive: no
  implicit active:   yes

Implicit active ist hier der spannende Eintrag… Dieser ergibt sich für mich aus der von mir angelegten Regel 05-shutreboot.rules unter /usr/local/etc/polkit-1/rules.d diese schaut wie folgt aus:

polkit.addRule(function (action, subject) {
  if (action.id == "org.freedesktop.consolekit.system.restart" ||
  action.id == "org.freedesktop.consolekit.system.stop"
  && subject.isInGroup("wheel")) {
  return polkit.Result.YES;
  }
});

Die Regel besagt das org.freedesktop.consolekit.system.stop sowie restart das Ergebnis YES zurückgeben soll, wenn der Benutzer in der Gruppe wheel ist. ist diese Regel eingetragen, und man ist sich sicher das alles klappen müsste, es dennoch nicht funktioniert sind ein beliebter Fehler die Rechte vom Ordner. Hier könnte folgendes helfen:

$ chown polkitd:wheel /usr/local/etc/polkit-1

In diesem Sinne…

Siehe auch: FreeBSD auf dem Desktop

Fragen? Einfach melden.

QIVICON Home Base 2.0: Migration vom Telekom SmartHome und was dabei schiefgeht

Ich nutze privat das SmartHome-System der Telekom mit der QIVICON Home Base. Die alte Version 1.0 war funktional in Ordnung, aber langsam. Kein WLAN, kein ZigBee ohne USB-Stick, und je mehr Geräte dranhingen desto zäher wurde die Oberfläche. Die neuen HomeMatic IP Geräte von eQ-3 haben den Rest gegeben. Die Home Base 1.0 war damit überfordert.

Die Home Base 2.0

Das Endergebnis vorweg: Die 2.0 ist besser. Kamerastreams laufen flüssig, keine Verbindungsabbrüche mehr zu den Sensoren, die App reagiert spürbar schneller. Soweit die gute Nachricht.

Der Migrationsprozess

Die offizielle Wechselanleitung der Telekom sieht so aus:

1. Alle Geräte auf der Home Base 1.0 löschen
2. Reset der Home Base 1.0
3. Alte abklemmen, neue anklemmen
4. Neue Home Base registrieren und aktivieren
5. Alle Geräte neu einrichten

Punkt 1 und 5 sind das Problem. Jedes Gerät einzeln löschen, über eine App die alle paar Klicks die Verbindung verliert und einen gefühlten Delay von ein bis zwei Sekunden auf jede Aktion hat. Manche Geräte wollen vor dem Löschen eine physische Bestätigung am Gerät selbst. Also knapp eine Stunde durch die Wohnung rennen und Knöpfe drücken. Bei Unterputz-Schaltern besonders viel Freude.

Was bei mir schiefging

Nach dem Löschen aller Geräte und dem Reset der alten Home Base wollte die App keine Verbindung mehr herstellen. Logisch, die alte Base war ja zurückgesetzt. Im QIVICON-Webportal gab es einen Button „Exchange Gateway“ der in der Anleitung nicht vorkam. Seriennummer der neuen Base eingeben, fertig. Die Aktivierung, die laut Anleitung nötig sein soll, war es nicht. In der Anleitung steht man solle die Fehlermeldung bei der Aktivierung ignorieren. Fehlermeldung ignorieren als offizieller Schritt.

Nach dem Gateway-Tausch passierte etwas Unerwartetes: Die neue Home Base hatte meine komplette Konfiguration und alle Geräte. Die ich vorher gelöscht hatte. Die Geräte kannten aber den Funkschlüssel der alten Base und weigerten sich mit der neuen zu reden. Das Ergebnis war ein Dauerbeschuss des Funkmoduls mit ungültigem Traffic. Die Base war alle paar Sekunden überlastet.

Zum Löschen der Geräte brauchte man das Funkmodul. Also hatte man immer ein paar Sekunden Zeit bevor es wieder abschmierte. Ein Neustart der Home Base dauerte 15 Minuten. Das ganze Löschen und Neu-Anlernen hat knapp drei Stunden gedauert, inklusive Geräte die vor dem Neu-Anlernen einen eigenen Factory-Reset brauchten.

Fazit

Die Hardware ist ein klares Upgrade. Der Migrationsprozess ist eine Katastrophe. Ein Gateway-Tausch sollte eine Sache von Minuten sein, nicht von Stunden. Das Telekom SmartHome hat den Vorteil verschiedene Hersteller kombinieren zu können. Das ist nach wie vor der Grund warum ich dabei bleibe. Die Bilder zeigen die alte und neue Home Base, innen und aussen.

Siehe auch: Telekom SmartHome im Test: Erfahrungen mit QIVICON und Home Base​, Telekom SmartHome: Firmware-Updates für HomeMatic-Geräte über die CCU2, Magenta SmartHome Lüften: Lösung für Android-Probleme gefunden

Fragen? Einfach melden.

« Ältere Beiträge Neuere Beiträge »

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑