Selv om PostgreSQL ikke tilbyr innebygde krypteringsalternativer, kan du konfigurere datakrypteringen i hvile ved å bruke tredjeparts krypteringsmetoder. Dagens veiledning fokuserer på å bruke Transparent Data Encryption (TDE)-metoden for å aktivere kryptering på filsystemnivå.
Hvordan sette opp datakryptering i hvile i PostgreSQL
Når du setter datakrypteringen i hvile i PostgreSQL, er målet å gjøre dataene uleselige på filsystemet ved å kreve en dekrypteringsnøkkel. På den måten elimineres uautorisert tilgang.
Når PostgreSQL kjører på serveren din, kan du sette opp kryptering på filsystemnivå ved å bruke tredjepartsverktøy som Linux Unified Key Setup (LUKS). Du kan finne den riktige løsningen for systemet ditt. Her jobber vi med Ubuntu og setter opp datakrypteringen ved å bruke følgende trinn.
Trinn 1: Installer filsystemkrypteringsverktøyet
Når du har valgt krypteringsmetoden, må du installere de nødvendige verktøyene. Vi velger krypteringsmetoden på filsystemnivå og installerer LUKS. For å installere LUKS, installer kryptoppsettet som følger:
sudo apt-get install kryptoppsett
Trykk 'y' for å fortsette installasjonen og sikre at alt installeres som forventet.
Trinn 2: Sett opp en kryptert beholder
Siden vi setter opp kryptering på filsystemnivå, må vi lage en kryptert katalog på disken vår som inneholder PostgreSQL-dataene. Sjekk tilgjengelige enheter på operativsystemet ditt med følgende kommando:
sudo fdisk -l
Deretter velger du riktig enhet og kjører følgende kommando. Her bruker vi /dev/sdb enhet. Du vil bli bedt om å bekrefte handlingen ved å skrive 'JA' og deretter angi en passordfrase.
Du må deretter kryptere den ved å bruke LUKS ved å kjøre følgende kommando:
Trinn 3: Formater beholderen
For den opprettede beholderen må vi formatere den. Vi bruker alternativet 'mkfs.ext4' ved å kjøre følgende kode:
sudo mkfs.ext4 / dev / kartlegger / postgres_encrypted
Trinn 4: Monter beholderen
La oss deretter montere den krypterte beholderen. Start med å lage en katalog i /mnt/ følgende:
sudo mkdir / mnt / postgresNår katalogen er opprettet, fortsett og monter den krypterte beholderen ved å bruke 'mount'-kommandoen og spesifiser banen.
sudo montere / dev / kartlegger / postgres_encrypted / mnt / postgres /Trinn 5: Flytt PostgreSQL-dataene
Så langt har vi laget en kryptert beholder for å lagre PostgreSQL-dataene våre, men vi har ennå ikke flyttet dataene. Før vi flytter dataene, må vi stoppe PostgreSQL-tjenesten.
sudo systemctl stopp postgresqlFor å flytte PostgreSQL-dataene, kjør følgende 'copy'-kommando og sørg for at du kopierer den til katalogen vi opprettet tidligere:
sudo rsync -av / var / lib / postgresql / mnt / postgresDeretter sikkerhetskopierer du de originale PostgreSQL-dataene ved å flytte dem til en sikkerhetskopiplassering.
sudo mv / var / lib / postgresql / var / lib / postgresql_backup
Du må deretter opprette en symbolsk lenke for katalogen for rask tilgang.
Det er det. Vi klarte å kopiere og flytte PostgreSQL-dataene til vår krypterte beholder på filsystemnivå for å sikre at vi sikrer dataene i ro.
Trinn 6: Rediger PostgreSQL-konfigurasjonsfilen
Data_katalogen i konfigurasjonsfilen gjenspeiler den dyrebare PostgreSQL-dataplasseringen. Vi må imidlertid redigere den for å matche plasseringen til PostgreSQL-dataene i den krypterte beholderen vi opprettet. Så åpne PostgreSQL-konfigurasjonsfilen ved hjelp av et tekstredigeringsprogram. Finn datakatalogdelen. Det vises som vist i det følgende før vi redigerer det. Banen kan variere avhengig av PostgreSQL-versjonen som er installert på systemet ditt.
Endre banen for å lede til den krypterte beholderen som vi opprettet i trinn 4. I vårt tilfelle er den nye banen som følger:
Trinn 7: Lagre, avslutt og start på nytt
Lagre og avslutt PostgreSQL-konfigurasjonsfilen. Deretter starter eller starter du PostgreSQL på nytt. Du klarte å sette opp datakrypteringen i hvile i PostgreSQL.
Det er det! Du kan fortsette å bruke PostgreSQL sikkert og nyte den nye krypteringen på filsystemnivå.
Konklusjon
Å sette opp datakrypteringen i hvile i PostgreSQL innebærer å bestemme hvilken krypteringsmetode som skal brukes og deretter sette den opp. Vi valgte TDE-kryptering ved å bruke LUKS for å sette opp en kryptering på filsystemnivå. Dessuten har vi detaljert hvert trinn som skal følges for å konfigurere det. Det er det! Prøv det ut og følg de angitte trinnene.