Ställ in datakryptering i vila i PostgreSQL

Stall In Datakryptering I Vila I Postgresql



Du måste säkra dina data när du arbetar med någon databas. För PostgreSQL är det möjligt att säkra data i vila. Logiken innebär att säkra din data medan den är lagrad på disken. På så sätt kommer du att ha ytterligare en försvarslinje för att skydda dina data från en angripare.

Även om PostgreSQL inte erbjuder inbyggda krypteringsalternativ, kan du ställa in datakrypteringen i vila med hjälp av tredjepartskrypteringsmetoder. Dagens handledning fokuserar på att använda metoden Transparent Data Encryption (TDE) för att aktivera kryptering på filsystemnivå.

Hur man ställer in datakryptering i vila i PostgreSQL

När du ställer in datakrypteringen i vila i PostgreSQL är målet att göra data oläsbar i filsystemet genom att kräva en dekrypteringsnyckel. På så sätt elimineras obehörig åtkomst.







När PostgreSQL körs på din server kan du ställa in krypteringen på filsystemnivå med hjälp av tredjepartsverktyg som Linux Unified Key Setup (LUKS). Du kan hitta den lämpliga lösningen för ditt system. Här arbetar vi med Ubuntu och ställer in datakrypteringen med följande steg.



Steg 1: Installera Filesystem Encryption Tool

När du har valt krypteringsmetoden måste du installera de nödvändiga verktygen. Vi väljer krypteringsmetoden på filsystemnivå och installerar LUKS. För att installera LUKS, installera cryptsetup enligt följande:



sudo apt-get install cryptsetup





Tryck på 'y' för att fortsätta installationen och se till att allt installeras som förväntat.

Steg 2: Konfigurera en krypterad behållare

Eftersom vi ställer in krypteringen på filsystemnivå måste vi skapa en krypterad katalog på vår disk som innehåller PostgreSQL-data. Kontrollera de tillgängliga enheterna på ditt operativsystem med följande kommando:



sudo fdisk -l

Välj sedan lämplig enhet och kör följande kommando. Här använder vi /dev/sdb enhet. Du kommer att uppmanas att bekräfta åtgärden genom att skriva 'JA' och sedan ange en lösenfras.

Du måste sedan kryptera den med LUKS genom att köra följande kommando:

Steg 3: Formatera behållaren

För den skapade behållaren måste vi formatera den. Vi använder alternativet 'mkfs.ext4' genom att köra följande kod:

sudo mkfs.ext4 / dev / kartläggare / postgres_encrypted

Steg 4: Montera behållaren

Låt oss sedan montera den krypterade behållaren. Börja med att skapa en katalog i /mnt/ som följer:

sudo mkdir / mnt / postgres

När katalogen har skapats, fortsätt och montera den krypterade behållaren med kommandot 'mount' och ange sökvägen.

sudo montera / dev / kartläggare / postgres_encrypted / mnt / postgres /

Steg 5: Flytta PostgreSQL-data

Hittills har vi skapat en krypterad behållare för att lagra vår PostgreSQL-data, men vi har ännu inte flyttat data. Innan vi flyttar data måste vi stoppa PostgreSQL-tjänsten.

sudo systemctl stoppa postgresql

För att flytta PostgreSQL-data, kör följande 'copy'-kommando och se till att du kopierar den till katalogen som vi skapade tidigare:

sudo rsync -av / var / lib / postgresql / mnt / postgres

Säkerhetskopiera sedan den ursprungliga PostgreSQL-datan genom att flytta den till en säkerhetskopieringsplats.

sudo mv / var / lib / postgresql / var / lib / postgresql_backup


Du måste sedan skapa en symbolisk länk för katalogen för snabb åtkomst.

sudo ln -s / mnt / postgres / postgresql / var / lib / postgresql

Det är allt. Vi lyckades kopiera och flytta PostgreSQL-data till vår krypterade behållare på filsystemnivå för att säkerställa att vi säkrar data i vila.

Steg 6: Redigera PostgreSQL-konfigurationsfilen

Data_katalogen i konfigurationsfilen återspeglar den värdefulla PostgreSQL-dataplatsen. Vi måste dock redigera den för att matcha platsen för PostgreSQL-data i den krypterade behållaren som vi skapade. Så öppna PostgreSQL-konfigurationsfilen med en textredigerare. Leta upp avsnittet data_directory. Det ser ut som visas i följande innan vi redigerar det. Sökvägen kan variera beroende på vilken PostgreSQL-version som är installerad på ditt system.

Ändra sökvägen för att dirigera till den krypterade behållaren som vi skapade i steg 4. I vårt fall är den nya sökvägen följande:

Steg 7: Spara, avsluta och starta om

Spara och avsluta PostgreSQL-konfigurationsfilen. Nästa, starta eller starta om PostgreSQL. Du lyckades ställa in datakrypteringen i vila i PostgreSQL.

Det är allt! Du kan fortsätta använda PostgreSQL säkert och njuta av den nya krypteringen på filsystemsnivå.

Slutsats

Att ställa in datakrypteringen i vila i PostgreSQL innebär att bestämma vilken krypteringsmetod som ska användas och sedan ställa in den. Vi valde TDE-krypteringen med LUKS för att ställa in en kryptering på filsystemnivå. Dessutom har vi detaljerat varje steg att följa för att ställa in det. Det är allt! Prova det och följ de medföljande stegen.