Frage Was ist eine gute Lösung, um einige Dateien in Unix zu verschlüsseln? [geschlossen]


Ich suche nach einem Dienstprogramm, um bestimmte Verzeichnisse in Linux zu verschlüsseln. Ich suche keine vollständigen Festplattenverschlüsselungsdienste, sondern einfach nur einige Verzeichnisse für die Speicherung von Dateien in der Cloud. Sobald ich sie gefunden habe, sollte ich sie entschlüsseln müssen, bevor sie zugänglich sind. Ich suche dies für ein paar Verzeichnisse (ein paar hundert GB groß). Irgendwelche Ideen? Vorzugsweise CLI basiert.


44
2018-03-19 06:16


Ursprung




Antworten:


Ich benutze nur GnuPG für diese Aufgabe. Die Ordner werden zuerst in ein TAR-GZ-Archiv gepackt:

tar czf files.tar.gz /path/to/my/files

Falls noch nicht geschehen, müssen Sie zuerst ein GPG-Schlüsselpaar erstellen:

gpg --gen-key

Folge den Anweisungen. Die Standardwerte sollten für einen ersten Test ausreichen. So etwas wird erscheinen:

gpg (GnuPG) 2.0.18; Copyright (C) 2011 Freie Software-Grundlage, Inc.
Dies ist freie Software: Sie können sie ändern und neu verteilen.
Es gibt KEINE GARANTIE, soweit gesetzlich zulässig.

Bitte wählen Sie welche Art von Schlüssel Sie wollen:
   (1) RSA und RSA (Standard)
   (2) DSA und Elgamal
   (3) DSA (nur unterschreiben)
   (4) RSA (nur unterschreiben)
Deine Auswahl? 1
RSA-Schlüssel können zwischen 1024 und 4096 Bits lang sein.
Welche Tastenbelegung möchten Sie? (2048) 4096
Angeforderte Schlüsselgröße ist 4096 Bits
Bitte geben Sie an, wie lange der Schlüssel gültig sein soll.
         0 = Schlüssel läuft nicht ab
        = Schlüssel läuft in n Tagen ab
      w = Schlüssel läuft in n Wochen ab
      m = Schlüssel läuft in n Monaten ab
      y = Schlüssel läuft in n Jahren ab
Schlüssel ist gültig für? (0)
Der Schlüssel läuft überhaupt nicht ab
Ist das richtig? (y / N) y

GnuPG muss eine Benutzer-ID erstellen, um Ihren Schlüssel zu identifizieren.

Echter Name: Dateiverschlüsselungsschlüssel
E-Mail-Adresse: admin@company.org
Kommentar: Dateiverschlüsselungsschlüssel
Sie haben diese USER-ID gewählt:
    "Dateiverschlüsselungsschlüssel (Dateiverschlüsselungsschlüssel)"

Ändern (N) ame, (C) oment, (E) mail oder (O) kay / (Q) uit? O

Sie werden nach einer Passphrase für den Schlüssel gefragt. Es wird dringend empfohlen, einen starken zu verwenden. Es wird sowieso nicht für die Verschlüsselung von Dateien benötigt. Machen Sie sich daher keine Sorgen über die spätere Verwendung der Stapel.

Wenn alles fertig ist, wird so etwas auf Ihrem Bildschirm angezeigt:

Wir müssen viele zufällige Bytes generieren. Es ist eine gute Idee zu spielen
eine andere Aktion (tippen Sie auf die Tastatur, bewegen Sie die Maus, verwenden Sie die
Platten) während der Prime-Generation; Dies gibt die Zufallszahl
Generator eine bessere Chance, genug Entropie zu gewinnen.
Wir müssen viele zufällige Bytes generieren. Es ist eine gute Idee zu spielen
eine andere Aktion (tippen Sie auf die Tastatur, bewegen Sie die Maus, verwenden Sie die
Platten) während der Prime-Generation; Dies gibt die Zufallszahl
Generator eine bessere Chance, genug Entropie zu gewinnen.
gpg: Schlüssel FE53C811 als endgültig vertrauenswürdig markiert
Öffentlicher und geheimer Schlüssel erstellt und unterschrieben.

gpg: Überprüfung der Trustdb
GPG: 3 randständige (n) benötigt, 1 vollständige (n) benötigt, PGP-Vertrauensmodell
gpg: Tiefe: 0 gültig: 1 signiert: 0 Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u
pub ***** / ******** 2013-03-19
      Schlüsselfingerabdruck = **** **** **** **** **** **** **** **** **** ****
UID-Dateiverschlüsselungsschlüssel (Dateiverschlüsselungsschlüssel)
sub ***** / ******** 2013-03-19

Jetzt du mag wollen Exportieren Sie die öffentliche Keyfile für den Import auf andere Maschinen:

gpg --armor --output file-enc-pubkey.txt --export 'File Encryption Key'

Das File Encryption Key ist der Name, den ich bei der Schlüsselgenerierung eingegeben habe.

Jetzt verwende ich GnuPG für das neu erstellte Archiv:

gpg --encrypt --recipient 'File Encryption Key' files.tar.gz

Du hast jetzt ein files.tar.gz.gpg Datei, die verschlüsselt ist.

Sie können es mit dem folgenden Befehl entschlüsseln (Sie werden nach Ihrer Passphrase gefragt):

gpg --output files.tar.gz --decrypt files.tar.gz.gpg

Das ist die ganze Magie.

Stellen Sie sicher, dass Sie Ihren Schlüssel sichern! Und vergessen Sie nie Ihre Passphrase! Wenn nicht gesichert oder vergessen, haben Sie Gigabytes von Datenmüll!

Sichern Sie Ihren privaten Schlüssel mit diesem Befehl:

gpg --armor --output file-enc-privkey.asc --export-secret-keys 'File Encryption Key'

Vorteile

  • Keiner der Verschlüsseler muss sensible Informationen über die Verschlüsselung kennen - die Verschlüsselung erfolgt mit dem öffentlichen Schlüssel. (Sie können das Schlüsselpaar auf Ihrer lokalen Arbeitsstation erstellen und den öffentlichen Schlüssel nur auf Ihre Server übertragen)
  • In Skriptdateien oder Jobs werden keine Kennwörter angezeigt
  • Sie können so viel wie Verschlüsseler auf jedem System haben, das Sie wollen
  • Wenn Sie Ihren privaten Schlüssel und die Passphrase geheim halten, ist alles in Ordnung und sehr schwer zu kompromittieren
  • Sie können mit dem privaten Schlüssel auf Unix-, Windows- und Linux-Plattformen mit der spezifischen PGP / GPG-Implementierung entschlüsseln
  • Keine besonderen Privilegien für das Verschlüsseln und Entschlüsseln von Systemen, kein Mounting, keine Container, keine speziellen Dateisysteme

51
2018-03-19 07:11



Beachten Sie, dass es abhängig von den Daten möglicherweise schneller ausgeführt werden kann tar ohne das z wechseln, um eine Komprimierung zu vermeiden. - l0b0


Ich verwende für mich hauptsächlich zwei Methoden:

Erste Methode: tar und openssl

Tar das Verzeichnis

tar cvf backup.tar /path/to/folder

Sie können den Schalter [v] aus dem Befehl tar entfernen, um den ausführlichen Modus zu deaktivieren.

Verschlüsseln

openssl aes-128-cbc -salt -in backup.tar -out backup.tar.aes -k yourpassword

Sie können aes-128-cbc in jede andere Verschlüsselungsmethode ändern, die von openssl unterstützt wird (openssl --help).

Entschlüsseln

openssl aes-128-cbc -d -salt -in backup.tar.aes -out backup.restored.tar

Es wird nach dem Passwort gefragt.

Zweite Methode: verschlüsselter zip

zip -r -0 -e backup.zip /path/to/folder

Es wird nach dem Passwort gefragt.

  • -r bedeutet rekursiv (ganze Ordnerstruktur)
  • -0 bedeutet nur speichern (nicht komprimieren, schneller)
  • -e bedeutet Archiv verschlüsseln

Ein Vorteil davon: Es wird besser mit Windows-basierten Systemen arbeiten.


28
2018-03-19 10:29



Passwort auf der Kommandozeile geben ist keine gute Idee. Das Passwort verbleibt in der Shell-Historie. - pbies
Es ist darauf hinzuweisen, dass zip Es wird gemunkelt, dass Verschlüsselung Crack-fähig ist. - A-B-B


Wenn Sie Ihre Dateien nicht mit einem öffentlichen / privaten Schlüsselpaar verschlüsseln und stattdessen nur eine symmetrische Verschlüsselung mit einer Passphrase verwenden möchten, verwenden Sie den folgenden Befehl:

gpg --symmetric --cipher-algo aes256 files.tar.gz

Sie werden nach Ihrem Passwort gefragt. Danach eine verschlüsselte Datei namens files.tar.gz.gpg geschaffen.

Zum Entschlüsseln verwenden Sie den Befehl

gpg --decrypt files.tar.gz.gpg > files.tar.gz

22
2017-11-14 17:00





Sie können truecrypt sehr einfache und nette Lösung verwenden. Es hat Paket für die Konsole nur verwenden. Es ist sehr einfach zu lernen und zu verwenden. http://www.truecrypt.org


2
2018-03-19 07:43



Ab dem 28. Mai 2014 ist TrueCrypt nicht mehr. Sehen en.wikipedia.org/wiki/TrueCrypt - Bryce


Zu diesem Zweck würde ich eine FUSE-Verschlüsselung vorschlagen (z encfs) - Für kleinere Daten würde ich gpg verwenden.

Es ist in Benutzerbereich implementiert, so dass Sie keine besonderen Berechtigungen benötigen.


2
2018-03-19 10:23





Es gibt einige Linux-Dateisysteme, die für die Datenverschlüsselung bestimmt sind. Hast du schon darüber nachgedacht? LUX z.B.?


1
2018-03-19 09:30





Eine sehr einfache Methode zum Verschlüsseln einer Datei ist:

gpg -c filename.ext

Sie werden zweimal nach einer Passphrase gefragt, und gpg erstellt filename.ext.gpg. Laden Sie die verschlüsselte Datei in Ihren Cloud-Dienst hoch. Um die Datei wiederherzustellen, verwenden Sie:

gpg filename.ext.gpg

Was wird neu erstellt werden filename.ext. Notiere dass der unverschlüsselt Dateien sind nicht sicher und die relevanten Daten bleiben auch nach dem Löschen auf Ihrem Speichermedium. Nur der GPG-Container ist sicher. EncFS ist eine praktikablere Alternative für die Cloud-basierte Verschlüsselung auf Dateiebene.


1
2017-07-16 16:56