Le chiffrement des bases de données est une pratique de sécurité essentielle pour protéger les données sensibles contre les accès non autorisés. PostgreSQL, l’un des systèmes de gestion de base de données relationnelle open-source les plus populaires, offre plusieurs méthodes pour sécuriser les données. Ce guide détaillé explore les différentes options de chiffrement disponibles dans PostgreSQL sur Ubuntu 22.04, fournissant des instructions claires et des exemples de commandes pour les débutants.
Prérequis
- Un serveur Ubuntu 22.04 avec un accès root ou un utilisateur ayant des privilèges sudo.
- PostgreSQL installé sur votre serveur Ubuntu 22.04.
Étape 1: Installation de PostgreSQL sur Ubuntu 22.04
Si PostgreSQL n’est pas déjà installé sur votre système, suivez ces étapes pour l’installer :
- Mettez à jour la liste des paquets :
sudo apt update
- Installez PostgreSQL :
sudo apt install postgresql postgresql-contrib -y
Étape 2: Configuration de la Sécurité de Base de PostgreSQL
Avant de configurer le chiffrement, assurez-vous que votre installation PostgreSQL est sécurisée.
- Accédez à l’utilisateur PostgreSQL :
sudo -i -u postgres
- Accédez à l’invite de commande de PostgreSQL :
psql
- Changez le mot de passe de l’utilisateur PostgreSQL :
\password postgres
Entrez un nouveau mot de passe lorsque vous y êtes invité.
Étape 3: Activation du Chiffrement au Repos (TDE)
PostgreSQL permet le chiffrement au repos via le chiffrement du système de fichiers (FDE) ou le chiffrement Transparent Data Encryption (TDE).
- Configurer le chiffrement du système de fichiers : L’un des moyens de mettre en œuvre le FDE est d’utiliser LUKS (Linux Unified Key Setup). Ce guide ne couvre pas en détail la configuration de LUKS, mais vous pouvez consulter la documentation officielle d’Ubuntu pour plus d’informations.
- Chiffrement de niveau application avec pgcrypto : PostgreSQL offre un module
pgcrypto
pour le chiffrement de données spécifiques. a. Activezpgcrypto
en exécutant la commande suivante dans l’invite de commande PostgreSQL :CREATE EXTENSION pgcrypto;
b. Utilisez les fonctions fournies parpgcrypto
pour chiffrer et déchiffrer vos données.
Étape 4: Configuration du Chiffrement de la Connexion (SSL/TLS)
Le chiffrement SSL/TLS protège les données en transit entre les clients et le serveur PostgreSQL.
- Générez un certificat SSL auto-signé :
openssl req -new -text -passout pass:abcd -subj /CN=localhost -out server.req
openssl rsa -in privkey.pem -passin pass:abcd -out server.key
openssl req -x509 -in server.req -text -key server.key -out server.crt
chmod og-rwx server.key
- Déplacez les fichiers de certificat dans le dossier de configuration PostgreSQL :
sudo mv server.crt /etc/postgresql/12/main/
sudo mv server.key /etc/postgresql/12/main/
- Configurez PostgreSQL pour utiliser SSL en éditant
postgresql.conf
:
sudo nano /etc/postgresql/12/main/postgresql.conf
Ajoutez ou modifiez les lignes suivantes :
ssl = on
ssl_cert_file = '/etc/postgresql/12/main/server.crt'
ssl_key_file = '/etc/postgresql/12/main/server.key'
- Redémarrez PostgreSQL pour appliquer les changements :
sudo systemctl restart postgresql
Pour ceux qui recherchent une solution d’hébergement fiable et performante pour leur base de données PostgreSQL, les services Cloud VPS de Shape.host sont la solution idéale. Les VPS Cloud Linux SSD de Shape.host offrent des performances exceptionnelles, garantissant que votre base de données PostgreSQL fonctionne de manière optimale, avec