Replies: 23 comments 37 replies
-
Das mit dem "sleep" vor der Änderung war witzlos, da so einfach die Webseite erst nach dem "sleep" vollständig geladen war -.- Parameter "char" und "file" von modsave sind in ng neu. Damit hatte ich wegen der 32kb Grenze experimentiert. Mit der 7490 funktioniert das, aber nicht 7590:
Ich denke mit einem Freetz-Backup sollte man nicht auf einem anderen Gerätetyp wiederherstellen, dazu sollte man die AVM funktion nutzen. Für ein anderes Gerät des gleichen Types ist das so natürlich doof.. Man könnte aus proc/sys/urlader/environment noch die "maca" mit in die Sicherung nehmen, dann kann man das Widerhestellen von AVM Einstellungen abbrechen.
Eine Option zum ver/entschlüsseln könnte man auch optional anzeigen wenn openssl vorhanden ist (bei 8/16mb flash Geräten unwahrscheinlicher) |
Beta Was this translation helpful? Give feedback.
-
Schade, das wäre zu einfach gewesen. Ich muss mir den Thread/Post mal bei Zeit genau durchlesen. |
Beta Was this translation helpful? Give feedback.
-
Du solltest den Thread tatsächlich erst mal lesen ... schon die Idee:
ist für sich gesehen "furchtbar" (abgesehen davon, daß man Ich hoffe also mal, daß ich das bloß mißverstanden habe - ansonsten hätte ich die Freetz-Benutzer erst richtig in die Sch***e geritten. Auch das
ist nur bedingt richtig, denn für eine erfolgreiche Entschlüsselung von "secrets" in den wiederhergestellten AVM-Dateien braucht es eben mehr als |
Beta Was this translation helpful? Give feedback.
-
Das meinte ich ja mit "Verschlüsseln", wobei man sich überlegen kann, ob man das vor oder nach dem Da ist eine Verschlüsselung der einzelnen Member (wenn die nicht - wie bei AVM - schon selbst verschlüsselte Daten für die wichtigen Secrets enthalten) dann besser zu handhaben, weil man auch noch eine kleine (unverschlüsselte) Text-Datei mit Infos (z.B. dem Hash der Source-Box) und ein paar Erklärungen zum Inhalt (Datum der Sicherung, etc.) in das TAR-File packen kann, die man dann auch ohne Kenntnis irgendeines Kennworts ansehen kann und die dafür sorgt, daß die Infos zum Inhalt nicht nur aus dem Namen der Datei bezogen werden können - das macht gerade bei "Langzeitspeicherung" bzw. bei mehreren Generationen solcher Dateien mehr Sinn.
Und es geht ja nicht darum, daß da jemand Zugriff auf das Web-Interface von Freetz hat und sich eine eigene Backup-Datei erstellt (dann kennt der deren Kennwort üblicherweise auch), sondern es geht darum, ob sich irgendwo auf einem Datenträger (oder sogar im Download-Cache des Browsers) eine Backup-Datei befindet, die solche "geheimen" Daten im Klartext enthält und ggf. in die falschen Hände geraten könnte. Im Extremfall ist der (Freetz-)Benutzer sogar so pfiffig und speichert solche Backup-Dateien auf einem USB-Stick, der in der Box steckt - da weiß man dann wenigstens, wo man sie suchen muß, wenn man sie mal braucht. Blöd nur, wenn dann auch noch der AVM-Media-Server in dieser Box aktiviert ist (was m.W. immer noch die Standardeinstellung bei AVM ist) und somit jeder x-beliebige Client auf der LAN-Seite der Box diese Datei - und zwar ohne jede weitere Authentifizierung - einfach auslesen kann über den Webserver (auf Port 49000), der dem Media-Server zur Seite gestellt wurde. Wenn man's weiß, kann man das zwar vermeiden ... aber wenn es der Freetz-Benutzer nicht besser weiß, ist es schon hilfreich, wenn ihm Freetz gar keine unverschlüsselte Backup-Datei anbietet - dann kann er die auch nicht am falschen Ort speichern bzw. es ist - dank Verschlüsselung - nicht länger ein Problem. |
Beta Was this translation helpful? Give feedback.
-
@PeterPawn Ab und an (selten) erscheint
Wenn ich sofort danach mit der gleichen Quelldatei den gleichen Befehl nochmal ausführe erscheint die Meldung nicht mehr
|
Beta Was this translation helpful? Give feedback.
-
Ich hab gesehen dass man es besser compilieren soll. Aber auch dass nettle genutzt wird. Viele haben aber so ihre Probleme mit apt-get... Und wenn es eine Binary ist müsste die auch noch zu den dl-tools. Dabei darf man nicht vergessen dass das Script nur zum decodieren von Backups dient, und vielleicht 1x im Jahr genutzt wird. Da ist das so doch einfacher. Ich hab das Script in einem VM aufgerufen, die sonst nicht viel zu tun hat. Und darin wird das decode_secrets in einer Schleife für jede Datei in var_flash ausgeführt - meine 7490 hat dort 65 Dateien. Und ich hab das auch öfter hintereinander mit kleiner Änderungen ausgeführt. Das kann schon einiges an Zufälligkeit kosten. |
Beta Was this translation helpful? Give feedback.
-
Ich hab mir die Binaries mal angeschaut, deren Parameter/Ausgaben sind leider nicht kompatibel zu den Scripten (so dass man leicht wechseln könnte).
|
Beta Was this translation helpful? Give feedback.
-
Ah, so einfach ^^
UPDATE:
|
Beta Was this translation helpful? Give feedback.
-
Hätte ich vorher gewusst dass decode_secrets auch eine Env-Datei annimmt hätte ich es anders gemacht. Aber jetzt lass ich es so, so kann der Key angezeigt werden und vorab geprüft werden ob die env im Backup okay ist. Ich rufe die Binary doch mit Applet auf: https://github.com/Freetz-NG/freetz-ng/blob/master/tools/decoder_for_settings_backup#L60 |
Beta Was this translation helpful? Give feedback.
-
Ich hab die Ausgabe des Keys verdeckt: 4730119 Ein "read" für's Passwort hatte ich eh schon gemacht, da die Ausgabedatei nun auch wieder verschlüsselt wird: 27fc97b
Das könnte schon durch das wieder-verschlüsseln vorkommen, da nur sie settings neu verschlüsselt werden
Das ist in ng für plain als auch verschlüsselte Backups so. Da beide die $$$$ enthalten, und das entschlüsseln am PC vorgesehen ist. Wenn man will kann man aber die identity.md5 einfach aus dem Archiv löschen... Die wird übrigens "mit Zeilenumbrüchen" gebildet, hoffe das ist so okay
Ne, es wird gar nichts compiliert (nettle), sondern nur heruntegeladen, entpackt und verlinkt mit den normalen freetz-tools - wie yourfritz-host https://github.com/Freetz-NG/freetz-ng/blob/master/tools/make/yourfritz-decoder-host/yourfritz-decoder-host.mk
Hier liegen 4 Bins, wobei nur 1 ausführbar ist - bei den anderen 3 fehlt es https://github.com/PeterPawn/decoder/tree/master/bin und 45851ca
Davon hab ich noch nie was gehört, und nichts selbst nachinstalliert. Die Emultion scheint wohl normal mitinstalliert zu sein. Deine Bins heissen "womit gebaut wurde", und in Freetz werden sie als "worauf sie lauffähig sind" benutzt. Aber es gibt ja den Fallback auf die Scripte.
Die Variable wird doch immer gesetzt, ob es $2 gibt oder nicht: https://github.com/Freetz-NG/freetz-ng/blob/master/tools/decoder_for_settings_backup#L11
Das ist aber am einfachsten, weil es die Funktion schon gibt!
Das würde man besser in https://github.com/Freetz-NG/freetz-ng/blob/master/tools/freetz_download einbauen, also für alle Packages die es brauchen, zb als Checksum Alternative |
Beta Was this translation helpful? Give feedback.
-
Lies mal die contents.txt in dem Einstellungsbackup das du gemacht hast
Am Environment änder sich doch nichts. Man könnte sie im "decoded" auch ganz weglassen, sie ist ja nur fürs decodieren (am PC) nötig und es ist ja schon decoded.
Wie gesagt, ich benutze einfach dir vorhandenen freetz-tools. Extra Aufwand find ich hierfür überflüssig. Das Package wird nur erstellt, wenn man das decodier-Script am PC startet. Und wie gesagt geh ich davon aus dass es 1x im Jahr wirklich benutzt wird. So oft wechselt man nicht auf ein Ersatzgerät!
contents.txt im Backup!
Richtig .. es gibt doch nur das Script decoder_for_settings_backup und auf der Box die 3 Dateien in https://github.com/Freetz-NG/freetz-ng/tree/master/make/mod/files/root/usr/mww/cgi-bin/backup/
Klar, ich dachte du bist da aber anderer Meinung übers's dekodieren auf der Box: https://github.com/Freetz-NG/freetz-ng/blob/master/make/decrypt-fritzos-cfg/Config.in#L13
Das ist dann Pech. Man kann ja zur Not einen Raspberry nehmen. Oder einfach alles neueingeben ^^
Das gibt es doch schon seit Jahren/immer
Ist doch, falls man sich dafür entschieden hat
Vorhanden
Das macht das Script am PC (/Raspberry...) Das einzigste was man noch machen könnte ist die Restore-Funktion um "nur AVM" erweitern könnte. Wers unbedingt will kann aber die "freetz" aus der settings.tgz löschen |
Beta Was this translation helpful? Give feedback.
-
Du hättest auch gleich schreiben können dass du dekodieren auf der Box selbst besser findest. Ich dachte die Warnung wäre von dir. Das wäre viel einfacher und man brächte das PC-Script und das host-tool gar nicht mehr
Wenn du es nicht auf der Box ausprobieren willst, lies dir dir 2-3 cgi Dateien durch, so lang sind die doch nicht. Ich hab mir privatekeypassword mal angeschaur. Zuerst, du könntest dessen Repo auf "archived" setzen und dazuschrieben dass es im decoder enthalten ist! |
Beta Was this translation helpful? Give feedback.
-
Wie gesagt,ich dachte die nicht-auf-der-box Warnung wäre von dir
Ja, das ist so ne Sache mit dem irgendwas. Ich hab versucht das auf die neuste Version zu aktualiseren, aber nur noch 1 der ganzen Patches passt... Ich hab eigentlich keine Lust dazu mich in die ganzen Patches hinenzudenken.
Ich hab keine Ahnung wie das geht. Gäbe es überhaupt Vorteile? So wie es war funktioniert doch
Dann müsste man aber das unverschlüsselte Zertifikat zwischenspechern, und openssl|openssl funktioniert nicht.
Sry, keine Video-Tuts ^^
Ähh... eine Variable ist da doch einfacher |
Beta Was this translation helpful? Give feedback.
-
Danke! Hab mit den FDs noch nichts zu tun gehabt, sieht aber einfach aus. Ich hoffe die openssl Version vor/ab 1.1 in Freetz machen bei den Parametern keine Problem. Ich benutze dann aber nicht privatekeypassword sondern das applet, da der decoder für die $$$$ he nötig ist |
Beta Was this translation helpful? Give feedback.
-
Ich habe eine Weile mit mir gerungen, ob ich darauf noch eingehen sollte oder nicht ... bringt mir wieder viel Schreibkram (Dir vieles zu lesen) und letztlich interessiert mich persönlich der "mod" (und Backup/Restore gehört ja dazu) auch nicht wirklich. Aber es ist halt doch so, daß viele ehemalige Freetz-Benutzer nun auf Freetz-NG gewechselt sind und in deren Interesse, will ich noch einmal versuchen, das zu erklären - sowohl, was es für Vorteile bringt, wenn man die bereits vorhandenen Funktionen von AVM nachnutzt, als auch ein paar Anregungen zu geben, WIE man das machen könnte. Denn es gäbe natürlich Vorteile ... und auch beim "funktioniert doch" sind wir offensichtlich geteilter Meinung. Bisher funktionierte es für eine fremde Box gar nicht und ob es für dieselbe klappt(e), hängt auch sehr stark davon ab, wie alt die gesicherten (AVM-)Einstellungen am Ende tatsächlich waren. Einerseits kamen bei AVM ja auch Dateien hinzu (die KÖNNEN also in alten Sicherungen gar nicht enthalten sein - und trotzdem gibt es auch immer mal wieder Abhängigkeiten zwischen Konfigurationsdateien bei AVM, z.B. bei der Zumindest kann man das so unterstellen, denn wenn man sich die Inhalte einer Datei bei den "AVM-Secrets" direkt nach dem Import ansieht (also auch noch vor dem Neustart), stellt man fest, daß darin diese verschlüsselten Daten bereits mit einem neuen IV enthalten sind (und somit die Base32-Zeichenkette auch eine andere ist). Aber das war/ist ja ohnehin zu erwarten ... denn die Export-Datei bei AVM ist ja mittlerweile auch mit einem eigenen Kennwort verschlüsselt - also MÜSSEN die Daten ohnehin beim Import wieder ent- und mit dem passenden Key (aus den Geräte-Eigenschaften gebildet) neu verschlüsselt werden. Der Import bei AVM ist also deutlich mehr (und war es schon immer) als das bloße Kopieren von Dateiinhalten ... und dabei erfolgen dann eben bei AVM auch gleich noch die Anpassungen an neue Strukturen, denn natürlich erfolgt die Speicherung der internen Daten dann immer im gerade aktuellen Format. Und dieses "Zerlegen" der Export-Datei in die einzelnen Bestandteile ermöglichte es AVM dann eben auch, nur den Import einzelner Einstellungen zuzulassen - aber auch das kam tatsächlich erst, nachdem es das Backup in Freetz schon gab. Insofern kann man zwar Freetz keinen "Vorwurf" machen, daß es das nicht genauso unterstützt (für die AVM-Einstellungen - wenn es das tatsächlich auch für die Freetz-Einstellungen könnte (also die "nach Paket" wiederherstellbar wären), wäre das natürlich die "ganz hohe Schule"), aber der AVM-Ex- und -Import hat sich eben auch weiterentwickelt, während das bei Freetz einfach nur bei der ersten Lösung blieb. Und damit bietet die Freetz-Lösung nun mal deutliche Nachteile gegenüber der von AVM - sie kann nur "alles auf einmal" wiederherstellen, funktioniert(e bisher) nicht auf einer anderen FRITZ!Box (auch nicht desselben Modells, wo der AVM-Import auch noch über Modelle hinweg arbeiten kann) und stellt diese Daten "ohne Kenntnis vom Inhalt" einfach nur als Datei wieder her. Daß auch das nicht wirklich zielführend ist, sieht man schon an der Anrufliste (hatte ich oben schon mal als Argument angedeutet) - deren Wiederherstellung macht wohl nur dann irgendeinen Sinn, wenn das vorhandene Backup erst vor sehr, sehr kurzer Zeit erstellt wurde. Das mag zwar auch vorkommen (mancher macht vor dem Update halt ein Backup), aber es ist auch nicht die einzige denkbare Möglichkeit, von wann so ein Backup-File sein könnte - bei vielen wird es deutlich älter sein und dann taugt der Freetz-Weg einfach nicht für das Wiederherstellen der (AVM-)Einstellungen und der Freetz-Benutzer muß ohnehin mit beiden Sicherungsmöglichkeiten arbeiten. Dann bräuchte man das in Freetz aber praktisch auch gar nicht ... wenn die Lösung in Freetz per se schon schlechter ist, als die von AVM, kann man sich das Kopieren der AVM-Dateien komplett sparen. Nur ist es eben auch wieder nicht ganz so einfach (wie so vieles im Leben) ... denn es gibt auch noch ein paar Stellen, wo AVM der Ansicht ist, daß man einiges gar nicht sichern braucht/sollte, weil das Wiederherstellen ohnehin keinen Sinn ergäbe (nach der AVM-Philosophie). Bei manchen kann man das nachvollziehen, bei anderen nicht. So enthält das LE-Zertifikat halt bei AVM den MyFRITZ!-Namen und der soll sich bei einer neuen Box ja ohnehin ändern - aber bei einer Wiederherstellung auf derselben Box gibt es erst mal keinen offensichtlichen Grund, warum man da das Zertifikat nicht auch wiederherstellen sollte, solange es noch gültig ist - wenn es schon abgelaufen ist, kann man es immer noch erneuern. Nebenbei ... ich weiß gerade nicht mehr, wie meine Ergebnisse waren, als ich mal die MyFRITZ!-Anmeldung einer Box auf eine andere verpflanzen wollte - auch das kann Sinn machen (für mich jedenfalls), wenn man dann nach dem Wechsel des Gerätes nicht erst alles auf einen neuen MyFRITZ!-Namen umstellen muß, falls man den tatsächlich irgendwo benutzt. Aber bei den Apps bleibt einem ja gar nichts anderes übrig und die muß man dann auch erst alle wieder - nach einer Wiederherstellung, weil auch die Aber zurück zur AVM-Sicherung - da werden halt nur einige Dateien gesichert, die dann aber so gut (dank der Kenntnis der internen Strukturen), daß es beim Wiederherstellen dieser Einstellungen deutlich mehr Komfort durch eine deutlich größere Flexibilität gibt - und wenn man es wie Freetz macht, anstatt die AVM-Möglichkeiten auch im Freetz-Backup zu nutzen, verbaut man (sich und dem Benutzer) den Weg zur Nutzung dieser Flexibilität. Dabei ist es wirklich simpel, sich eine Sicherungsdatei des FRITZ!OS ausgeben zu lassen (7490 mit Labor 07.24):
Wie man sieht, ist das genau die Export-Datei von AVM, nur noch mit zusätzlichen HTTP-Header-Zeilen am Beginn, weil die normalerweise an den Browser des Benutzers geht und der dann informiert wird, was er damit machen soll und wie die Datei heißen könnte. Mit dieser Datei kann man jetzt alles mögliche anfangen ... erstens kann man den Namen aus Zweitens könnte der Freetz-Benutzer diese Datei (zu einem beliebigen späteren Zeitpunkt) aus der Freetz-Sicherungsdatei extrahieren (das
Die Leerzeichen im Dateinamen machen die (manuelle) Handhabung zwar wieder etwas komplexer, aber innerhalb einer Skript-Datei juckt das ja nicht wirklich und wenn man den exakten Namen nicht kennt ... wen juckt das schon? Man kann schließlich (solange man ein "sauberes Verzeichnis" verwendet) auch einfach mit
Überzählige Zeilen entfernt, Datei umbenannt -> ab mit einer Kopie in die Datei mit der Freetz-Sicherung. Die kann da - exakt so, wie sie ist - gespeichert werden und braucht keine zusätzliche Verschlüsselung, während sie (solange sie die einzige Datei bleibt, auf die Aber mit der Datei kann man dann - neben der Kopie im Freetz-Backup - auch noch viel mehr anfangen ... man kann nämlich auch ermitteln, welche Dateien bei AVM gesichert wurden und die kann man beim Kopieren aus
Welche Dateien/TFFS-Streams (Unterverzeichnisse lassen wir außen vor) haben wir überhaupt in
Diese Liste enthält halt jetzt auch noch die Nodes, die schon bei AVM mit gesichert wurden, die kann man also kürzen (hier mal in einzelnen Zeilen, wie man es in einem Skript ja auch machen würde und nicht alles in einer Shell-Zeile):
Das sind schon mal deutlich weniger Dateien ... und warum sollte man die anderen noch einmal (redundant) sichern? Außerdem erfordern von diesen Dateien eben viele eine "Spezialbehandlung" beim Wiederherstellen ... für die beiden mit den privaten Keys zu den Zertifikaten hatten wir das weiter oben ja schon. Beim Rest weiß ich aus dem Stand jetzt auch nicht immer aus dem Kopf, was drin steht und ob man die einfach so wieder überschreiben kann (oder ob man das überhaupt sollte) ... der große Vorteil dieser (doch eher kurzen) Liste ist es dann eben auch gleich noch, daß man für diese Dateien jeweils eine "Beschreibung" speichern kann (ähnlich wie in diesem Beispiel: https://github.com/PeterPawn/YourFritz/blob/master/tffs/data/tffs.files und die könnte man dann sogar dem Benutzer beim Restore-Versuch mit anzeigen (zusammen mit ein paar Checkboxen) und dann kann er in aller Ruhe selbst entscheiden, welche davon er gerne überschreiben lassen würde und welche nicht. Das muß nämlich auch nicht in jeder Situation gleich sinnvoll sein ... das LE-Zertifikat (und dessen Key) nutzen mir ja tatsächlich nur dann etwas, wenn ich gleichzeitig dafür sorgen will (und kann), daß sich der MyFRITZ!-Name der Box nicht ändert oder geändert hat (das steht dann alles wieder in der Daher wäre es in meinen Augen ohnehin schlauer, wenn man die Auswahl in Freetz, welche der zusätzlichen AVM-Dateien wiederhergestellt werden sollen, gar nicht am Dateinamen festmacht, sondern an der damit verbundenen Einstellung. Wenn es also machbar sein sollte, den MyFRITZ!-Namen aus einer Sicherung auch auf eine andere Box zu transplantieren, dann sollte die Auswahl beim Freetz-Restore nicht die Dateien Die schon erwähnte "ganz hohe Schule" auch beim Sichern/Wiederherstellen der Freetz-Einstellungen ist aber eigentlich auch kein Problem ... schließlich liegen die Einstellungen ja schon nach Paketen sortiert vor und da einmal die Paketnamen (für eine Liste zur Auswahl durch den Benutzer, der sich natürlich auch für "alle zusammen" entscheiden kann) zu extrahieren und dann beim eigentlichen Speichern der Einstellungen auch noch pro Paket ein Was fehlt noch? Vielleicht die Info, daß das Was ich hier beschrieben habe, ist natürlich gleichzeitig auch eine "Maximallösung" ... nur sollte man sich genau überlegen (wenn man davon Abstriche machen will), welche Auswirkungen die dann haben und ob man die zusätzliche Sicherung der AVM-Dateien dann überhaupt braucht oder das Wiederherstellen dafür nicht - spätestens aber beim Wechsel des Gerätes - verweigern sollte. Nur stellt sich dann wieder die Frage, warum man die AVM-Dateien dann überhaupt mitsichern sollte ... wie geschrieben: Die AVM-Firmware hat an dieser Stelle vieles dazugelernt, seitdem das in Freetz mal so implementiert wurde, wie es heute noch ist - da ist der Zug der Geschichte eben auch über dieses Freetz-Feature gefahren und hat manches dem Erdboden gleichgemacht. Als das in Freetz implementiert wurde, gab es (wenn ich mich richtig erinnere) noch nicht mal die Option bei AVM, daß man seine gesicherten Einstellungen auch auf einem anderen Gerät, geschweige denn auf einem anderen Modell, wiederherstellen konnte. Wenn der Benutzer ohnehin einmal eine Sicherung in Freetz machen muß und einmal eine mit dem AVM-GUI (von der automatischen Sicherung in der Mail vor einem Update fange ich jetzt gar nicht erst an), dann macht es nur noch sehr begrenzt Sinn, wenn die Freetz-Sicherung die AVM-Einstellungen mit einschließt. Bei den allermeisten Benutzern dürfte es ohnehin so sein, daß die erst einmal mit einer AVM-Firmware auf einer neuen/anderen Box starten und erst nachträglich ein Freetz-Image installieren - da wird dann auch keiner wirklich auf die Idee kommen, die bereits in der AVM-Firmware vorgenommenen Einstellungen jetzt noch einmal durch die (alten) AVM-Einstellungen aus einem Freetz-Backup überschreiben zu lassen. Mit der Frage, was mit neuen Einstellungen für Freetz-Pakete passiert, die in dem Image, woher die Sicherung stammt, noch gar nicht vorhanden waren, will ich eigentlich auch gar nicht erst anfangen ... aber wenn da bei Restore einfach die komplette Das ist - für mein Empfinden - etwas wenig Komfort im Angesicht dessen, was AVM da mittlerweile "vorgelegt" hat und wenn man das nicht alles selbst machen will (was man vermutlich ohnehin nicht kann), sollte man dem Benutzer halt wenigstens die Option bieten, es auf dem (zweifellos komfortableren und flexibleren) Weg des Herstellers zu machen. Das geht aber nur dann, wenn man es ebenso wie der Hersteller speichert (also die Wofür auch immer man sich am Ende entscheidet ... man sollte sich das VORHER genau überlegen und sich auch über die Konsequenzen jedes Aspektes der eigenen Entscheidung schon VORHER klar sein (oder es werden) - das Implementieren irgendeiner Lösung kann immer erst der nächste Schritt sein, wenn das Ziel bzw. das gewünschte Ergebnis auch tatsächlich bekannt (und allen verständlich, im besten Falle sogar mit anderen ausdiskutiert) ist. Aktionismus der Form "Ich fange einfach mal an." ist zwar denkbar, aber dann muß man auch die (innere) Bereitschaft aufbringen, das alles noch einmal komplett über den Haufen zu werfen, wenn man bemerkt, wo man falsch gelegen hat und darf/sollte sich dann in so einer Situation auch nicht auf die Suche nach faulen Kompromissen (aka "Workarounds") machen, nur weil es schade um die bisher investierte Arbeit wäre. Wenn man so denkt, sollte man eben erst mal einen Plan machen und erst dann Arbeit investieren. So, das reicht jetzt aber auch (wieder mal) ... ich wollte das nur noch einmal ausführlich begründen, warum ich ein "funktionierte doch bisher auch immer" für einen sehr begrenzten Blickwinkel auf das eigentliche Problem halte und zeigen, daß andere Lösungen auch kein Hexenwerk sind/wären. Was Du jetzt daraus machst, bleibt Dir überlassen - ich werde sicherlich Nachfragen auch noch weiterhin beantworten, aber ansonsten widme ich mich dann mal wieder meinen eigenen Projekten, Ideen und Aufgaben ... die sind (teilweise) ja auch dieselben, weil ich natürlich bei Aber wenn man die eigenen Einstellungen in einer Datei packt, die bei AVM gar nicht weiter angefaßt wird (die Das Einzige, was es dazu braucht, ist wieder ein Wrapper um die CGI-Binaries von AVM (bzw. um das Aber damit hat man auch wieder nur eine einzige Sicherungsdatei (und braucht gar kein eigenes GUI für Backup/Restore), die sich natürlich auch wieder leichter "verwalten" (sprich: archivieren) läßt, als wenn man mehrere Dateien für unterschiedliche Einstellungen verwenden müßte. Das wäre halt ein anderer Ansatz ... der aber auch für Freetz offenstünde. Und damit bin ich wieder dabei, daß man sich eben erst einmal "einen Plan" machen sollte - da spielt dann der bisherige Weg in Freetz sicherlich auch eine Rolle, deshalb sollte man sich einen kompletten "Umstieg" auf die AVM-Sicherung auch genau überlegen. Aber solange AVM an der Sicherung nichts dreht und weiter die PS: Ich bin jetzt etwas ermüdet ... sollten oben noch offensichtliche Tippfehler enthalten sein, bleiben die eben einfach mal - auch wenn das sonst nicht meine Art ist. EDIT: Bevor mir jetzt jemand schreibt, daß man die oben als Beispiel gezeigten Kommandos auch anders anlegen könnte ... das war "aus dem Stegreif" und zur Illustration des Geschriebenen. So kann man z.B. das ziemlich umständliche Entfernen der HTTP-Header natürlich auch machen, ohne zuvor erst die Zeile mit |
Beta Was this translation helpful? Give feedback.
-
Ich glaube ich lasse das mit dem dekodieren in Freetz ganz. Man muss ja nichts nachbauen was AVM eh schon kann und dann noch mehr Optionen hat. Und erspart viel Aufwand und Spezialbehandlung von Zertifikaten usw |
Beta Was this translation helpful? Give feedback.
-
Wenn man ein Export ohne Passwort erstellt:
Wie kann man die im AVM Webif restoren? Dekodieren mit einer env-Datei funktioniert |
Beta Was this translation helpful? Give feedback.
-
Gar nicht mehr ... dazu müßte man vermutlich direkt Daß dann eine Kombination aus |
Beta Was this translation helpful? Give feedback.
-
Dann versuch ich mal die maca als Passwort, das sollte dann ja eigentlich funktionieren |
Beta Was this translation helpful? Give feedback.
-
Denke ich eher nicht ... auch wenn die Seriennummer nur Nullen beinhaltete (das waren ja die Ziffern |
Beta Was this translation helpful? Give feedback.
-
Hab es nicht hinbekommen, kenne mich da nicht so gut aus. Macht aber nichts :) Ich schreib einfach dazu dass man ein Passwort verwenden soll. Da ich ein gemeinsames Passwortfeld für verschlüsselung+export verwenden will hoffe ich dass die meisten eins setzen |
Beta Was this translation helpful? Give feedback.
-
Ich tippe da auch tatsächlich eher auf einen "handling failure" bei Dir - sollte es über den direkten Aufruf von |
Beta Was this translation helpful? Give feedback.
-
Davon gehe ich auch aus :) |
Beta Was this translation helpful? Give feedback.
-
Da ich diesen Commit: ec0f126 gerade gesehen habe, will ich das Thema noch einmal generell ansprechen.
Das Backup ermöglicht es ja auch, die anderen "Flash-Dateien" in die Sicherung einzubeziehen (bzw. es läßt einem gar keine Wahl und schließt diese Dateien immer generell mit ein) und dann - auch auf einem anderen Gerät - wiederherstellen zu lassen.
Das KANN bei den AVM-Files aber so gar nicht funktionieren, da diese bekanntlich die schützenswerten Daten (zumindest das, was AVM dahingehend einschätzt) nur in verschlüsselter Form enthalten und diese Verschlüsselung von der (Bootloader-)Konfiguration des einzelnen Gerätes abhängig ist:
Das führt dann dazu, daß die Kollegen, die mit einer solchen Sicherung auf einem anderen Gerät beim Wiederherstellen die Option
Nur Freetz-Einstellungen wiederherstellen
ABWÄHLEN, am Ende definitiv mit einer FRITZ!Box dastehen, die sich nur durch Recovery wieder zum (sinnvollen, also mit Möpsen) Leben erwecken läßt.Dafür (bzw. genauer ja: dagegen) gäbe es natürlich mehrere (Software-)Lösungen ... die einfachste dürfte es zunächst mal sein, daß man - zumindest beim Vorhandensein von
decrypt-fritzos-cfg
mitdecode_secrets
-Funktion (keine Ahnung mehr, ob die da noch einmal umbenannt wird, wenn das originale Projekt in Freetz eingebunden wird) - die restlichen Dateien auf verschlüsselte Daten durchsucht (die identifiziert man ganz einfach an den vier Dollarzeichen) und dann versucht, diese Daten mit den Properties der aktuellen Box zu entschlüsseln. Wenn das nicht funktionieren sollte, stammt das Backup von einem anderen Gerät und es macht gar keinen richtigen Sinn, die anderen Einstellungen auch wiederherstellen zu wollen.Wenn man das dann in diesem Falle für diese zusätzlichen Files einfach bleiben läßt und eine entsprechende Warnung ausgibt, macht man zumindest nichts falsch. Bleibt noch die Frage, was man macht, wenn das Binary zum Dekodieren nicht vorhanden ist - dann wird die Erkennung, daß es sich um ein Backup von einem anderen Gerät handelt, schon deutlich schwieriger.
Eine Option wäre es dann z.B., daß man die relevanten Properties der Source-Box einfach mit in die Sicherungsdatei einpackt - dann kann man (natürlich nur wieder mit dem passenden Programm) diese Einstellungsdateien auch noch nachträglich entschlüsseln. Das müßte/sollte dann natürlich wieder nur so erfolgen, daß diese zusätzlichen Properties OPTIONAL in der Sicherungsdatei vorhanden sein können ... erstens existieren sie in älteren Sicherungen ohnehin nicht (Rückwärtskompatibilität) und zweitens macht man damit die Box ja tatsächlich "nackig", denn die Freetz-Sicherung selbst ist auch überhaupt nicht weiter geschützt und selbst das sollte ohnehin mal in Angriff genommen werden:
(aus: https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03148/TR03148.pdf?__blob=publicationFile&v=1)
Denn auch die Sicherung der Freetz-Einstellungen enthält ja ggf. wichtige Dateien, die man besser wirklich "geheim" halten sollte - das geht bei privaten Schlüsseln (für VPN oder SSH) los und zieht sich bis zu Credentials für irgendwelche anderen Services, die von Freetz-Komponenten benutzt werden.
Schon die Frage, ob es tatsächlich notwendig oder auch nur sinnvoll ist, die anderen Einstellungen ebenfalls in die Sicherung einzubeziehen (auch wenn bei AVM die wichtigsten Daten eben verschlüsselt sind - das würde man mit der zusätzlichen Speicherung der Properties ja auch wieder "aufweichen" und diese zusätzliche Speicherung bräuchte man nur/machte nur Sinn, wenn man die anderen Files einschließt in die Sicherung), sollte noch einmal gründlich durchdacht werden - die AVM-Sicherung weiß damit viel besser umzugehen und selbst wenn man einige der bei AVM nicht automatisch mit gesicherten Dateien einbeziehen will (z.B. die
websrv_ssl_key.pem
und diewebsrv_ssl_cert.pem
bzw. deren LE-Gegenstücke von AVM), so sollte man das auf diese Dateien beschränken und nicht einfach alles in die Freetz-Sicherungsdatei klatschen.Aber selbst wenn man das AVM-Zeug weiterhin alles sichern wollte ... auch dann sollte man unterscheiden, ob die Sicherung von derselben Box stammt (das geht z.B. mit einem Hash über ein paar feste Einstellungen aus dem Urlader-Environment auch dann, wenn man diese einzelnen Einstellungen gar nicht einschließen will in die Sicherungsdatei) und sich für die AVM-Files bei der Wiederherstellung weigern, wenn es sich um eine andere Box handelt.
Wobei das dann das Problem der Sicherung der Freetz-Einstellungen "im Klartext" auch nicht löst - das bliebe bestehen. Je nachdem, wofür man sich jetzt bei den AVM-Einstellungen entscheidet, sollte man dann eben auch zusätzlich das Freetz-Backup noch mit einer Verschlüsselung ausgeben - das macht auch gleich einen viel besseren "Eindruck" (s.o. das Zitat aus der BSI-Richtlinie).
Und so eine Verschlüsselung der gesamten Backup-Datei würde dann auch wieder die Sicherung der AVM-Dateien im dekodierten Zustand ermöglichen (zumindest sollte man das ohne zusätzliche Verschlüsselung des Backups gar nicht erst in Erwägung ziehen) - dann müßte man allerdings
decoder
(bzw.decrypt-fritzos-cfg
) wieder automatisch mit einschließen lassen (das kann man auch auf die notwendigen Applets beschränken) oder diese "Gesamtsicherung" vielleicht auch nur dann überhaupt anbieten, wenn das Binary dafür existiert in der vorliegenden Installation.Wenn es weiterhin "nur" die Freetz-Einstellungen sind, mag es auch ohne Verschlüsselung akzeptabel sein ... wobei ich mir dann auch mal überlegen würde, ob man nicht die schützenswerten Daten (s.o., speziell private Schlüssel) ohnehin in den Freetz-Einstellungen in der Box auch nur in verschlüsselter Form ablegen sollte, wie es AVM mit den eigenen Dateien (SSL-Server bzw. Let's Encrypt) vormacht.
Solche Files werden üblicherweise auch nur einmal geöffnet von irgendwelchen Daemons und diese müssen auch nur für diesen einmaligen Vorgang beim Start das Kennwort zum Entschlüsseln kennen - da brauchen diese "geheimen Daten" nicht die ganze Zeit im Klartext irgendwo herumliegen ... selbst wenn die mit dem richtigen Kennwort auch wieder jeder entschlüsseln könnte. Das ist einfach eine Frage des Security-Designs - und da gehört es zu den Grundtugenden, daß geheime Daten nur dann und so lange zugänglich sind, wie es tatsächlich erforderlich ist.
Allerdings würde das automatische Ver- und Entschlüsseln (zumindest bei den Backups) auch wieder das permanente Einschließen entsprechender Programme (für OpenSSL oder GnuTLS, etc.) erforderlich machen, da die bei AVM ja nicht automatisch in der Firmware enthalten sind. Aber wenn man die dynamisch gegen die entsprechenden Crypto-Libraries linkt, sind die auch von der Größe her durchaus zu verkraften - und ich würde mich da sogar auf OpenSSL festlegen, weil das (a) bei AVM auch im Image ist (was OpenPGP schon mal rausfallen läßt) und (b) man ansonsten die ganze Kryptographie wieder über irgendwelche Wrapper-Skripte machen müßte, wenn man beim Ver- und Entschlüsseln unbedingt "flexibel" bleiben und auch andere CLI-Programme für diese Aufgaben unterstützen will. Das kann man (wenn es wirklich notwendig sein sollte, was ich auch in Zweifel ziehen würde) dann in einem zweiten Schritt ja auch noch nachträglich machen.
Selbst wenn man für das Ermitteln des Kennworts z.B. auf
privatekeypassword
(https://github.com/Freetz-NG/freetz-ng/tree/master/make/privatekeypassword) zurückgreifen könnte und damit den Daemons, die auch mit verschlüsselten Key-Files umgehen können, das Kennwort zum Entschlüsseln bereitstellen könnte (und dieses Programm ist nun wirklich von einer nicht nennenswerten Größe), braucht man zum verschlüsselten Speichern solcher Dateien immer noch ein "richtiges" Krypto-Programm und solange man das nicht selbst schreiben will (was AVM praktisch macht, denn da ist dieses verschlüsselte Speichern in den AVM-Komponenten direkt verbaut - weshalb man ja auch keine passenden Binaries für den "allgemeinen Gebrauch" in der Firmware hat). muß man eben etwas "Fertiges" nehmen und da wäreOpenSSL
(bzw. das dort enthaltene CLI-Programm) zunächst mal meine eigene Präferenz, wenn ich das machen müßte.Aber die letzten Absätze sind schon wieder Ideen, was man machen könnte (und SOLLTE!) ... das "Grundproblem" der Wiederherstellung der AVM-Files aus einer anderen Box sollte man in jedem Falle (irgendwie) lösen, denn es macht wenig Sinn (und das GUI warnt m.W. (bzw. nach meinem Lesen in der
index.cgi
) noch nicht einmal davor), die (AVM-)Einstellungen EINER ANDEREN Box so wiederherzustellen, wie es in derdo_restore.cgi
(https://github.com/Freetz-NG/freetz-ng/blob/master/make/mod/files/root/usr/mww/cgi-bin/backup/do_restore.cgi#L33) zu sehen ist.Egal, wie man es in der Zukunft machen will ... so, wie es derzeit in Freetz(-NG) läuft, ist es bescheiden und (für den unkundigen Benutzer, der von den Fallen nichts weiß) extrem fehlerträchtig. Hier wäre eine einfache "Sperre", die ein Wiederherstellen von Einstellungen, welche die Box definitiv unbenutzbar machen, verhindert, schon ein gewaltiger Fortschritt.
Beta Was this translation helpful? Give feedback.
All reactions