Dans l'article Création d'un disque chiffré sur VDS Linux, nous décrit comment créer un fichier crypté et le monter en tant que disque. Dans cet exemple, pour nous connecter, nous saisissons à chaque fois un mot de passe et après avoir travaillé avec des fichiers, nous le désactivons. Cette méthode de travail offre un haut niveau de sécurité lorsque vous travaillez avec des données.
Par contre, le mot de passe que nous saisissons à chaque fois peut être intercepté si toutes les actions sont enregistrées sur le PC à partir duquel le mot de passe est saisi. (enregistreur de frappe installé)
Dans cet exemple, nous allons vous montrer comment monter automatiquement un fichier crypté et monter le disque à chaque démarrage du serveur, à l'aide d'un fichier de clé.
1. Créez un fichier clé
dd if=/dev/urandom of=/root/random_data_keyfile1 bs=1024 count=4
1.1 Attribuons des droits uniquement à root
chmod 0400 /root/random_data_keyfile1
1.2 Ajouter un fichier clé à notre fichier crypté
cryptsetup luksAddKey /root/crypt-drive /root/random_data_keyfile1
2. Ajouter une configuration pour la connexion automatique
2.1 Fichier /etc/crypttab
# <target name> <source device> <key file> <options>
crypto-my /root/crypt-drive /root/random_data_keyfile1 luks,discard
Si vous supprimez le fichier clé et redémarrez le serveur, au démarrage, vous serez invité à saisir le mot de passe du fichier crypté, mais il n'y a pas d'accès au serveur via le réseau à ce stade. Après avoir saisi correctement le mot de passe, le serveur continuera à se charger, y compris les services réseau.
2.1.1 Pour garantir que le serveur continue de démarrer si le fichier de clé est manquant, ajoutez l'option de délai d'attente
# <target name> <source device> <key file> <options>
crypto-my /root/crypt-drive /root/random_data_keyfile1 luks,discard,timeout=30
Maintenant, la saisie d'un mot de passe s'il n'y a pas de fichier clé attendra 30 secondes, après quoi le serveur continuera à se charger et sera accessible sur le réseau.
2.2 Fichier /etc/fstab
...
/dev/mapper/crypto-my /mnt/crypt-volume ext4 defaults 0 0
Terminé, vous pouvez redémarrer le serveur et vérifier.
df -h
Cette méthode a son inconvénient, puisque lorsque vous aurez accès physiquement au serveur, il sera possible de réinitialiser le mot de passe root, et comme le fichier clé est stocké sur le serveur, vous pourrez accéder aux données dans la partition cryptée.