AES-verschlüsselte Datei unter Linux anlegen
Sicherheit geht vor - Um Dateien vor neugierigen Blicken zu schützen, lassen sich diese sehr einfach in einen AES-verschlüsselten Datei-Container sicher ablegen
Kleine Anmerkung vorab:
Diese Anleitung beschränkt sich rein auf die Anlage und das Benutzen einer verschlüsselten Datei. Da hier Systembefehle (modrobe, losetup, ...) eingesetzt werden, die nur von root ausgeführt werden können, müssten für das Ausführen dieser Befehle als Normaluser weitere Vorkehrungen (suid-Bit, visudo o.ä.) getroffen werden, die den Sinn des Tutorials aber übersteigen würden und hier deswegen nicht berücksichtigt werden. Sollte jedoch Interesse auch daran bestehen, kann ich ja später noch entsprechende Ergänzungen vornehmen.
Zuerst legen wir einen leeren Container an, in den später die streng vertraulichen Daten gespeichert werden sollen (als Beispiel dient die Datei "tresor.img", 100MB groß - count in KiloBytes):
Damit die Verschlüsselung funktioniert müssen die Module "cryptoloop" und "aes" geladen sein:
(Um die Module immer - also auch nach einem Neustart - zur Verfügung zu haben, müssen diese in der Datei /etc/modules eingetragen werden.)
Jetzt verbinden wir die Datei tresor.img als Loop-Device. Das Loopdevice ist für die Online-Verschlüsselung zuständig. Außerdem ermöglicht ein Loopdevice, eine Datei wie ein Device anzusprechen, also in unserem Fall, mountbar zu machen. Das muss nicht nur bei der ersten Anlage der Datei, sondern auch vor jedem späteren Zugriff darauf erfolgen:
Da das Loopdevice (das im übrigen auch unter /dev/loop/0 liegen könnte) verschlüsselt werden soll (-e aes) fragt losetup jetzt nach dem Passwort, mit dem tresor.img kodiert werden soll. Wichtig: Dies Passwort sollte man tunlichst nicht vergessen, da man ansonsten später nie mehr (und das heisst auch nie mehr) an seine Daten im Tresor gelangt *g*.
Um Dateien in tresor.img abspeichern zu können, muss darauf ein Filesytem existieren. Ich nehme hier im Beispiel einfach ext3 - das bietet sich unter Linux ja auch an:
Dieser Befehl darf natürlich nur bei der Neuanlage des Containers ausgeführt werden, da sonst das gleiche wie für Passwortvergesser gilt ;). Ok, hier hätte man nachträglich wenigstens die Chance, wieder an die Daten zu kommen...
Jetzt gilt für den Container, wie für jeden anderen "Datenträger" auch:
Alle Dateien, die nun nach /media/tresor kopiert oder wahrscheinlicher verschoben werden, sind nun automatisch verschlüsselt.
Möchte man den Tresor wieder schließen, reicht ein einfacher Unmount, sowie das Lösen von tresor.img vom Loop-Device:
Bei späterer Benutzung reicht es dann, die Datei mit "losetup -e aes ..." wieder an ein Loopdevice zu binden, das Passwort einzugeben und danach zu mounten.
Kleine Anmerkung vorab:
Diese Anleitung beschränkt sich rein auf die Anlage und das Benutzen einer verschlüsselten Datei. Da hier Systembefehle (modrobe, losetup, ...) eingesetzt werden, die nur von root ausgeführt werden können, müssten für das Ausführen dieser Befehle als Normaluser weitere Vorkehrungen (suid-Bit, visudo o.ä.) getroffen werden, die den Sinn des Tutorials aber übersteigen würden und hier deswegen nicht berücksichtigt werden. Sollte jedoch Interesse auch daran bestehen, kann ich ja später noch entsprechende Ergänzungen vornehmen.
Zuerst legen wir einen leeren Container an, in den später die streng vertraulichen Daten gespeichert werden sollen (als Beispiel dient die Datei "tresor.img", 100MB groß - count in KiloBytes):
# dd if=/dev/zero of=tresor.img bs=1024 count=102400
Damit die Verschlüsselung funktioniert müssen die Module "cryptoloop" und "aes" geladen sein:
# modprobe cryptoloop aes
Jetzt verbinden wir die Datei tresor.img als Loop-Device. Das Loopdevice ist für die Online-Verschlüsselung zuständig. Außerdem ermöglicht ein Loopdevice, eine Datei wie ein Device anzusprechen, also in unserem Fall, mountbar zu machen. Das muss nicht nur bei der ersten Anlage der Datei, sondern auch vor jedem späteren Zugriff darauf erfolgen:
# losetup -e aes /dev/loop0 tresor.img
Da das Loopdevice (das im übrigen auch unter /dev/loop/0 liegen könnte) verschlüsselt werden soll (-e aes) fragt losetup jetzt nach dem Passwort, mit dem tresor.img kodiert werden soll. Wichtig: Dies Passwort sollte man tunlichst nicht vergessen, da man ansonsten später nie mehr (und das heisst auch nie mehr) an seine Daten im Tresor gelangt *g*.
Um Dateien in tresor.img abspeichern zu können, muss darauf ein Filesytem existieren. Ich nehme hier im Beispiel einfach ext3 - das bietet sich unter Linux ja auch an:
# mkfs.ext3 /dev/loop0
Dieser Befehl darf natürlich nur bei der Neuanlage des Containers ausgeführt werden, da sonst das gleiche wie für Passwortvergesser gilt ;). Ok, hier hätte man nachträglich wenigstens die Chance, wieder an die Daten zu kommen...
Jetzt gilt für den Container, wie für jeden anderen "Datenträger" auch:
# mkdir /media/tresor <i>(falls dies Verzeichnis noch nicht existiert)</i>
# mount /dev/loop0 /media/tresor
Alle Dateien, die nun nach /media/tresor kopiert oder wahrscheinlicher verschoben werden, sind nun automatisch verschlüsselt.
Möchte man den Tresor wieder schließen, reicht ein einfacher Unmount, sowie das Lösen von tresor.img vom Loop-Device:
# umount /media/tresor
# losetup -d /dev/loop0
Bei späterer Benutzung reicht es dann, die Datei mit "losetup -e aes ..." wieder an ein Loopdevice zu binden, das Passwort einzugeben und danach zu mounten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 27980
Url: https://administrator.de/contentid/27980
Ausgedruckt am: 24.11.2024 um 16:11 Uhr