44 votes

Quelle est une bonne solution pour crypter certains fichiers sous Unix?

Je cherche un utilitaire pour chiffrer certains répertoires sous Linux. Je ne recherche pas de services de chiffrement de disque complet, mais simplement pour chiffrer quelques répertoires dans le but de stocker des fichiers dans le cloud. Une fois récupérés, je devrais les décrypter avant qu'ils ne puissent être accessibles. Je souhaite le faire pour quelques répertoires (quelques centaines de Go). Des idées? De préférence en ligne de commande (CLI).

50voto

zero0 Points 1367

Je n'utilise que GnuPG pour cette tâche. Les dossiers sont d'abord compressés dans une archive TAR-GZ :

tar czf files.tar.gz /chemin/vers/mes/fichiers

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 paramètres par défaut devraient être suffisants pour un premier test. Quelque chose comme ceci apparaîtra :

gpg (GnuPG) 2.0.18; Copyright (C) 2011 Free Software Foundation, Inc.
Il s'agit d'un logiciel libre : vous pourrez le modifier et le redistribuer.
AUCUNE GARANTIE n'est offerte dans les limites autorisées par la loi.

Veuillez sélectionner le type de clé que vous souhaitez :
   (1) RSA et RSA (défaut)
   (2) DSA et Elgamal
   (3) DSA (signature uniquement)
   (4) RSA (signature uniquement)
Votre choix ? 1
Les clés RSA peuvent être de 1024 à 4096 bits de longueur.
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 dans 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 jamais
Est-ce correct ? (o/N) o

GnuPG doit construire un identifiant d'utilisateur pour identifier votre clé.

Nom réel : Clé de chiffrement de fichiers
Adresse électronique : admin@company.org
Commentaire : Clé de chiffrement de fichiers
Vous avez sélectionné cet IDENTIFIANT D'UTILISATEUR :
    "Clé de chiffrement de fichiers (Clé de chiffrement de fichiers) "

Changement (N)om, (C)ommentaire, (E)mail ou (O)kay/(Q)uitter ? o

On vous demandera un mot de passe pour la clé. Il est fortement recommandé d'en utiliser un solide. Il n'est pas nécessaire pour le chiffrement des fichiers de toute façon, donc ne vous inquiétez pas pour une utilisation en lot ultérieure.

Si tout est fait, quelque chose comme ceci apparaîtra sur votre écran :

Nous devons générer un grand nombre d'octets aléatoires. Il est une bonne idée d'effectuer
une autre action (taper sur le clavier, bouger la souris, utiliser le
disque) pendant la génération de nombres premiers ; cela donne au nombre aléatoire
une meilleure chance de gagner suffisamment d'entropie.
Nous devons générer un grand nombre d'octets aléatoires. Il est une bonne idée de réaliser
une autre action (taper sur le clavier, bouger la souris, utiliser le
disque) pendant la génération de nombres premiers ; cela donne au nombre aléatoire
une meilleure chance de gagner suffisamment d'entropie.
gpg : clé FE53C811 marquée comme totalement de confiance
clé publique et secrète créée et signée.

gpg : vérification de la base de confiance
gpg : 3 marginal(s) nécessaires, 1 complet(s) nécessaire, modèle de confiance PGP
gpg : profondeur : 0  valide :   1  signée :   0  confiance : 0-, 0q, 0n, 0m, 0f, 1u
pub   \*\*\*\*\*/\*\*\*\*\*\*\*\* 2013-03-19
      Empreinte de la clé = \*\*\*\* \*\*\*\* \*\*\*\* \*\*\*\* \*\*\*\* \*\*\*\* \*\*\*\* \*\*\*\* \*\*\*\* \*\*\*\*
uid                  Clé de chiffrement de fichiers (Clé de chiffrement de fichiers) 
sub   \*\*\*\*\*/\*\*\*\*\*\*\*\* 2013-03-19

Maintenant, vous pouvez vouloir exporter le fichier de clé publique pour l'importer sur d'autres machines :

gpg --armor --output file-enc-pubkey.txt --export 'Clé de chiffrement de fichiers'

La Clé de chiffrement de fichiers est le nom que j'ai saisi lors de la procédure de génération de clé.

Maintenant, j'utilise GnuPG sur l'archive nouvellement créée :

gpg --encrypt --recipient 'Clé de chiffrement de fichiers' files.tar.gz

Vous avez maintenant un fichier files.tar.gz.gpg qui est chiffré.

Vous pouvez le déchiffrer avec la commande suivante (on vous demandera votre mot de passe) :

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 mot de passe ! Si non sauvegardée ou oubliée, vous aurez des gigaoctets de données inutiles !

Sauvegardez votre clé privée avec cette commande :

gpg --armor --output file-enc-privkey.asc --export-secret-keys 'Clé de chiffrement de fichiers'

Avantages

  • Aucun des chiffreurs n'a besoin de connaître des informations sensibles sur le chiffrement - le chiffrement est fait avec la clé publique. (Vous pouvez créer la paire de clés sur votre poste de travail local et transférer uniquement la clé publique sur vos serveurs)
  • Aucun mot de passe n'apparaîtra dans des scripts ou des tâches
  • Vous pouvez avoir autant de chiffreurs sur n'importe quel système que vous voulez
  • Si vous gardez votre clé privée et le mot de passe secret, tout ira bien et sera très très difficile à compromettre
  • Vous pouvez déchiffrer avec la clé privée sur des plates-formes Unix, Windows et Linux en utilisant l'implémentation spécifique de PGP/GPG
  • Pas besoin de privilèges spéciaux sur les systèmes de chiffrement et de déchiffrement, pas de montage, pas de conteneurs, pas de systèmes de fichiers spéciaux

28voto

Julien R. Points 381

Pour ma part, j'utilise principalement deux méthodes:

Première méthode: tar et openssl

Tar le répertoire

tar cvf backup.tar /chemin/vers/dossier

Vous pouvez supprimer l'interrupteur [v] de la commande tar pour désactiver le mode verbeux.

Chiffrer

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

Vous pouvez remplacer aes-128-cbc par n'importe quelle autre méthode de chiffrement prise en charge par openssl (openssl --help).

Déchiffrer

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

Il demandera le mot de passe.

Deuxième méthode: zip chiffré

zip -r -0 -e backup.zip /chemin/vers/dossier

Il demandera le mot de passe.

  • -r signifie récursivement (arborescence complète des dossiers)
  • -0 signifie stocker uniquement (pas de compression, plus rapide)
  • -e signifie chiffrer l'archive

Un avantage de ceci: il fonctionnera mieux avec les systèmes basés sur Windows.

22voto

GPPK Points 3254

Si vous ne voulez pas crypter vos fichiers avec une paire de clés publique / privée et que vous préférez utiliser un chiffrement symétrique avec une phrase secrète, utilisez la commande suivante :

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

Vous serez invité à entrer votre phrase secrète. Après cela, un fichier crypté nommé files.tar.gz.gpg est créé.

Pour décrypter, utilisez la commande suivante

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

2voto

Yange Wang Points 21

Vous pouvez utiliser TrueCrypt, une solution très simple et agréable. Il propose un package pour une utilisation uniquement en console. Il est très simple à apprendre et à utiliser. http://www.truecrypt.org

2voto

josh Points 271

Pour un tel usage, je recommanderais le cryptage FUSE (comme encfs) - pour des données plus petites, j'utiliserais gpg.

C'est un système de fichiers implémenté dans l'espace utilisateur, donc vous n'avez besoin d'aucun privilège spécial.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X