VoIP mit der FritzBox hinter einem OpenWrt-Router

Ich benutze ein APU2-Board mit OpenWrt als Tor ins Internet. WLAN, Telefonie und DECT-Basisstation stellt dagegen eine dahinter platzierte FritzBox 4790 bereit. Dieser Aufbau macht, was er soll und ist sehr flexibel; besonders der Router hat noch ordentlich Leistungsreserven.
Irgendwann stellte sich allerdings heraus, dass eingehende Anrufe oft nicht ankamen, während ausgehende kein Problem darstellten.

Im Hinterkopf hatte ich bereits, dass die SIP-Verbindung ja von der FritzBox aus dem lokalen Netzwerk heraus über den Router ins Internet aufgebaut werden muss, damit der Telefonieanbieter „durchklingeln“ kann – die FritzBox hängt ja nicht mehr direkt erreichbar im Internet – und es folglich daran haken könnte, dass der OpenWrt-Router diese Verbindung beendet.

Eine kurze Internet-Recherche gab dem recht: Entweder muss der Timeout von UDP-Verbindungen im Router hochgesetzt werden oder die FritzBox muss regelmäßig Pakete senden, damit die Verbindung vom Router weiterhin als aktiv eingestuft wird. Ich habe mich für letzteres entschieden:

Diese Einstellungen sind etwas versteckt unter TelefonieEigene Rufnummern im Reiter Anschlusseinstellungen und dann ganz unten auf der Seite ein einem mit „Einstellungen ändern“ betitelten Ausklapp-Menü zu finden

Warum man Freigaben eher nicht in ein Home-Verzeichnis mounten sollte… 🤦️

… wenn man gedenkt, ein Backup des Home-Verzeichnisses zu machen.
Kürzlich habe ich nämlich via sshfs eine Freigabe in mein Home-Verzeichnis eingehängt. Ein Mount-Point ist schnell erstellt, schließlich ist /home/julius meins 😉️. Und irgendwann mache ich dann ein Backup und wundere mich, wieso zum Geier das so lange dauert und stelle dann fest, dass das borg backup auch den Server mit sichert und der Datentransfer über das Internet halt einfach lange dauert. Immerhin war das nicht der Server, auf dem das Backup liegt, das wäre bestimmt witzig geworden.

Bedenkliche Passwort-Vorgaben bei bahn.de

Kürzlich waren mal wieder Bahntickets zu buchen und da dachte ich mir, dass es vielleicht mal an der Zeit wäre, mir dort einen bahn.de-Account zuzulegen. Wohlan, schreiten wir zur Tat und rufen die für diesen Zweck vorgesehene Seite auf. Aus Sicht der IT-Sicherheit schauderte es mir sofort, aber seht selbst – vielleicht entdeckt ihr es ja selbst:

  1. Es fängt schon damit an, dass eine Passwortlänge von lediglich 6 Zeichen als Minimum verlangt wird – 8 Zeichen gilt aktuell im Allgemeinen als Minimum. Interessanterweise fordert man selbst beim Nutzernamen schon 8 Zeichen, was wenig Sinn ergibt, hier geht es ja lediglich darum, dass der Nutzername noch frei sein muss.
  2. Die Verwendung von Sicherheitsfragen. Zu jeder der vorgeschlagenen Sicherheitsfragen fällt mir mindestens ein Einwand ein – auch eine Studie von Google stellt Sicherheitsfragen kein sonderlich gutes Zeugnis aus – sodass ein branchenübliches Vorgehen mit hinterlegter E-Mail-Adresse und Telefonnummer deutlich sinnvoller erscheint:
    • Einige sind extrem leicht für Dritte herausfindbar, notfalls durch Anwendung von Social Engineering. Wie beispielsweise der Mädchenname der Mutter.
    • Einige sind nicht ohne Weiteres für den Nutzer reproduzierbar angebbar. Woher soll man beispielsweise nach Jahren noch wissen, von welcher Karte die Nummer stammt? Außerdem kann man sich nicht sicher sein, ob sich diese durch eine neue Karte mittlerweile geändert hat. Lieblingsbücher oder -filme können sich im Laufe der Zeit ändern.
    • Einige dieser Angaben sind private Details, die ggf. bei einem Datenleck in die Öffentlichkeit gelangen können. Abseits davon wäre es in dem Fall fatal, wenn die selbe Sicherheitsfrage mit der – naheliegenderweise – selben Antwort auf mehreren Seiten verwendet wurde.

Immerhin kann man als um die Problematik wissender Nutzer beides ausgleichen, indem man ein langes, starkes Passwort verwendet und eine Sicherheitsfrage mit einer zufällig generierten Antwort beantwortet und diese Antwort beispielsweise in seinem Passwortmanager ablegt. Ein negativer Beigeschmack bleibt dennoch, zumal der Otto-Normal-Nutzer schlicht die Seite so benutzen wird, wie sie es ihm nahelegt, also vielleicht ein 6 Zeichen langes Passwort sowie dem Mächennamen der Mutter als Sicherheitsfrage wählt. Hoffen wir mal, dass der Rest des Portals besser abgesichert ist.

Nachtrag: Zu der Wahl von Sicherheitsfragen gibt es ein lesenswertes OWASP-Cheatsheet.

Interessante Details zum Raspberry Pi 4

Wie bei meinem letzten Beitrag zu unterthematisierten Details des der neuen Version des Einplatinencomputers gehe ich hier wieder auf ein paar Dinge ein, die ich für interessant erachte, die aber nicht im Rampenlicht der Berichterstattung stehen…

  1. Die analoge Audioausgabe für die Klinkenbuchse wird weiterhin über PWM generiert (Quelle: Schaltplan des RPi 4). Wer bessere Audioqualität braucht, muss sich also weiterhin ein HAT anschaffen oder einen der nun zwei vorhandenen HDMI-Ausgänge benutzen.
  2. Der analoge Composite-Video-Ausgang an der Klinkenbuchse steht weiterhin zur Verfügung. Allerdings kann dieser nicht parallel zu den HDMI-Ausgängen benutzt werden (Quelle: Blogpost zum Release von Raspian Buster).
  3. Der Boot-Prozess wurde geändert. Statt der GPU, die erst im weiteren Verlauf des Boot-Prozesses die Kontrolle an die eigentlichen ARM-CPU-Kerne übergibt, sind jetzt die ARM-Kerne die eigentlichen Hauptprozessoren. Zudem existiert jetzt ein Flash-Speicher, der die Firmware für den Systemstart enthält.
  4. Damit einher geht auch, dass sowohl USB-Boot als auch Netzwerkboot anders funktionieren müssen (→ Die Firmware muss jetzt über PCIe mit dem USB-Controller und dem im SoC integrierten Gigabit-MAC „sprechen“), beides wird aber über Updates der Firmware nachgereicht.
  5. Der USB-C-Anschluss zur Stromversorgung ist gleichzeitig auch ein USB 2.0-Port. Dort liegt jetzt nämlich der USB-Port an, der ursprünglich der primäre und einzige USB-(OTG)-Port des SoC war.
  6. Probleme, die durch den Datenverkehr über den einzigen USB-Port des SoCs verursacht wurden, wie Audioaussetzer bei Netzwerktransfer über die am internen USB-Hub-hängenden Netzwerkkarte und gleichzeitiger Audioausgabe über eine am gleichen Hub hängende USB-Soundkarte, sind mit dem über PCIe angebundenen USB-Controller und der separat am SoC angebundenen Gigabit-Netzwerkkarte passé.
  7. Der Grafik-Stack beinhaltet weniger proprietären Code und setzt jetzt auf Mesa. Der Treiber dafür war schon länger in Arbeit und wurde auch in Zusammenhang mit einem möglichen RPi 4 gesehen.

Insgesamt stellt der RPi 4 eine gelungene Rundum-Überholung dar. Wo möglich und nötig, wahrt er die Kompatibilität zu den Vorgängern. Und beseitigt dabei die Probleme der Vorgänger, was Erweiterbarkeit der SoC-Architektur, mangelnde IO-Bandbreite und fehlenden Arbeitsspeicher angeht. Erweiterungen, HATs und Anleitungen funktionieren allerdings weiterhin. Und das zu weiterhin günstigen Preisen und anscheinend weiterhin gutem Software-Support.

Das als Gesamtpaket hat die Konkurrenz zwar immer angekündigt, aber nie wirklich geliefert.
Trotz aller Schelten, die die RPi-Macher bisher für ihre Entscheidungen („Veraltetes SoC einsetzen geht gar nicht!“, „Wo bleibt Gigabit-Ethernet?!“) kassiert hat, muss man anerkennen, dass sich manche Dinge eher inkrementell lösen lassen als wenn man sie von Anfang an „richtig“ zu machen versucht und dann letztlich doch an der Komplexität des Ganzen scheitert.

Ich benötige im Moment keinen weiteren RPi, auch keinen schnelleren, weil ich alle meine drei Pis (3B, 3B+ und 3A+) im Headless-Betrieb nutze und sie dafür vollkommen ausreichend sind. Aber sobald mal wieder genug Geld in der Bastelkasse sein dürfte, wird der Haben-Reflex sicherlich überhand nehmen…

TV-Adapter-Einstellungen in Tvheadend zurücksetzen

Ich benutze Tvheadend als TV-Streaming-Server und hatte letztens das Problem, dass ich die Adapter-Einstellungen nicht mehr ändern konnte, weil ich vorher ein bisschen damit herum gespielt hatte – einen der Tuner hatte ich als Master-Tuner eingetragen, weil ich lediglich ein einzelnes Koaxialkabel in Satblock-Verteilung, was die am meisten benutzte Topologie für die Verteilung Satelliten-TV ist, am Standort des Servers hatte. Das bedeutet, dass nur einer der drei Tuner den Frequenzbereich und die Polarisation bestimmen kann.

Nun habe ich drei Kabel dort liegen, womit alle drei Tuner separat angesteuert werden können. Theoretisch, denn trotz dreier Tuner schien Tvheadend nur einen Tuner zu nutzen.

Da mir das Einstellungsmenü seltsam leer erschien (der Punkt „Universal LNB only“ fehlte bei zwei von drei Tunern), wollte ich „einfach“ mal die Einstellungen löschen und alles komplett von vorne konfigurieren. Diese Option konnte ich allerdings nirgends finden. Auf den richtigen Weg brauchte mich dann ein Beitrag im Tvheadend-Forum: Man muss die entsprechende Konfigurationsdateien unter /home/hts/.hts/tvheadend/input/linuxdvb/adapters/ löschen:

  1. Tvheadend stoppen: service tvheadend stop
  2. (Sicherheitshalber) Backup erstellen: rsync -a /home/hts/.hts/ dot_hts_back
  3. (In meinem Fall) alle Adapter-Dateien (pro je verbundenem Tuner ist es immer eine Datei) löschen: rm /home/hts/.hts/tvheadend/input/linuxdvb/adapters/*
  4. Tvheadend wieder starten: service tvheadend start
  5. Adapter in Tvheadend wieder neu konfigurieren (da wollten wir ja hin :-)).

Die benutzte Tvheadend-Version ist übrigens 4.2.8-23.

Reset TV adapter settings in Tvheadend

I use Tvheadend as TV streaming server and recently encountered the problem that I couldn’t change the adapter’s settings any more. Two of three tuners missed the option „Universal LNB only“ and only one tuner was used by Tvheadend. Before that I set one tuner as master tuner because of the fact that I only had one free cable to the LNB. This is a restriction in the classic satellite signal distribution topology because only one tuner of the three available is able to control the polarisation and frequency range sent through the cable.
Anyway, now I have three cables for three tuners and wanted to change the settings.

Because of missing the Option „Universal LNB only“ in two of three cases, I wanted to reset all adapter settings but it seems that Tvheadend does not allow this. The solution was provided by a posting in the Tvheadend forum: It was neccessary to delete the adapter configuration files in /home/hts/.hts/tvheadend/input/linuxdvb/adapters/.

  1. stop Tvheadend service tvheadend stop
  2. create Backup (just to be safe): rsync -a /home/hts/.hts/ dot_hts_back
  3. delete files (one per every tuner ever connected): rm /home/hts/.hts/tvheadend/input/linuxdvb/adapters/*
  4. start Tvheadend: service tvheadend start
  5. configure adapter in Tvheadend (what was the goal :-))

The used Tvheadend version is 4.2.8-23.

Die guten Seiten der DSGVO

Die Datenschutzgrundverordnung DSGVO mag negative Effekte haben, Aufwand bereiten, bringt aber dennoch viel Positives – vor allem für die Nutzer – mit sich, was im Moment bedauerlicherweise eher in den Hintergrund tritt:

  • Vor Datenerfassung muss Einwilligung erfolgen
    → Vielleicht denken die Nutzer mal darüber nach, was sie da wem an Daten offen legen. Und die Anbieter scheuen vielleicht die mit der Speicherung von nicht zwingend notwendigen Daten verbundenen Aufklärungsaufwand und lassen die Speicherei gleich bleiben.
  • Löschung und / oder Exportieren von Personen-gebundenen Daten verpflichtend
  • Verbesserte Einheitlichkeit in Europa, digitale Differenzen innerhalb Europas werden abgebaut
    • Services aus der EU können problemloser benutzt werden
    • Datenschutzverletzungen aus anderen EU-Ländern können leichter belangt werden – Irland hatte beispielsweise bisher einen wesentlich laxeren Datenschutz als in Deutschland.
      Fraglich ist allerdings, wie die die EU-Datenschutzbehörden ausgestattet sind.
  • Datenschutzerklärungen müssen verständlicher sein, ggf. auch in Stufen:
    Icons als grobe Erläuterung, Zusammenfassung als nächste feinere und dann zuletzt die ausführliche Datenschutzerklärung
  • Das Kopplungsverbot

Es bleibt nur zu hoffen, dass die DSGVO den tatsächlich Datenschutz verbessert und nicht einfach nur zu längeren und noch unverständlicheren Datenschutzerklärungen führt. Bisher wurde ja eher auf der DSGVO herumgeschimpft.

Scribus 1.4.7 und 1.5.4 erschienen

Scribus LogoEnde April hat das Scribus-Projekt die Versionen 1.4.7 und 1.5.4 der freien Desktop-Publishing-Software veröffentlicht.

Die Version 1.4.7 aus dem stabilen Entwicklungszweig hat dabei nur Fehlerbehebungen (Bugfixes) erhalten und wird wohl die letzte Version dieses Zweiges darstellen, weil ab jetzt besonders auf das Erscheinen von 1.6.0 hingearbeitet wird.
Details zu den behobenen Fehlern finden sich in der Liste der Änderungen (Change Log) im Bugtracker des Scribus-Projekts.
Release-Notes von 1.4.7

Verbesserungen an den Funktionen erfolgen derweil im 1.5er Entwicklungs-Zweig, aus dem später die nächste stabile Versionsreihe 1.6.x hervorgehen wird.

In 1.5.4 wurde neben den üblichen Fehlerbehebungen die Farb-Präzision bei Füllfarben auf 64 Bit-Gleitkommazahlen erhöht. Außerdem kann Scribus nun mit Farb-Paletten nach dem ISO-Standard CxF3 umgehen, die das Speichern von Farben in verschiedenen Farbmodellen (CMYK, RGB, LAB) und Ausgabemethodenprofile (output intent) unterstützen und mit der Unterstützung für Spektral Farben eine höhere Farbpräzision erreichen. Laut den Entwicklern ist Scribus die erste DTP-Software, die diesen Standard unterstützt.
Des Weiteren beherrschen die Import-Filter für andere Dokument-Formate nun das LAB-Farbmodell, wo dies möglich ist. Experimentelle Import-Filter für das Vektorgrafik-Programm ZonerDraw (Versionen 4 und 5) und QuarkXPress-Dokumente der Versionen 3 bis 4, die auf das Document Liberation Project zurückgehen, wurden ergänzt.

Ansonsten wurde noch das Barcode-Plugin aktualisiert und kleinere Fehler in der PDF Bibliothek des Programms betreffend den Export von für den Druck bestimmten PDFs und PDF-Formularen behoben.

Die für mich interessanteste Neuerung sind allerdings die Verbesserungen am integrierten Scripter des Programms, mit dem über Python-Programme Dokumenten bearbeitet werden können:

  • Die Methode getAllObjects, die alle Rahmenobjekte auf der aktuellen Seite zurück liefert, akzeptiert nun optional das Schlüsselwort page als Parameter, mit dem die Objekte auf einer anderen Seite als der aktuellen ermittelt werden können.
  • PDF-Anmerkungen können nun mittels des Scripters gesetzt und bearbeitet werden, die dazu nötigen Methoden:
    setLinkAnnotation, setFileAnnotation, setURIAnnotation, setTextAnnotation, createPdfAnnotation, isAnnotated
  • Mit folgenden neuen Methoden können Linien-Stile erzeugt und benutzt werden:
    createCustomLineStyle, getCustomLineStyle, setCustomLineStyle
  • Es ist nun möglich, mittels setCharacterStyle Zeichenstile im Scripter auf eine Textauswahl anzuwenden.

Diese neuen Möglichkeiten des Scripters zusammen mit der Möglichkeit, Scribus 1.5.x von der Kommandozeile aus ein Python-Script als Parameter zu übergeben, sind eine gute Neuigkeit. Beispielsweise könnte man sich jetzt einen simplen Markdown-Importer basteln und dann Batch-Verarbeitung im Headless-Betrieb machen.
Im Deutsch-sprachigen Community-Wiki befinden sich Ansätze einer Dokumentation des Scripters.

Zuletzt sollte aber noch erwähnt werden, dass Dokumente, die mit einer 1.5er-Version (oder neuer) von Scribus geöffnet wurden, sich nicht mehr von 1.4.x öffnen lassen – Vor Experimenten mit der Entwicklungsversion sollte man sich folglich eine Kopie anlegen!
Release-Notes und Change-Log von 1.5.4


Eigentlich schade, dass sowohl Scribus 1.4.7 als auch Gimp 2.10 nicht so lange vor dem Release von Ubuntu 18.04 erschienen sind, dass sie in die Paketquellen hätten aufgenommen werden können…

Der selbst ernannte „Preis-Leistungssieger“ Vodafone

Letzte Woche lag Werbung von Vodafone für deren auf Koaxial-Kabel basierende Internet-Anschlüsse in der Post. Preis-Leistungssieger (mit Anmerkungs-Sternchen natürlich, ohne geht’s ja in der Werbung nicht) sei man. Soso, dann wollen wir doch einmal sehen:

Preis-Leistungssieger, Vergleich mit DSL-Angeboten der Telekom und O2

Die Krux steckt natürlich mal wieder im Kleingedruckten: „Die maximal Upload-Geschwindigkeit der anderen Anbieter kann gegenüber Vodafone Kabel Deutschland nach oben abweichen.“
Aha! Die haben die Upload-Geschwindigkeit bei dem Vergleich also ausgespart – sowohl Telekom als auch O2 (Achtung, Drossel-Klausel ab bestimmten Datenmengen!) bieten „bis zu“ 40 MBit/s, Vodafone dagegen nur „bis zu“ 25 MBit/s im verglichenen, höchsten Tarif:

Tarife (down/up): 32/2, 200/12, 400/25 MBit/s

Natürlich ist die maximal erreichbare Datenrate im Download wesentlich höher als bei den verglichenen Konkurrenz-Tarifen, jedoch ist ein zu wenig an Upload naturgemäß nicht durch mehr Download ausgleichen. Sich dann zum Preis-Leistungssieger zu erklären, halte ich nicht für gerechtfertigt.
Aber Werbung ohne missverständliche Formulierungen und zum Verständnis des beworbenen Dienstes notwendiges Kleingedrucktes wird es wohl nie geben.

Sehr putzig ist nebenbei auch der Begriff „Kabel-Glasfaser“ – wie nennen die wohl LTE – Luft-Glasfaser? – Oder wie vermarkten die FTTH – wenn sie es denn mal an mehr als drei Orten anbieten? – „Glasfaser-Kabel-bis-ins-Haus-Glasfaser“? 😉


Kabelnetz: Vodafone stattet 380.000 Haushalte mit 400 MBit/s aus (golem.de)

Speedport an Nicht-Telekom VDSL, Speedphone an FritzBox und die Liste sicherer E-Mail-Server

Als ich von der Telekom und ADSL mit „bis zu“ 16 MBit/s down und 2,4 MBit/s im Upload zur EWE und VDSL (Vectoring mit 100 MBit/s down und 40 MBit/s up) gewechselt bin, habe ich auch gleich die Modem/Router/WLAN-Accespoint-Kombination (im Folgenden als „Router“ bezeichnet) von einem Speedport W724V Typ B auf eine AVM Fritz!Box 7490 gewechselt, weil es hieß, dass die Telekom-Technik eventuell nicht laufen würde. Ich habe es letztens ausprobiert und den Speedport mit angepasster Konfiguration (unter „Internet“ einfach „anderer Anbieter“ auswählen) am EWE-Anschluss ausprobiert. Und siehe da – es funktioniert. Nach einer Stunde Betrieb habe ich dann doch wieder die Fritz!Box angeschlossen, weil die einfach mehr kann 🙂

Folglich muss das vorhandene Speedphone 50 an der Fritz!Box laufen. Das tat es auch. Anscheinend ist es bei DECT-Geräten so, dass es zwar ein bestimmtes Basis-Profil gibt, aber erweiterte Funktionen wie das Telefonbuch oder Anrufbeantworter aber darin nicht enthalten sind. Ein Problem war bisher wohl die unterschiedliche Unterstützung des CAT-iq-Standards seitens Speedphone und Fritz!Box, was aber schon länger behoben ist. Telefonbuch und verpasste Nachrichten werden angezeigt und die Bedienung hat sich im Vergleich zum vorher als Router eingesetzten Speedport auch nicht verändert.

Einziges Problem scheint oder schien zu sein, dass nach einem Abschalten der Fritz!Box durch Ziehen des Netzteils aus der Dose und anschließendem Neustart das Speedphone die Fritz!Box nicht mehr zu erkennen schien: Es musste neu angemeldet werden.
Da das nur selten auftritt (anscheinend nicht bei von der Fritz!Box selbst initiierten Neustarts) und das Anmelden fix geht, hole ich mir kein anderes Telefon. Ich behalte das im Auge und schreibe ggf. AVM an, falls ich genau weiß, unter welchen Bedingungen das auftritt.

Nachtrag vom 28.05.2019: Ich habe das Problem mittlerweile längst gelöst, es nur noch nicht hier notiert: Man muss lediglich unter DECT → Basisstation die „Erweiterten Sicherheitsfunktionen“ deaktivieren, will man Drittgeräte einsetzen.

Das hat AVM auch so in ihrer Wissensdatenbank dokumentiert.


Zuletzt noch ein Hinweis zu einer Stolperfalle in den Einstellungen des Speedports: Dort ist eine „Liste der sicheren E-Mail-Servern“ hinterlegt. Damit sind die SMTP-Server gemeint, zu denen ein lokal installierter Mail-Client seine E-Mails schickt – quasi der Briefkasten vor der Post-Filiale. Es werden also nur Verbindungen zu den dort hinterlegten SMTP-Servern zugelassen.

Wer statt Webmail einen lokalen E-Mail-Client nutzt, nicht gerade einen der großen bekannten E-Mail-Provider benutzt oder gar einen eigenen Server benutzt und diese Einstellungsmöglichkeit im Speedport nicht kennt, wird sicherlich einige Zeit herum experimentiert haben, bevor er darauf gekommen ist, dass es am Router liegen könnte. Daher die standardmäßig aktivierte Funktion abschalten:

Unter „Internet“ > „Liste der sicheren E-Mail-Server“ können Einträge ergänzt werden oder die ganze Funktion deaktiviert werden.