GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verschlüsseln Sie Dateien mit gocryptfs unter Linux

Gocryptfs ist ein Filesystem in Userspace (FUSE)-gemountetes Verschlüsselungsprogramm auf Dateiebene. FUSE-gemountet bedeutet, dass die verschlüsselten Dateien in einem einzigen Verzeichnisbaum gespeichert werden, der wie ein USB-Stick über die FUSE-Schnittstelle gemountet wird. Dadurch kann jeder Benutzer das Mounten durchführen – Sie müssen nicht root sein. Da gocryptfs auf Dateiebene verschlüsselt, können Synchronisierungsvorgänge, die Ihre Dateien kopieren, für jede Datei effizient funktionieren. Dies steht im Gegensatz zur Verschlüsselung auf Festplattenebene, bei der die gesamte Festplatte als einzelnes, großes binäres Blob verschlüsselt wird.

Wenn Sie gocryptfs im normalen Modus verwenden, werden Ihre Dateien in einem verschlüsselten Format auf Ihrer Festplatte gespeichert. Wenn Sie jedoch die verschlüsselten Dateien bereitstellen, erhalten Sie unverschlüsselten Zugriff auf Ihre Dateien, genau wie auf jede andere Datei auf Ihrem Computer. Das bedeutet, dass alle Ihre regulären Tools und Programme Ihre unverschlüsselten Dateien verwenden können. Änderungen, neue Dateien und Löschungen werden in Echtzeit in der verschlüsselten Version der auf Ihrer Festplatte gespeicherten Dateien widergespiegelt.

gocryptfs installieren

Die Installation von gocryptfs ist für Fedora einfach, da es für Fedora 30 und Rawhide paketiert ist. Daher sudo dnf install gocryptfs führt alle erforderlichen Installationsarbeiten durch. Wenn Sie Fedora nicht verwenden, finden Sie Details zur Installation von den Quellen, auf Debian oder über Homebrew im Quickstart.

Initialisieren Sie Ihr verschlüsseltes Dateisystem

Das Linux-Terminal

  • Die 7 besten Terminalemulatoren für Linux
  • 10 Befehlszeilentools für die Datenanalyse unter Linux
  • Jetzt herunterladen:SSH-Spickzettel
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Linux-Befehlszeilen-Tutorials

Zunächst müssen Sie entscheiden, wo Sie Ihre verschlüsselten Dateien speichern möchten. Dieses Beispiel behält die Dateien in ~/.sekrit_files damit sie bei einem normalen ls nicht auftauchen .

Beginnen Sie mit der Initialisierung des Dateisystems. Dazu müssen Sie ein Passwort wählen. Es wird Ihnen dringend empfohlen, ein eindeutiges Passwort zu verwenden, das Sie noch nie woanders verwendet haben, da dies Ihr Schlüssel zum Entsperren Ihrer Dateien ist. Die Autoren des Projekts empfehlen ein Passwort mit 64 bis 128 Bit Entropie. Unter der Annahme, dass Sie Groß- und Kleinbuchstaben sowie Zahlen verwenden, sollte Ihr Passwort zwischen 11 und 22 Zeichen lang sein. Wenn Sie einen Passwort-Manager verwenden, sollte dies mit einem generierten Passwort einfach zu bewerkstelligen sein.

Wenn Sie das Dateisystem initialisieren, sehen Sie einen eindeutigen Schlüssel. Bewahren Sie diesen Schlüssel an einem sicheren Ort auf, da er Ihnen den Zugriff auf Ihre Dateien ermöglicht, wenn Sie Ihre Dateien wiederherstellen müssen, aber Ihr Passwort vergessen haben. Der Schlüssel funktioniert ohne Ihr Passwort, also halten Sie ihn geheim!

Die Initialisierungsroutine sieht folgendermaßen aus:

$ mkdir ~/.sekrit_files
$ gocryptfs -init ~/.sekrit_files
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs filesystem has been created successfully.
You can now mount it using: gocryptfs .sekrit_files MOUNTPOINT

Wenn Sie in die ~/.sekrit_files schauen Verzeichnis sehen Sie zwei Dateien:eine Konfigurationsdatei und einen eindeutigen Initialisierungsvektor auf Verzeichnisebene. Sie müssen diese beiden Dateien nicht von Hand bearbeiten. Stellen Sie sicher, dass Sie diese Dateien nicht löschen.

Verwenden Sie Ihr verschlüsseltes Dateisystem

Um Ihr verschlüsseltes Dateisystem zu verwenden, müssen Sie es einhängen. Dies erfordert ein leeres Verzeichnis, in das Sie das Dateisystem einhängen können. Verwenden Sie beispielsweise ~/my_files Verzeichnis. Wie Sie anhand der Initialisierung sehen können, ist das Mounten einfach:

$ gocryptfs ~/.sekrit_files ~/my_files
Password:
Decrypting master key
Filesystem mounted and ready.

Wenn Sie sich die Datei ~/my_files ansehen Verzeichnis, Sie werden sehen, dass es leer ist. Die Konfigurations- und Initialisierungsvektordateien sind keine Daten und werden daher nicht angezeigt. Lassen Sie uns einige Daten in das Dateisystem schreiben und sehen, was passiert:

$ cp /usr/share/dict/words ~/my_files/
$ ls -la ~/my_files/ ~/.sekrit_files/
~/my_files/:
.rw-r--r-- 5.0M bexelbie 19 Jul 17:48 words

~/.sekrit_files/:
.r--------@  402 bexelbie 19 Jul 17:39 gocryptfs.conf
.r--------@   16 bexelbie 19 Jul 17:39 gocryptfs.diriv
.rw-r--r--@ 5.0M bexelbie 19 Jul 17:48 xAQrtlyYSFeCN5w7O3-9zg

Beachten Sie, dass es eine neue Datei in den ~/.sekrit_files gibt Verzeichnis. Dies ist die verschlüsselte Kopie des Wörterbuchs, das Sie hineinkopiert haben (der Dateiname variiert). Fühlen Sie sich frei, cat zu verwenden und andere Tools, um diese Dateien zu untersuchen und mit dem Hinzufügen, Löschen und Ändern von Dateien zu experimentieren. Testen Sie es unbedingt mit einigen Anwendungen, z. B. LibreOffice.

Denken Sie daran, dass dies ein Dateisystem-Mount ist, also der Inhalt von ~/my_files werden nicht auf der Festplatte gespeichert. Sie können dies überprüfen, indem Sie mount | ausführen grep my_files und Beobachten der Ausgabe. Nur die verschlüsselten Dateien werden auf Ihre Festplatte geschrieben. Die FUSE-Schnittstelle ver- und entschlüsselt die Dateien in Echtzeit und präsentiert sie Ihren Anwendungen und Ihrer Shell als Dateisystem.

Unmounten Sie das Dateisystem

Wenn Sie mit Ihren Dateien fertig sind, können Sie sie aushängen. Dadurch steht das unverschlüsselte Dateisystem nicht mehr zur Verfügung. Die verschlüsselten Dateien in ~/.sekrit_files sind nicht betroffen. Unmounten Sie das Dateisystem mit dem FUSE Mounter-Programm mit fusermount -u ~/my_files .

Sichern Sie Ihre Daten

Einer der coolen Vorteile von gocryptfs mit Verschlüsselung auf Dateiebene ist, dass es das Sichern Ihrer verschlüsselten Daten vereinfacht. Die Dateien können sicher auf einem Synchronisierungssystem wie OwnCloud oder Dropbox gespeichert werden. Es gilt der Standard-Haftungsausschluss, dieselbe Datei nicht gleichzeitig zu ändern. Die Dateien können jedoch gesichert werden, auch wenn sie bereitgestellt sind. Sie können Ihre Daten auch auf andere Weise speichern, als Sie normalerweise Dateien sichern würden. Sie brauchen nichts Besonderes.

Wenn Sie Backups erstellen, achten Sie darauf, gocryptfs.diriv einzuschließen Datei. Diese Datei ist kein Geheimnis und kann mit dem Backup gespeichert werden. Allerdings Ihre gocryptfs.conf ist ein Geheimnis. Wenn Sie die gesamte Sicherungskette kontrollieren, beispielsweise mit Band, können Sie sie mit den restlichen Dateien sichern. Wenn die Dateien jedoch in der Cloud oder öffentlich gesichert werden, möchten Sie diese Datei möglicherweise weglassen. Wenn jemand diese Datei erhält, schützt theoretisch nur die Stärke Ihres Passworts Ihre Dateien. Wenn Sie ein starkes Passwort gewählt haben, kann das ausreichen; Sie müssen Ihre Situation jedoch sorgfältig prüfen. Weitere Einzelheiten finden Sie in dieser gocryptfs-Upstream-Ausgabe.

Bonus:Umkehrmodus

Ein nettes Feature von gocryptfs ist die Reverse-Mode-Funktion. Zeigen Sie im umgekehrten Modus mit gocryptfs auf Ihre unverschlüsselten Daten, und es wird ein Bereitstellungspunkt mit einer verschlüsselten Ansicht dieser Daten erstellt. Dies ist beispielsweise nützlich, um verschlüsselte Backups zu erstellen. Das geht ganz einfach:

$ gocryptfs -reverse -init my_files
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs-reverse filesystem has been created successfully.
You can now mount it using: gocryptfs -reverse my_files MOUNTPOINT

$ gocryptfs -reverse my_files sekrit_files
Password:
Decrypting master key
Filesystem mounted and ready.

Jetzt sekrit_files enthält eine verschlüsselte Ansicht Ihrer unverschlüsselten Daten aus my_files . Dies kann je nach Bedarf gesichert, geteilt oder gehandhabt werden. Das Verzeichnis ist schreibgeschützt, da Sie mit diesen Dateien nichts Nützliches tun können, außer sie zu sichern.

Eine neue Datei, .gocryptfs.reverse.conf , wurde zu my_files hinzugefügt um eine stabile verschlüsselte Ansicht bereitzustellen. Diese Konfigurationsdatei stellt sicher, dass jeder umgekehrte Mount denselben Verschlüsselungsschlüssel verwendet. So könnten Sie zB nur geänderte Dateien sichern.

Gocryptfs ist ein flexibles Dateiverschlüsselungstool, mit dem Sie Ihre Daten verschlüsselt speichern können, ohne Ihren Arbeitsablauf oder Ihre Prozesse wesentlich zu ändern. Das Design wurde einem Sicherheitsaudit unterzogen, und die Entwickler haben Erfahrung mit anderen Systemen wie encfs . Ich ermutige Sie, noch heute gocryptfs zu Ihrem System hinzuzufügen und mit dem Schutz Ihrer Daten zu beginnen.


Linux
  1. So benennen Sie Dateien unter Linux um

  2. So verschlüsseln Sie eine Partition mit DM-Crypt LUKS unter Linux

  3. So finden Sie Dateien mit dem fd-Befehl in Linux

  4. So verschlüsseln Sie Cloud-Speicherdateien mit Rclone

  5. Wie kann ich Dateien mit xargs unter Linux verschieben?

So benennen Sie eine Datei (en) in Linux um

So synchronisieren Sie Dateien mit Unison unter Linux

So entfernen Sie Dateien mit einer bestimmten Erweiterung in Linux

So finden Sie Dateien mit dem fd-Befehl in Linux

So laden Sie Dateien mit dem Curl-Befehl unter Linux herunter

So laden Sie Dateien mit dem Wget-Befehl unter Linux herunter