Wie kann ein Verzeichnis am besten über die Befehlszeile oder das Skript verschlüsselt und entschlüsselt werden?

8

Ich habe ein Verzeichnis mit Textdateien unter Basarversionskontrolle und behalte auf jedem meiner Computer eine Kopie (eigentlich einen Zweig). Ich möchte das Verzeichnis über die Befehlszeile verschlüsseln und entschlüsseln.

Im Idealfall kann beim Abmelden auch ein Skript ausgeführt werden, um zu überprüfen, ob das Verzeichnis verschlüsselt ist, und wenn nicht, alles ohne Benutzereingriff. Ich möchte jedoch nicht, dass das Verzeichnis beim Anmelden entschlüsselt wird. (Ich möchte das Skript als Schutz vor dem Vergessen der manuellen Verschlüsselung. Dies ist besonders wichtig für das Netbook.)

Ich ubuntu 10.04.1laufe und zwei Versionen von Crunchbang Linux, eine davon ist eine Ableitung ubuntu 9.04von einem der Schnappschüsse der Debian Squeeze-Repos von Ende Juni.

Was ist der beste Weg, dies zu tun?

(Ich habe versucht, mit encryptionund zu taggen directories, aber es fehlt mir der Mitarbeiter, um ein Tag zu erstellen.)

vanden
quelle

Antworten:

5

Haben Sie administrativen Zugriff auf die Maschinen? Man könnte ein verschlüsseltes Loopback-Gerät verwenden. Beispiel:

Erstellen Sie eine Containerdatei für das verschlüsselte fs:

dd if=/dev/urandom of=container bs=1024k count=100 

Container-Datei an Loopback-Gerät 0 binden:

losetup container /dev/loop0

verschlüsseltes Gerät erstellen (-y fragt zweimal nach der Passphrase; Zeile geteilt durch \):

cryptsetup -c serpent-xts-essiv:sha256 -b 512 \
   -y create container /dev/loop0 

Erstellen Sie ein ext2-Dateisystem auf einem verschlüsselten Gerät (kann wirklich alles verwenden):

mkfs.ext2 /dev/mapper/container

Mounten des verschlüsselten Dateisystems im Krypta-Verzeichnis:

mount /dev/mapper/container crypt

Als Referenz:

man cryptsetup && man losetup

Informieren Sie sich auch über bewährte Methoden für die Kryptografie, Informationen zur Auswahl der zu verwendenden Verschlüsselungs- und Schlüssellängen usw.

dsp
quelle
4

Es sieht so aus, als ob Sie keine Möglichkeit zum Ver- und Entschlüsseln von Verzeichnissen suchen, sondern eine Möglichkeit, transparent mit verschlüsseltem Speicher zu arbeiten. Beachten Sie, dass das von Ihnen vorgeschlagene Schema mit der tatsächlichen Massenentschlüsselung und -verschlüsselung nicht sehr sicher ist: Wenn Sie sich nicht normal abmelden (Stromausfall, Systemabsturz, gestohlener Laptop ...), bleiben die Dinge unverschlüsselt. und es hinterlässt Spuren Ihrer vertraulichen Daten, die ein entschlossener Angreifer finden könnte (die Daten aus gelöschten Dateien befinden sich immer noch auf der Festplatte und sind nur schwer zu finden).

Aktuelle Linux-Systeme bieten verschiedene Möglichkeiten, um eine transparente Verschlüsselung zu erreichen. Sie können ein ganzes Volume mit dm-crypt oder einer seiner Alternativen verschlüsseln . Zum Verschlüsseln eines bestimmten Verzeichnisbaums stehen verschiedene Tools zur Verfügung, darunter ecryptfs (das auf Kernelebene funktioniert) und encfs (das nur im Benutzerland über die Sicherung funktioniert). (Die drei, die ich erwähne, sind in Debian Lenny erhältlich und sollten von allen Ihren Distributionen angeboten werden.)

Sie können die verschlüsselten Verzeichnisse so einrichten, dass sie libpam-mountbereitgestellt werden, wenn Sie sich entweder über PAM ( Paket; empfohlene Option für ecryptfs) oder über Ihre Profilskripte (empfohlene Option für encfs) anmelden. Beachten Sie, dass es kein Problem gibt, das manuelle Verschlüsseln zu vergessen, da nie etwas unverschlüsselt auf die Festplatte geschrieben wird.

Für den besten Schutz sollten Sie nicht nur Ihre vertraulichen Dateien verschlüsseln, sondern auch andere Orte, an denen vertrauliche Daten von Programmen gespeichert werden können. Zumindest sollten Sie Ihre Swap-Partition verschlüsseln. Andere Orte, die Sie beobachten sollten, sind /tmp(am besten durch Erstellen tmpfs) /var/spool/cupsvertrauliche Dokumente und Dateien pro Anwendung in Ihrem Home-Verzeichnis, z ~/.mozilla. B. Web-Caches / Historien (z . B. ).

Gilles 'SO - hör auf böse zu sein'
quelle
3

Wie wäre es mit gpgdir ? Dies sollte für die An- und Abmeldung skriptfähig sein. Sie können auch Unterverzeichnisse auswählen, die verschlüsselt werden sollen (Sie möchten möglicherweise, dass die Datei beispielsweise .bash_rcentschlüsselt bleibt).

Eine andere Alternative kann Truecrypt sein . Sie können einen Container für Ihre Daten erstellen und diese über Shell-Skripte verschlüsseln / entschlüsseln.

Kleie der Selige
quelle
2

Sie können auch ecryptfs verwenden, das unter Ubuntu und seinen abgeleiteten Distributionen Standard ist. Dies wird verwendet, wenn Sie beim Installationsvorgang gefragt werden, ob Sie Ihr Home-Verzeichnis verschlüsseln möchten (http://www.linuxjournal.com/article/9400). Der Vorteil von ecryptfs ist, dass Sie keine separate Partition oder eine Loopback-Datei benötigen, um sie zu verwenden.

Luc Stepniewski
quelle