Bien que PostgreSQL n'offre pas d'options de chiffrement intégrées, vous pouvez configurer le chiffrement des données au repos à l'aide de méthodes de chiffrement tierces. Le didacticiel d'aujourd'hui se concentre sur l'utilisation de la méthode Transparent Data Encryption (TDE) pour activer le cryptage au niveau du système de fichiers.
Comment configurer le cryptage des données au repos dans PostgreSQL
Lors de la définition du chiffrement des données au repos dans PostgreSQL, l'objectif est de rendre les données illisibles sur le système de fichiers en exigeant une clé de déchiffrement. De cette façon, tout accès non autorisé est éliminé.
Lorsque PostgreSQL est exécuté sur votre serveur, vous pouvez configurer le chiffrement au niveau du système de fichiers à l'aide d'outils tiers tels que Linux Unified Key Setup (LUKS). Vous pouvez trouver la solution appropriée pour votre système. Ici, nous travaillons avec Ubuntu et configurons le cryptage des données en suivant les étapes suivantes.
Étape 1 : Installer l'outil de chiffrement du système de fichiers
Une fois que vous avez sélectionné la méthode de cryptage, vous devez installer les outils requis. Nous sélectionnons la méthode de cryptage au niveau du système de fichiers et installons LUKS. Pour installer LUKS, installez cryptsetup comme suit :
sudo apt-get installer configuration de cryptage
Appuyez sur « y » pour continuer l'installation et vous assurer que tout s'installe comme prévu.
Étape 2 : configurer un conteneur chiffré
Puisque nous configurons le cryptage au niveau du système de fichiers, nous devons créer un répertoire crypté sur notre disque qui contient les données PostgreSQL. Vérifiez les appareils disponibles sur votre système d'exploitation avec la commande suivante :
sudo fdisque -l
Ensuite, sélectionnez le périphérique approprié et exécutez la commande suivante. Ici, nous utilisons le /dev/sdb appareil. Vous serez invité à confirmer l'action en tapant « OUI », puis à saisir une phrase secrète.
Vous devez ensuite le chiffrer à l'aide de LUKS en exécutant la commande suivante :
Étape 3 : formater le conteneur
Pour le conteneur créé, il faut le formater. Nous utilisons l'option « mkfs.ext4 » en exécutant le code suivant :
sudo mkfs.ext4 / développeur / mappeur / postgres_encrypted
Étape 4 : Monter le conteneur
Ensuite, montons le conteneur chiffré. Commencez par créer un répertoire dans le /mois/ comme suit:
sudo mkdir / mnt / postgresUne fois le répertoire créé, montez le conteneur chiffré à l’aide de la commande « mount » et spécifiez le chemin.
sudo monter / développeur / mappeur / postgres_encrypted / mnt / postgres /Étape 5 : déplacer les données PostgreSQL
Jusqu'à présent, nous avons créé un conteneur chiffré pour stocker nos données PostgreSQL, mais nous n'avons pas encore déplacé les données. Avant de déplacer les données, nous devons arrêter le service PostgreSQL.
sudo systemctl arrête postgresqlPour déplacer les données PostgreSQL, exécutez la commande « copie » suivante et assurez-vous de la copier dans le répertoire que nous avons créé précédemment :
sudo rsync -de / était / lib / postgresql / mnt / postgresEnsuite, sauvegardez les données PostgreSQL d'origine en les déplaçant vers un emplacement de sauvegarde.
sudo mv / était / lib / postgresql / était / lib / postgresql_backup
Vous devez ensuite créer un lien symbolique vers l'annuaire pour un accès rapide.
C'est ça. Nous avons réussi à copier et à déplacer les données PostgreSQL vers notre conteneur chiffré au niveau du système de fichiers pour garantir la sécurité des données au repos.
Étape 6 : Modifier le fichier de configuration PostgreSQL
Le data_directory dans le fichier de configuration reflète le précieux emplacement des données PostgreSQL. Cependant, nous devons le modifier pour qu'il corresponde à l'emplacement des données PostgreSQL dans le conteneur chiffré que nous avons créé. Alors, ouvrez le fichier de configuration PostgreSQL à l'aide d'un éditeur de texte. Localisez la section data_directory. Il apparaît comme indiqué ci-dessous avant de le modifier. Le chemin peut différer selon la version de PostgreSQL installée sur votre système.
Modifiez le chemin pour diriger vers le conteneur chiffré que nous avons créé à l'étape 4. Dans notre cas, le nouveau chemin est le suivant :
Étape 7 : Enregistrer, quitter et redémarrer
Enregistrez et quittez le fichier de configuration PostgreSQL. Ensuite, démarrez ou redémarrez PostgreSQL. Vous avez réussi à configurer le cryptage des données au repos dans PostgreSQL.
C'est ça! Vous pouvez continuer à utiliser PostgreSQL en toute sécurité et profiter du nouveau cryptage au niveau du système de fichiers.
Conclusion
La configuration du chiffrement des données au repos dans PostgreSQL implique de déterminer la méthode de chiffrement à utiliser, puis de la configurer. Nous avons sélectionné le cryptage TDE à l'aide de LUKS pour configurer un cryptage au niveau du système de fichiers. D’ailleurs, nous avons détaillé chaque étape à suivre pour le mettre en place. C'est ça! Essayez-le et suivez les étapes fournies.