[Freifunk-Bonn] Freifunk Firmware mit/ohne Auto-Update

yanosz freifunk at yanosz.net
Mo Feb 12 19:41:16 CET 2018


Hallo,

Am 2018-02-10 um 12:31 schrieb freifunk at d0b.eu:
> Hallo,
> ich habe mal etwas zusammen gekürzt auf das wesentliche:
>> - Das größte Upsi ist imho die fehlende Doku zum autoupdater (sic!) und
>> images.ffkbu.de in der Wiki.
> Das kann man ja ändern - um es in Neusprech zu sagen: Ich würde mich
> sogar dafür einsetzen und es aktiv begleiten ;-)
>> - Das nächst größere Upsi ist, dass der Autoupdater Opt-Out statt Opt-In
>> ist, sowie dass es keine Bereitschaft gibt, die Vereinbarkeit mit dem
>> MoU zu zu überdenken und ggf. die Diskussion auch mit anderen
>> Freifunk-Communities zu führen.
> Ich nehme an Du spielst damit auf Opt-out / Opt-in an?
> 
> "Die Knotenbetreiber*innen haben die Wahl, sich für Fernwartung zu
> entscheiden. Eingriffe in die Knoten, z.B. Firmwareupdates oder andere
> Fernwartungsarbeiten, müssen immer mit dem ausdrücklichen Einverständnis
> der jeweiligen Betreibenden geschehen"
> Quelle:
> https://github.com/freifunk/MoU/blob/master/FreifunkMemorandumofUnderstanding.md
> / Technische Prinzipien
> 
> Wenn ich mich recht entsinne wäre Opt-out einfacher für  den Einsteiger
> und für den Fortgeschrittenen kein Problem, da es bei letzteren
> ja nur ein Haken wäre der zu entfernen ist. Ist für mich aber eher
> sekundär, hätte auch kein Problem mit Opt-in!

Hmm... da von "ausdrücklichen Einverständnis" die Rede ist, muss das
Einverständnis ausgedrückt werden.

>> - Der Rest ist irgendwie random Verwirrung und Graugesichtertum.
> Scheint so - Mich stört / hat gestört das diese Funktion komplett aus
> der Fw entfernt werden soll(te), denn dazu sehe ich keinen Grund,
> sondern eher Probleme bei der Netzpflege. Falls ich das falsch
> verstanden haben sollte bitte ich um Entschuldigung. Ich bin der
> Überzeugung das ein Auto-Update Funktion sinnvoll ist für den Großteil
> der Knotenbetreiber dessen Hobby nicht Computer & Netzwerke sind welche seit
> längerer Zeit den Großteil der Knoten stellen.

hui - das wird länger.

Du hast nichts falsch verstanden. Ich bin schon dagegen

Für mich sprechen zwei wesentliche Punkte dagegen:

1) Aktuelle Umsetzung
Angedacht war, signierte Updates mit vertrauenswürdigen Keys zu
releasen. Die Kontrolle sollte nach 6-Augen Prinzip erfolgen und die
Sicherheit erhöhen. Stand jetzt ist für die Installation eines Updates
lediglich eine einzige Signatur erforderlich (Beta - Branch; release 2),
statt 3.

Ich kann das Vertrauensmodell der Keys nicht nachvollziehen: Ich sehe 3
(4, inkl. Kevin) Keys im git [1] und kann nur vermuten, dass sie den
Personen im Kommentar dahinter gehören.
Ich fänd's schön, wenn die Autoren eine GPG-Signatur zum Key
veröffentlicht hätten (z.B. Profilseite in der Wiki). Ich weiß auch
nicht, ob die Keys wie angedacht offline gehalten werden. TPM 1.2 / 2.0
haben mir curve 25519 keys Probleme.

In der Doku dazu hieß es bis eben (ich hab's gerade korrigiert) [2]:
"Muss ich meinen Router manuell Updaten oder kann ich das automatisch
erledigen lassen?
Zur Zeit gibt es keinen Mechanismus um Firmware Updates automatisch auf
den Freifunk Router laden zu lassen."

Soweit ich blicke, sind die Keys seit mind. 11 Monaten in der
Firmware enthalten [3]. Dennoch wird die Benutzerin / der Benutzer im
Glauben gelassen, dass es keine automatische Änderung der Software gibt.

Damit gibt es eine kleine Gruppe mit der undokumentierte Möglichkeit,
fremde Router zu konfigurieren.
Das kollidiert mit dem MoU (Zitate siehe oben) und riecht auch irgendwie
nach einer Backdoor in fremde Netze.

Die KBU-Firmware basiert auf Gluon 2016.2 / OpenWRT 15.01. Beides wird
nicht mehr aktiv gepflegt. Betas von 2017.1 oder 2018.1 (git master)
gibt's keine. Was nützt ein Auto-Updater wenn es keine Updates gibt?

IMHO wäre es gut, 14 Monate nach der Diskussion im NeLa mal zu gucken,
ob der Autoupdater wirklich passt.

2) Dezentralisierung / Projektziel
Das MoU bringt's gut auf den Punkt:
"Wir achten bei der Gestaltung unserer Netze auf Dezentralität. Deshalb
ist es nicht in unserem Sinne, dass eine kleine Admingruppe oder
Einzelpersonen per Fernzugriff die Kontrolle über ein ganzes (Teil-)Netz
haben"

Wenn in der Firmware keys hinterlegt sind, hat eben eine kleine
Admingruppe Fernzugriff über einen Teil des Netzes hat. Bei Opt-Out ist
die Situation noch brenzliger, da der Zugriff per default an ist.

IMHO: Ich fänd's eigentlich besser, wenn jede / jeder die Keys
selber in die Firmware (z.B. Wizard) eingibt - d.h. Opt-In mit Keys
eintragen. Damit gibt es ein "ausdrückliches Einverständnis" - zudem
gibt es keine Admingruppe, der per default vertraut wird.
Das wär' von der Idee auch nichts anderes, als wenn jemand den SSH-Key
einer / eines anderen bei sich einträgst.

Neben diesen beiden Punkten bin ich nicht wirklich davon überzeugt, dass
der Auto-Updater wirklich Probleme löst.

a) Einige meinen, dass der Auto-Updater die Sicherheit erhöhen würde.
Tatsächlich ist der Sicherheitsgewinn kaum da.

Wird ein Node solide aufgestellt (d.h. Gastnetz, bzw. DMZ) dann ist er
vom privaten LAN isoliert. Wird er übernommen, hat der Angreifer
lediglich die Möglichkeit, auf das Internet zuzugreifen - nichts
anderes, als wenn jmd. via Freifunk eine Internet-Freigabe ohne VPN
nutzt. Der Internet-Zugang kann einfach eingeschränkt werden, wenn aus
dem Gastnetz (bzw. der DMZ) nur Verbindungen zu den VPN-Server erlaubt
werden.

Packt jmd. den Node direkt ins private Netz, dann ist die Situation
schon kritisch:
Konfigurationsfehler können einen Zugriff auf's private Netz erlauben.
In dem Fall öffnet der Auto-Updater eine Tür ins private Netz. Es
entstehen neue Angriffsszenarien (z.B. keys ausgetauscht werden, etc.).

Gefahr für Dritte seh' ich kaum; die meiste Gefahr geht durch infizierte
Windows-Clients aus.

=> Offensichtlich wird Sicherheit dadurch erreicht, dass der Router
vernünftig im Netz platziert wird. Der Autoupdater gibt vor allem ein
Gefühl von Sicherheit:  Auf der Fosdem letzte Woche gab's dazu einen
guten Talk: https://ftp.fau.de/fosdem/2018/Janson/security_theatre.webm

Eigentlich ist's mein Anspruch, dass wir die Nodes vernünftig aufstellen.

b) Hin- und wieder kommt das Argument, dass der Auto-Updater Menschen
hilft, bei denen die Installation eines Updates die technischen
Fähigkeiten übersteigt.

Warum sehen wir Freifunk an dieser Stelle nicht als Mitmach-Netz?

Die Firmware aktuell zu halten funktioniert etwa genau so wie die
Installation: Firmware-Datei im Webinterface vom Node hochladen -
erledigt. Ich denk', damit ist ein Update auch nicht schwieriger als die
Installation.

Fazit - 3 Punkte:
i) Die aktuelle Umsetzung find ich nicht gut.
ii) Default-Firmware (Wiki-Link, etc.) mit Auto-Updater geht für mich
klar, sofern per Opt-In die Zustimmung ausgedrückt wird - genial wäre,
keys wie gesagt, die keys selber einzutragen.
Eine andere Weg wäre imho in der default-Firmware keinen Updater zu
haben und in der Anleitung auf alternative Downloads hinzuweisen.
iii) Der Autoupdater bringt kaum Sicherheit. Die gibt's mit der
korrekten Platzierung im LAN.

Gruß, yanosz


[1] https://github.com/ff-kbu/site-ffkbu/blob/v2016.2/site.conf#L167
[2]
https://kbu.freifunk.net/wiki/index.php?title=FAQ#Muss_ich_meinen_Router_manuell_Updaten_oder_kann_ich_das_automatisch_erledigen_lassen.3F
[3] https://github.com/ff-kbu/site-ffkbu/blame/v2016.2/site.conf#L167
-- 
For those of you without hope, we have rooms with color TV,
cable and air conditioning




-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.kbu.freifunk.net/pipermail/freifunk-bonn/attachments/20180212/f0c62937/attachment.sig>


Mehr Informationen über die Mailingliste Freifunk-Bonn