Luks in Freetz - ab Trunk #1975

Mit dem neuen Kernel der 7270 sollte sogar xts und lrw möglich sein, bin nicht sicher ob das schon aktiviert ist. Im alten Kernel wurde die CryptoAPI nachträglich eingebaut ohne diese Module

Hab noch eine Verständnisfrage zu #2122. Es werden cryptomgr und cbc durch cryptsetup selektiert. Wozu werden diese denn benötigt?
PS: In trunk/make/cryptsetup/Config.in steht noch 1.05 im Namen
PPS: Sollte statt Überprufung auf "FREETZ_TYPE_FON_WLAN_7270" nicht ein "BOX_MIT_NEUEREM_KERNEL" definiert werden, um spätere Boxen/Kernelupdates einfacher zu integrieren?
 
Die Module werden gebaut, aber sind im menuconfig nicht auswählbar und kommen deswegen auch nicht ins Image?
Dann schreib ich das mal auf meine TODO-Liste.

MfG Oliver

trifft voll und ganz auf cbc, blkcipher und cryptomgr zu :)

eine andere sache ist noch, dass sich crypto_algapi nicht laden lässt (strace meldet irgenwann, dass ein falsches exec format vorliegt). stöhrt mich persönlich allerdings auch nicht weiter ;)
jetzt fehlt mir nur noch das knfsd-addon und ich bin glücklich ;)


@cuma
für was oder wie genau cryptsetup die benutzt kann ich dir nicht sagen, aber ich kann sagen, dass es ohne diese drei (zusätzlichen) module nicht funktioniert.
 
Zuletzt bearbeitet:
bei mir klappts mit cryptsetup 1.0.5, die neue version 1.0.6 gibt mir ein segfault beim luksOpen (fbox 7270).

nur bei mir so?

ps. gute arbeit, dass es nun auch auf der fb 7270 läuft!
 
@ratz159: Dass es bei der 7170 ohne die Module nicht läuft kann ich nicht bestätigen, bei mir wird der Stick beim booten seit längerem problemlos immer automatisch gemounted wird. Deshalb die Frage nach der Funktion der Module.
Und war es nicht so, dass beim alten 2.6er Kernel nur replace kernel funktioniert da hier CryptoAPI angepasst+erweitert wurde? Im menuconfig kann man crpytsetup jetzt auch so anwählen.
 
Das "depends on replace_kernel" hab ich nicht absichtlich entfernt. Ich denke, dass der Fehler von coolphoenix daher kommt. Also werde ich es besser wieder reinschreiben.

MfG Oliver

edit:
cuma schrieb:
Sollte statt Überprufung auf "FREETZ_TYPE_FON_WLAN_7270" nicht ein "BOX_MIT_NEUEREM_KERNEL" definiert werden, um spätere Boxen/Kernelupdates einfacher zu integrieren?
Da hast du wohl Recht. Ich hab mir aber noch keine Gedanken darüber gemacht wie man sowas am geschicktesten integrieren könnte. Evtl. eine Variable in Config.in, die gesetzt wird, wenn der Kernel 2.6.19.2 ist. Schönerweise ist der 7270-Source auch Version 04.49 was das Namensschema schon gestört hat...
 
Zuletzt bearbeitet:
Ich hab mit diesen Dingen noch nicht so wirklich was zu tun gehabt. Hatte da an HAS_WLAN, FREETZ_HAS _PHONE usw gedacht. Man könnte doch analog dazu FREETZ_HAS_KERNEL_26131 einführen (Sorry wenn dies hier bisschen OT ist :roll:)
 
@ratz159: Dass es bei der 7170 ohne die Module nicht läuft kann ich nicht bestätigen, bei mir wird der Stick beim booten seit längerem problemlos immer automatisch gemounted wird. Deshalb die Frage nach der Funktion der Module.
Und war es nicht so, dass beim alten 2.6er Kernel nur replace kernel funktioniert da hier CryptoAPI angepasst+erweitert wurde? Im menuconfig kann man crpytsetup jetzt auch so anwählen.

Ich hab das Gefühl, als würden wir gerne mal aneinander vorbei reden cuma ;) Ich muss allerdings zugeben, dass ich mich auch nicht deutlich genug ausgedrückt hatte. Meine Aussage, dass die drei Module benötigt werden bezog sich auf die 7270. Bei der 7170 sind die nicht notwendig. Ich hab da auch sowas im Hinterkopf, dass die cryptoapi entsprechend angepasst wurde und auch aus diesem Grund für die 7170 ein replace kernel notwendig ist.
Gebraucht werden die Module, aus verschiedenen Gründen. cbc ist zum Beispiel ein block cipher (blkcipher) verschlüsselungs Verfahren. Über die Funktion von cryptomgr kann ich nur spekulieren, aber es wird wohl ne Art Manager sein ;)
So wie ich es auf Wikipedia verstanden hab ist die Kombination aes-cbc-essiv die ich mit luks verwendet hab schon ausreichend sicher. lrw und xts verschwenden (bei ungünstigen Daten) weniger Platz auf der Platte, lrw sollte aber nicht für swap verwendet werden. Ich hab gelesen, dass lrw erst ab 2.6.20 und xts erst ab 2.6.24 implementiert ist, inwiefern es da irgendwelche backports oder patches gibt kann ich nicht sagen.
So jetzt aber genug der Klugsch...erei ;)
Ein dickes LOB an die Entwickler von freetz! Es hat mich schon ein paar mal fast umgehauen, wie schnell und kompetent die Leute hier sind!
 
Für die 7270 war es schon richtig das depends on kernel_replace zu entfernen. cryptsetup 1.0.5 läuft tadellos (mit den entsprechenden modulen und dem orginalen avm-kernel). cryptsetup 1.0.6 segfaultet auf der 7270 :( wie sieht es da mit der 7170 aus?
 
Ich hab auf meine 7170 mit replaced kernel die 1.06 Binary kopiert (die neuen zusätzlichem Module sind also nicht geladen) und bekomme auch segfault
 
Ich hab auf meine 7170 mit replaced kernel die 1.06 Binary kopiert (die neuen zusätzlichem Module sind also nicht geladen) und bekomme auch segfault

also scheint da irgendwas mit der version 1.0.6 nicht kompatibel zu den fboxen zu sein bzw. vllt muss es irgendwie anders kompiliert werden.

replace_kernel dependency kann also wieder raus, und zur zeit sollte freetz einfach version 1.0.5 nutzen.
 
Die segfaults mit cryptsetup 1.06 sind auch hier reproduzierbar (7170 mit neu ausgechecktem und manuell konfiguriertem SVN / replaced kernel).

Gruß, alpha1974
 
Ich hab eine Mail an LUKS Mailingliste geschrieben. Mal sehen was sich tut...
Seltsamerweise ist die Seite heute wieder online. Ich hatte die Download-URL eigentlich geändert, weil die Seite nicht erreichbar war.

MfG Oliver
 
Ist das Cryptsetup nur fuer die 7270 oder läuft es auch auf einem W900V ?

ich hab mit der neuesten freetz-trunk die sache noch nicht hinbekommen, falls es aber generell nicht geht müsste ich es halt verschieben ? - da die Antwort prinzipiell ja lautet: hier meine config

Edit:
geloest:

modprobe aes, dm_mod, dm_crypt
cryptsetup create bla /dev/sda2 --hash=plain, mkfs /dev/mapper/bla, mount /dev/mapper/bla /var/media......

mount
/dev/mapper/bla on /var/media/ftp/uStor02 type ext2 (rw)


Wiederum Danke fuer die Hinweise
 
Zuletzt bearbeitet:
Grundsätzlich sollt das funktionieren.

MfG Oliver
 
Grundsätzlich sollt das funktionieren.

MfG Oliver

Danke sehr, funktioniert prinzipiell. 2 Anmerkungen Notwendig:

Cryptsetup muss in den Kerneloptionen "loop.ko" mit aktivieren sonst kann man keine Dateien in denen sich das Crypto-Filesystem befindet als Device benutzen.

Danach kann man mit "modprobe loop, modprobe dm_mod, modprobe dm_crypt, modprobe aes" erst ein loop device erstellen und dieses dann als crypto Dateisystem benutzen. Meine Datei befindet sich auf einer angesteckten Platte und heisst Filecontainer. Ohne aktiviertes loop kann man nur eine verschluesselte Partition einer Platte benutzen. Das Dateisystem muss bereits innerhalb der Verschluesselten Datei erzeugt wurden sein.

Code:
losetup /dev/loop0 Filecontainer
cryptsetup create verschluesselt /dev/loop0 --hash=plain
mount /dev/mapper/verschluesselt /mountpunkt


Anmerkung2: Eine Erzeugung eines Dateisystems funktioniert im Moment nicht ( At revision 2199 ), auch wenn e2fsprogs und loop.ko mit in das Image compiliert wurden. Der Befehlt mk2efs ist falsch gelinkt (busybox Problem?) und die befehle mke2fs, mkfs.ext2 und mkfs.ext3 kommen mit einer Fehlermeldung der Busybox "applet not found" zurueck. Ein Aufruf des mke2fs aus dem e2fstools zweig wird zwar ausgeführt, stürzt aber ab.

Code:
# ls -lisa `find / -name mke2fs`
lrwxrwxrwx    1 root root   /sbin/mke2fs -> /bin/busybox
-rwxr-xr-x    1 root root   /usr/sbin/mke2fs
# ls -lisa `find / -name mkfs.ext2`
lrwxrwxrwx    1 root root /sbin/mkfs.ext2 -> /bin/busybox
# ls -lisa `find / -name mkfs.ext3`
lrwxrwxrwx    1 root root /sbin/mkfs.ext3 -> /bin/busybox

# /usr/sbin/mke2fs /dev/loop0
mke2fs 1.40.8 (13-Mar-2008)
Illegal instruction
#

Ein "cryptsetup luksFormat Device" sollte zwar funktionieren, stuerzt aber mit der gleichen Meldung auf meiner Host Maschine ab, ist also wahrscheinlich ein Fehler der cryptsetup Implementation. Aus diesem Grund habe ich fuer die Erstellung der verschluesselten Datei und des inneliegenden Dateisystems nicht die luksFormat sondern die "cryptsetup create ... " Version gewählt.

Fazit im Moment: Für Benutzer eines linux-Systems uneingeschaenkt benutzbar weil die Erstellung des Containers und die Erzeugung des des inneliegenden Systems ja schon auf der Linux Maschine erfolgen kann und die Platte dann nur noch an die BOX gehaengt wird. Die Links zu den E2fsprogs sind fehlerhaft gelinkt und müssten in den Patches der Makefiles angepasst werden.
 
Hi.
So ganz verstanden hab ich das jetzt nicht.
Was muss gegeben sein, dass cryptsetup läuft?
Wofür benötigt man e2fsprogs?

MfG Oliver
 
Hi.
So ganz verstanden hab ich das jetzt nicht.
Was muss gegeben sein, dass cryptsetup läuft?

In den Kernelmodulen "loop.ko"

Cryptsetup funktioniert ohne die Luks Funktionen, verlangt aber ein Device fuer die Funktion. Wenn jemand eine komplette Festplatte/Partition mit Cryptsetup ohne Luks verschluesselt hat, kann er diese sofort mit der Grundeinstellung benutzen. Will man aber einen Container benutzen ( ähnlich einer SWAP Datei anstatt einer SWAP-Partition, dann funktioniert cryptsetup nicht. Dafuer muss man mit losetup ein device loop erzeugen welches man dann mit cryptsetup ansprechen kann. Deswegen sollte nach meiner Meinung beim Aktivieren von Cryptsetup bei den Kernelmodulen "loop.ko" mit aktiviert werden.

Wofür benötigt man e2fsprogs?

Die e2fsprogs brauch ich dann, wenn ich die verschluesselten Daten ohne einen PC direkt an der Box testen moechte, die verschluesselte Datei/Partition neu anlegen, Fehler im Dateisystem korrigieren moechte etc ohne die Platte von der Box zu trennen.

Ohne die e2fsprogs ist in der Busybox mkfs.ext2 mkfs.ext3 als Befehl vorhanden, ist aber fehlerhaft und funktioniert nicht ( applet not found ).

Wenn ich also mit "dd" eine Datei erzeuge, diese mit "losetup" und "cryptsetup" fuer die Verschluesslung vorbereitet habe kann ich diese dann wegen fehlender Moeglichkeit der Erzeugung eines Dateisystems nicht benutzen.

Leider funktionieren die e2fsprogs ebenfalls nicht. Man hat also nur die Moeglichkeit die verschluesselten Partitionen/Dateicontainer ausserhalb mit einem laufenden Unix-System zu erzeugen. Diese koennen dann wie oben beschrieben eingebunden und benutzt werden.

Ich habe bei Optionen "autorun.sh" enabled, so das beim Booten die autorun.sh auf der angesteckten Platte ausgefuehrt wird. Hier der Inhalt der autorun.sh
Code:
modprobe loop
modprobe aes
modprobe dm_mod
modprobe dm_crypt
losetup /dev/loop0 /var/media/ftp/uStor00/test/Container
cryptsetup create crypto /dev/loop0 --hash=plain<< EOF
W900V
EOF
mount /dev/mapper/crypto /var/media/ftp/uStor00/Daten

Um das Passwort fuer den Container nicht mit in der Datei abzulegen gäbe es die Möglichkeit dieses im Flash abzulegen oder per Download beim Booten der Box irgendwo abzuholen o.ä.
 
Ich denke, in dem Fall sollte loop.ko optional im Menuconfig auswählbar sein (wenn das nicht sowieso schon vorhanden ist).
 
Die e2fsprogs brauch ich dann, wenn ich die verschluesselten Daten ohne einen PC direkt an der Box testen moechte, die verschluesselte Datei/Partition neu anlegen, Fehler im Dateisystem korrigieren moechte etc ohne die Platte von der Box zu trennen.

Ohne die e2fsprogs ist in der Busybox mkfs.ext2 mkfs.ext3 als Befehl vorhanden, ist aber fehlerhaft und funktioniert nicht ( applet not found ).
Von welcher Firmware redest du? In Freetz wird keiner dieser Symlinks auf die busybox erstellt.

Die e2fsprogs von Freetz funtionieren aber auch nicht?

MfG Oliver
 

Statistik des Forums

Themen
244,878
Beiträge
2,220,031
Mitglieder
371,603
Neuestes Mitglied
broekar
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.