Introduzione
La criptazione di un database in riposo (Encryption at Rest) è una pratica essenziale per garantire la sicurezza dei dati sensibili. PostgreSQL su Ubuntu 22.04 offre diverse opzioni per criptare il tuo database a riposo. In questo tutorial, esploreremo come criptare un database in PostgreSQL su Ubuntu 22.04.
Configurazione Iniziale
Installazione di PostgreSQL:
Assicurati di avere PostgreSQL installato sul tuo sistema Ubuntu 22.04. Se non lo hai già fatto, puoi installarlo con il seguente comando:
sudo apt update
sudo apt install postgresql postgresql-contrib
Opzioni di Criptazione
PostgreSQL supporta diverse opzioni di criptazione a livello di filesystem o a livello di blocco1. Le opzioni di criptazione a livello di filesystem includono eCryptfs e EncFS, mentre per la criptazione a livello di blocco o full disk, le opzioni includono dm-crypt + LUKS su Linux.
Criptazione a Livello di Filesystem con eCryptfs:
Installa eCryptfs sul tuo sistema Ubuntu con il seguente comando:
sudo apt-get install ecryptfs-utils
Setup della Criptazione:
Carica il modulo del kernel eCryptfs con il seguente comando:
sudo modprobe ecryptfs
Creazione di una Partizione Criptata:
Crea una partizione criptata per il tuo database PostgreSQL. Assumendo che la partizione sia /dev/sdaX
, il comando è:
sudo ecryptfs-setup-private --dev=/dev/sdaX
Montaggio della Partizione Criptata:
Monta la partizione criptata nel punto di montaggio desiderato, ad esempio /var/lib/postgresql
:
sudo mount -t ecryptfs /dev/sdaX /var/lib/postgresql
Configurazione di PostgreSQL:
Modifica il file di configurazione di PostgreSQL (postgresql.conf
) per indicare la nuova posizione del database criptato:
sudo nano /etc/postgresql/XX/main/postgresql.conf
Modifica la riga data_directory
con il nuovo percorso:
data_directory = '/var/lib/postgresql'
Conclusioni
Hai ora configurato con successo la criptazione del tuo database PostgreSQL in riposo su Ubuntu 22.04. Questo ti garantirà una maggiore sicurezza per i tuoi dati sensibili, proteggendoli da accessi non autorizzati. Assicurati di testare la configurazione in un ambiente sicuro prima di applicarla in un ambiente di produzione.