Crypter un transfert de fichier entre 2 serveurs
Prérequis
- Pour la suite des explications, il est nécéssaire de remplacer les variables suivantes celles des machines en cours :
- {ip-server-1} et {ip-server-2} par les adresses IP des serveurs
- {user-server-1} et {user-server-2} par les utilisateurs utilisés pour le transfert
- {name-key-server-2} par le nom de la clé GPG utilisé pour chiffrer le fichier
- 2 serveurs sous linux (serveur 1 et serveur 2) avec un accès SSH ouvert avec les utilisteurs {user-server-1} et {user-server-2}
Installation de GPG
Clés SSH
Génération des clés SSH sur le serveur d'envoi (serveur 1)
Copie de la clé public sur le serveur de réception (Automatisation de la connexion SSH par clé)
Clé GPG
Dans l'ordre des choses : - Le serveur 1 qui va chiffrer le fichier à transférer avec la clé public du serveur 2 - Le serveur 2 qui va déchiffrer le fichier reçu avec sa clé privée
Il est donc nécéssaire de créer une paire de clés sur le serveur 2 :
Récupération de la clé public générée :
Import de la clé public du serveur 2 sur le serveur 1 :
# Sur le SERVEUR 2
cat ~/{name-key-server-2}.key
# Copier le contenu de la clé
# Sur le SERVEUR 1
vi ~/{name-key-server-2}.key
# Coller le contenu de la clé dans le fichier
# Import de la clé public
gpg --import {name-key-server-2}.key
# On authentifie la clé importé
gpg --sign-key {name-key-server-2}
Chiffrement et transfert du fichier
Création du dossier et du fichier
Création d'un hash du fichier pour valider son intégrité
Compression du dossier
Chiffrement du fichier
Transfert du fichier vers le serveur 2
Reception du fichier
Déchiffrement du fichier sur le serveur 2
Décompression du dossier
Vérifier que les sorties de ces 2 commandes donne le même résultat pour attester de la non-modification
Le fichier est maintenant disponible sur le serveur 2.
Nous sommes sur que le fichier n'as pas été modifier lors du transfert et que le transfert à été chiffrer d'une part par le protocole SSH et d'autre part par GPG.