[Berlin-wireless] [Firmware] Ein paar Notizen zum Autoupdater

Martin Hübner martin.hubner at web.de
Di Jun 7 12:58:46 CEST 2022


Hallo Sven,

danke für deine Fragen. Da du ja auch in shell bewandert bist, können
wir hier ein bisschen technischer in die Tiefe gehen. :)

Signaturen können alle Leute erstellen, deren öffentlicher Schlüsselteil
auf den Routern installiert ist. Diese Schlüssel werden über das Paket
falter-berlin-autoupdate-keys verteilt, dass eine Abhängigkeit des
autoupdaters ist. Die öffentlichen Schlüssel kannst du im Repo einsehen[0].

Wahrscheinlich wird deine Anschlussfrage lauten, wer die Berechtigung
hat, dort einen Schlüssel abzulegen und die Updates unterschreiben zu
dürfen. Initial haben wir uns dazu im Firmware-Chat auf Matrix
verständigt. Dafür habe ich konkret aktive Leute aus der Community
angefragt, ob sie sich vorstellen könnten, Schlüsselträgerin zu sein.
Ein formales Verfahren ist hierfür (noch) nicht vorgesehen. Aber die
Leute, die aktuell einen Schlüssel im Repo liegen haben, genießen mein
Vertrauen und wahrscheinlich auch das Vertrauen dessen, der den
entsprechenden PR approved hatte.

Eine Schlüsselträgerin soll mindestens ein Update manuell durchgeführt
und die korrekte Funktion des Routers überprüft haben. Ist alles in
Ordnung gewesen, unterschreibt sie das Update.

Der Autoupdater bietet hier auch die Möglichkeit, den Grad an
"Vertrauen" einzustellen, indem du z.B. die Mindestzahl an gültigen
Signaturen erhöhst.

Zu deiner zweiten Frage mit dem einzelnen Signierenden, der drei
unterschiedliche Signaturen erstellt:
Falls die Signaturen von unterschiedlichen Schlüsseln stammen, wäre das
tatsächlich denkbar. Dreimal eine Signatur vom gleichen Schlüssel auf
dem Server abzulegen, ist technisch ausgeschlossen. Sobald ein Schlüssel
verwendet wurde, wird er kein zweites Mal verwendet. Siehe hierzu den
Code [1].

Ich hoffe, dass das deine Fragen zufriedenstellend beantwortet. Wenn es
noch weitere Fragen gibt, beantworte ich sie sehr gern. Falls du auch
Schlüsselträger werden möchtest, sage bescheid. Je mehr Menschen die
Firmware testen, desto besser wird sie. :)

Viele Grüße
Martin

[0]
https://github.com/freifunk-berlin/falter-packages/tree/master/packages/falter-berlin-autoupdate/keys
[1]
https://github.com/freifunk-berlin/falter-packages/blob/549a5beaa0ed03d343cd6c55bb5f55113c046b0b/packages/falter-berlin-autoupdate/files/lib_autoupdate.sh#L196-L225

> Message: 6
> Date: Mon, 6 Jun 2022 20:21:07 +0200
> From: Sven Roederer
>
>
> Eine Frage zu den Signaturen der "maschinenlesbare Datei":
> Wer ist denn berechtigt, diese Signatur zu erstellen?
> Kann ein einzelner Signierer einfach 3 verschiedene Signaturen erstellen?
>
> Sven
>
> On 27.05.22 19:21, Martin Hübner wrote:
>> Liebe Freifunker:innen,
>>
>> die neue Firmware-Version 1.2.2 enthält einen neuen Autoupdater, der
>> standardmäßig aktiviert ist. Da es jetzt schon ein paar Nachfragen wegen
>> mehr Infos dazu gab, schreibe ich hier mal ein paar Takte dazu zusammen.
>>
>>
>> == Schnack nicht so lange um den heißen Brei, ich will Code sehen! ==
>>
>> Einmal bitte hier entlang:
>> https://github.com/freifunk-berlin/falter-packages/tree/master/packages/falter-berlin-autoupdate
>>
>> Da gibt es auch eine relativ kompakte Dokumentation. Die ist aber eher
>> etwas technisch angelegt. Weil das vielleicht nicht jede mag, gibt es
>> das in dieser Mail noch einmal etwas ausführlicher und in hoffentlich
>> verständlicher Sprache.
>>
>>
>> == Was macht ein Autoupdater? ==
>>
>> Im Berliner Freifunknetz laufen rund 60% der Geräte mit einer Firmware,
>> die älter als 2 Jahre ist. Das ist ein Problem, weil veraltete Software
>> Sicherheitslücken enthalten kann und auch neuere Funktionen nicht
>> verfügbar sind.
>>
>> Weil unsere Erfahrung ist, dass die meisten Nutzer keine Zeit haben, um
>> Updates einzuspielen, machen wir das jetzt automatisch. Der Autoupdater
>> ist standardmäßig eingeschaltet. Wenn man unbedingt möchte, kann man
>> diesen aber auch abschalten (was uns Firmware-Entwickler aber ein
>> bisschen traurig machen würde).
>>
>> Insbesondere gibt es keine "Fernsteuerung". Die Router machen das von
>> sich selbst aus. Es gibt keine Möglichkeit für die Firmware-Entwickler
>> oder irgendwen sonst, den Router zu einem Update zu zwingen oder
>> sonstwie darauf zuzugreifen.
>>
>> Die Freifunker:in hat die volle Kontrolle und kann das Autoupdate
>> jederzeit abschalten.
>>
>>
>> == Wie funktioniert ein automatisches Update? ==
>>
>> Auf den Servern von Freifunk Berlin gibt es eine maschinenlesbare Datei,
>> die beschreibt, welche Falter-Version aktuell ist [1].
>>
>> Jeder Router lädt täglich diese Datei und guckt, ob es eine neue Version
>> gibt. Diese Datei ist mit kryptografischen Schlüsseln von mindestens 3
>> Freifunker:innen abgesichert [2].
>>
>> Das heißt, dass mindestens drei Personen sich die Datei angesehen haben
>> und dafür unterschreiben, dass das Update bei ihnen fehlerfrei
>> funktioniert hatte.
>>
>> Wenn es nicht genügend Unterschriften gibt, oder die Unterschriften
>> nicht zu der Datei passen, wird das Update abgebrochen.
>>
>> Ist alles in Ordnung, lädt der Router die neue Firmware herunter und
>> installiert sie anschließend selbstständig.
>>
>> Beim Update werden alle bisherigen Einstellungen beibehalten.
>>
>>
>> == Kann etwas dabei schief gehen? ==
>>
>> Manche Nutzende berichten davon, dass Updates bei ihnen nicht
>> funktioniert haben. Das kann je nach Situation ganz unterschiedliche
>> Gründe haben.
>>
>> Wir Firmware-Entwickler:innen geben uns immer die beste Mühe, ein neues
>> Release auf Herz und Nieren zu testen. Allerdings können wir nicht jeden
>> Sonderfall abdecken.
>>
>> Man sollte deshalb besonders vorsichtig sein, wenn man auf seinem Router
>> viele Abweichungen von den Standard-Einstellungen vorgenommen hat. Hier
>> kann es bei einem Update evtl zu Problemen kommen.
>>
>> Es ist deshalb ratsam, sofort nach der Erst-(Neu)- Installation eine
>> Sicherungskopie vom Router zu machen. Dafür am Besten in der
>> Weboberfläche unter "System -> Backup/Update" gehen und dann auf den
>> Backup-Knopf drücken. Anschließend die Datei herunterladen und an einem
>> sicheren Ort abspeichern.
>>
>>
>>
>>
>> Ich hoffe, dass dies ein paar Fragen zum Autoupdater beantwortet hat.
>> Falls noch Fragen offen sind, könnt ihr gerne jederzeit auf diese Email
>> antworten, oder ihr besucht uns im Freifunk-Berlin Matrix-Raum [3].
>>
>> Viele Grüße
>> Martin
>>
>>
>>
>> [1]https://firmware.berlin.freifunk.net/stable/autoupdate.json
>> [2]https://firmware.berlin.freifunk.net/stable/autoupdate.json.1.sig
>> [3]
>> https://matrix.to/#/!JcdPhlVzddbYXjpOVn:matrix.org?via=matrix.org&via=matrix.riotcat.org&via=matrix.fff.community
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.berlin.freifunk.net/pipermail/berlin/attachments/20220607/be1517eb/attachment.html>


Mehr Informationen über die Mailingliste Berlin