Fritz!Box Tools mein Retter
Gerne teste ich die Labor-Versionen von AVM für meine jeweilige Fritz!Box, in der 7.39 war jeder scharf auf Wireguard (ok ich auch). Und es ist auch wirklich ein großer Schritt nach vorne. Leider ging aber auf einmal mein selbst gebautes Backup-Bash-Script nicht mehr, mit dem ich jeden Abend den aktuellen Stand der Einstellungen und der Telefonbücher exportiere. Wieso? Ja, eine gute Frage! Bis ich dahinter kam, dass in dieser Version die Einstellung „Bestätigung bei sicherheitsrelevanten Einstellungen“ plötzlich verpflichten ist. Wie soll ich denn jetzt in einem automatischen Script eine Taste an der Box drücken, oder eine Nummer an einem DECT-Telefon wählen, um die Einstellung zu bestätigen.
Also fragen wir mal das Internet – und siehe da, auch andere haben das Problem, dort heißt es:
Ab Fritz!OS 6.69 muss VORHER in „System / Fritz!Box-Benutzer / Anmeldung im Heimnetz“ die Option „Ausführung bestimmter Einstellungen und Funktionen zusätzlich bestätigen“ deaktiviert werden, da sonst die Fritz!Box ständig eine Bestätigung per Telefon haben möchte.
https://www.mengelke.de/Projekte/FritzBox-Tools#konfig
Aber warte – er hat doch auch selber eine Lösung: https://www.mengelke.de/Projekte/FritzBox-Tools#fbtp_otpauth doch schien es auf den ersten Blick nicht unterstützt zu werden, diese auch automatisch zu verwenden.
Aber AVM selber macht es doch auch, wenn sie auf die Eingabe des Tokens warten, also muss das doch gehen. Also in der Web-Console geguckt, was passiert eigentlich, wenn ich dazu aufgefordert werde diesen Token einzugeben. Nach etwas hin und her und dank dem Token-Generator von Michael Engelke habe ich es dann geschafft.
Als erstes startet man den Wunsch eine Freigabe via Token durchführen zu wollen ($sid ist hierbei die aktuelle SessionID der schon vorher durchgeführten Anmeldung, das beschreibe ich hier nicht extra):
wget -O /dev/null -q http://fritz.box/twofactor.lua --post-data='xhr=1&sid='$sid'&tfa_start=&no_sidrenew=
Danach warte ich kurz eine halbe Sekunde und erzeuge dann für meine 2FA mit Hilfe von den Fritz!Box-Tools einen aktuellen Token, den ich dann im nächsten Request mitgebe:
sleep 0.5
OTP=$(php fb_tools.php otpauth secret:"${OTP_Map[${box}]}")
wget -O /dev/null -q http://$box/twofactor.lua --post-data='xhr=1&sid='$sid'&tfa_googleauth='$OTP'&no_sidrenew='
sleep 0.5
Nach dem weiteren kurzen Sleep rufe ich dann die Aktion auf wie sonst auch, also den Export der Einstellungen via POST-Request. Hier hat sich nichts geändert – durch die 2 Requests davor ist die Session sozusagen für die Folgeaktion „beglaubigt“, so als wenn mein eine Taste an der Box gedrückt hatte.
Daher hier einen riesigen Dank an Michael, ohne seine Vorarbeit hätte das alles nicht so schnell geklappt. Und um so mehr ich mir bei der Umsetzung die Fritz!Box-Tools angesehen habe, um so mehr überlege ich, das Backup auch darauf umzustellen. Am Anfang fand ich es ja sehr gut, alles „zu Fuß“ und self-made zu machen – aber das ständige hinterher laufen der Anpassungen an die aktuelle Firmware ist schon recht zeitaufwändig. Wobei man sich in diesem Fall ja sehr gut ergänzen konnte.