Je recherche un utilitaire pour crypter certains répertoires sous Linux. Je ne recherche pas de services de chiffrement complet du disque, mais simplement pour chiffrer quelques répertoires afin de stocker des fichiers dans le cloud. Une fois récupérés, je devrais les décrypter avant de pouvoir y accéder. Vous cherchez à le faire pour quelques répertoires (quelques centaines de Go). Des idées? De préférence basé sur CLI.
J'utilise uniquement GnuPG pour cette tâche. Les dossiers sont d'abord regroupés dans une archive TAR-GZ:
tar czf files.tar.gz /path/to/my/files
Si ce n'est pas déjà fait, vous devez d'abord créer une paire de clés privée/publique GPG:
gpg --gen-key
Suivez les instructions. Les valeurs par défaut devraient être suffisantes pour un premier test. Quelque chose comme ça apparaîtra:
gpg (GnuPG) 2.0.18; Copyright (C) 2011 Free Software Foundation, Inc. Il s'agit d'un logiciel gratuit: vous êtes libre de le modifier et de le redistribuer. Il n'y a AUCUNE GARANTIE, dans la mesure permise par la loi. Veuillez sélectionner le type de clé que vous souhaitez: (1) RSA et RSA (par défaut) (2) DSA et Elgamal (3) DSA (signe seulement) (4) RSA (signe seulement) Votre sélection? 1 Les clés RSA peuvent avoir une longueur comprise entre 1024 et 4096 bits. Quelle taille de clé souhaitez-vous? (2048) 4096 La taille de clé demandée est de 4096 bits Veuillez spécifier la durée de validité de la clé. 0 = la clé n'expire pas = La clé expire en n jours w = la clé expire dans n semaines m = la clé expire dans n mois y = la clé expire dans n années La clé est valide pour? (0) La clé n'expire pas du tout Est-ce correct? (y/N) y GnuPG doit créer un ID utilisateur pour identifier votre clé. Nom réel: Clé de chiffrement de fichier Courriel address: [email protected] Commentaire: File Encryption Key Vous avez sélectionné cet ID D'UTILISATEUR: "File Encryption Key (File Encryption Key)" Changer (N) ame, (C) omment, (E) mail ou (O) kay/(Q) uit? o
Un mot de passe vous sera demandé pour la clé. Il est fortement recommandé d'en utiliser un solide. De toute façon, il n'est pas nécessaire pour le cryptage des fichiers, alors ne vous inquiétez pas de l'utilisation par lots plus tard.
Si tout est fait, quelque chose comme ça apparaîtra sur votre écran:
Nous devons générer beaucoup d'octets aléatoires. C'est une bonne idée d'exécuter Une autre action (taper sur le clavier, déplacer la souris, utiliser les disques ) Pendant la génération principale; cela donne au générateur de nombres aléatoires une meilleure chance de gagner suffisamment d'entropie. Nous devons générer beaucoup d'octets aléatoires. C'est une bonne idée d'exécuter Une autre action (taper sur le clavier, déplacer la souris, utiliser les disques ) Pendant la génération principale; cela donne au générateur de nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie. gpg: clé FE53C811 marquée comme clé publique et secrète finalement approuvée créée et signée. gpg: vérification du trustdb gpg: 3 marge (s) nécessaire (s), 1 complet (s) nécessaire, modèle de confiance PGP gpg: profondeur: 0 valide: 1 signé: 0 confiance: 0-, 0q, 0n, 0m, 0f, 1u pub *****/******** 2013-03-19 Empreinte digitale clé = *** * **** **** **** **** **** **** **** **** **** uid Clé de cryptage de fichier (File Encryption Key ) sub *****/******** 2013-03-19
Maintenant, vous pouvez vouloir exporter le fichier de clés publiques pour l'importer sur d'autres machines:
gpg --armor --output file-enc-pubkey.txt --export 'File Encryption Key'
Le File Encryption Key
est le nom que j'ai entré lors de la procédure de génération de clé.
Maintenant, j'utilise GnuPG sur l'archive nouvellement créée:
gpg --encrypt --recipient 'File Encryption Key' files.tar.gz
Vous avez maintenant un files.tar.gz.gpg
fichier chiffré.
Vous pouvez le décrypter avec la commande suivante (il vous sera demandé votre phrase secrète):
gpg --output files.tar.gz --decrypt files.tar.gz.gpg
C'est toute la magie.
Assurez-vous de sauvegarder votre clé! Et n'oubliez jamais votre phrase secrète! S'il n'est pas sauvegardé ou oublié, vous avez des gigaoctets de données indésirables!
Sauvegardez votre clé privée avec cette commande:
gpg --armor --output file-enc-privkey.asc --export-secret-keys 'File Encryption Key'
Avantages
Pour ma part, j'utilise principalement deux méthodes:
tar cvf backup.tar /path/to/folder
Vous pouvez supprimer le commutateur [v] de la commande tar pour désactiver le mode détaillé.
openssl aes-128-cbc -salt -in backup.tar -out backup.tar.aes -k yourpassword
Vous pouvez remplacer aes-128-cbc par toute autre méthode de chiffrement prise en charge par openssl (openssl --help).
openssl aes-128-cbc -d -salt -in backup.tar.aes -out backup.restored.tar
Il vous demandera le mot de passe.
Zip -r -0 -e backup.Zip /path/to/folder
Il vous demandera le mot de passe.
Un avantage de cela: il fonctionnera mieux avec un système basé sur Windows.
Si vous ne souhaitez pas crypter vos fichiers avec une paire de clés publique/privée et utiliser uniquement un cryptage symétrique avec une phrase de passe, utilisez la commande suivante:
gpg --symmetric --cipher-algo aes256 files.tar.gz
On vous demandera votre phrase de passe. Après cela, un fichier chiffré nommé files.tar.gz.gpg
est créé.
Pour décrypter, utilisez la commande
gpg --decrypt files.tar.gz.gpg > files.tar.gz
Vous pouvez utiliser la solution truecrypt très simple et agréable. Il a un package pour console uniquement. C'est très simple à apprendre et à utiliser. http://www.truecrypt.org
À cette fin, je suggère le chiffrement Fuse (tel que encfs ) - pour des données plus petites, j'utiliserais gpg.
Il est implémenté fs dans l'espace utilisateur, vous n'avez donc pas besoin de privilèges spéciaux.
Un moyen très simple de crypter un fichier est:
gpg -c filename.ext
On vous demandera une phrase secrète deux fois, et gpg créera filename.ext.gpg
. Téléchargez le fichier crypté sur votre service cloud. Pour récupérer le fichier, utilisez:
gpg filename.ext.gpg
Qui recréera filename.ext
. Notez que les fichiers non chiffrés ne sont pas sécurisés et les données pertinentes resteront sur votre support de stockage même après leur suppression. Seul le conteneur gpg est sécurisé. EncFS est une alternative plus pratique pour le chiffrement basé sur le cloud au niveau du fichier.
Il existe certains systèmes de fichiers Linux destinés au chiffrement des données. Avez-vous déjà pensé à Lux par exemple?