Hoci PostgreSQL neponúka vstavané možnosti šifrovania, šifrovanie údajov môžete nastaviť v pokoji pomocou metód šifrovania tretích strán. Dnešný tutoriál sa zameriava na využitie metódy Transparent Data Encryption (TDE) na umožnenie šifrovania na úrovni súborového systému.
Ako nastaviť šifrovanie údajov v pokoji v PostgreSQL
Pri nastavovaní pokojového šifrovania údajov v PostgreSQL je cieľom, aby boli údaje v súborovom systéme nečitateľné, a to vyžadovaním dešifrovacieho kľúča. Týmto spôsobom je eliminovaný neoprávnený prístup.
Keď je na vašom serveri spustený PostgreSQL, môžete nastaviť šifrovanie na úrovni súborového systému pomocou nástrojov tretích strán, ako je Linux Unified Key Setup (LUKS). Môžete nájsť vhodné riešenie pre váš systém. Tu pracujeme s Ubuntu a nastavujeme šifrovanie údajov pomocou nasledujúcich krokov.
Krok 1: Nainštalujte nástroj Filesystem Encryption Tool
Po výbere metódy šifrovania musíte nainštalovať požadované nástroje. Vyberieme metódu šifrovania na úrovni súborového systému a nainštalujeme LUKS. Ak chcete nainštalovať LUKS, nainštalujte cryptsetup takto:
sudo apt-get nainštalovať cryptsetup
Stlačením „y“ pokračujte v inštalácii a uistite sa, že sa všetko nainštaluje podľa očakávania.
Krok 2: Nastavte šifrovaný kontajner
Keďže nastavujeme šifrovanie na úrovni súborového systému, musíme na našom disku vytvoriť zašifrovaný adresár, ktorý obsahuje údaje PostgreSQL. Skontrolujte dostupné zariadenia vo vašom operačnom systéme pomocou nasledujúceho príkazu:
sudo fdisk -l
Ďalej vyberte príslušné zariadenie a spustite nasledujúci príkaz. Tu používame /dev/sdb zariadenie. Budete vyzvaní na potvrdenie akcie zadaním „ÁNO“ a potom zadajte prístupovú frázu.
Potom ho musíte zašifrovať pomocou LUKS spustením nasledujúceho príkazu:
Krok 3: Naformátujte kontajner
Pre vytvorený kontajner ho musíme naformátovať. Používame možnosť „mkfs.ext4“ spustením nasledujúceho kódu:
sudo mkfs.ext4 / dev / mapovač / postgres_encrypted
Krok 4: Namontujte nádobu
Ďalej pripojíme šifrovaný kontajner. Začnite vytvorením adresára v /mnt/ nasledovne:
sudo mkdir / mnt / postgresPo vytvorení adresára pokračujte a pripojte šifrovaný kontajner pomocou príkazu „mount“ a zadajte cestu.
sudo namontovať / dev / mapovač / postgres_encrypted / mnt / postgres /Krok 5: Presuňte údaje PostgreSQL
Zatiaľ sme vytvorili šifrovaný kontajner na ukladanie našich údajov PostgreSQL, ale ešte musíme údaje presunúť. Pred presunom údajov musíme zastaviť službu PostgreSQL.
sudo systemctl stop postgresqlAk chcete presunúť údaje PostgreSQL, spustite nasledujúci príkaz „copy“ a uistite sa, že ste ho skopírovali do adresára, ktorý sme vytvorili predtým:
sudo rsync -z / bol / lib / postgresql / mnt / postgresPotom zálohujte pôvodné údaje PostgreSQL ich presunutím do záložného umiestnenia.
sudo mv / bol / lib / postgresql / bol / lib / postgresql_backup
Potom musíte vytvoriť symbolický odkaz na adresár pre rýchly prístup.
to je všetko. Podarilo sa nám skopírovať a presunúť údaje PostgreSQL do nášho šifrovaného kontajnera na úrovni súborového systému, aby sme zabezpečili, že údaje sú v pokoji zabezpečené.
Krok 6: Upravte súbor PostgreSQL Config File
Data_directory v konfiguračnom súbore odráža vzácne umiestnenie údajov PostgreSQL. Musíme ho však upraviť tak, aby zodpovedal umiestneniu údajov PostgreSQL v zašifrovanom kontajneri, ktorý sme vytvorili. Otvorte teda konfiguračný súbor PostgreSQL pomocou textového editora. Nájdite sekciu data_directory. Než ho upravíme, zobrazí sa tak, ako je uvedené nižšie. Cesta sa môže líšiť v závislosti od verzie PostgreSQL nainštalovanej vo vašom systéme.
Zmeňte cestu tak, aby smerovala k zašifrovanému kontajneru, ktorý sme vytvorili v kroku 4. V našom prípade je nová cesta nasledovná:
Krok 7: Uložte, ukončite a reštartujte
Uložte a ukončite konfiguračný súbor PostgreSQL. Potom spustite alebo reštartujte PostgreSQL. Podarilo sa vám nastaviť šifrovanie údajov v pokoji v PostgreSQL.
To je všetko! PostgreSQL môžete naďalej bezpečne používať a užívať si nové šifrovanie na úrovni súborového systému.
Záver
Nastavenie pokojového šifrovania údajov v PostgreSQL zahŕňa určenie spôsobu šifrovania, ktorý sa má použiť, a jeho následné nastavenie. Vybrali sme šifrovanie TDE pomocou LUKS na nastavenie šifrovania na úrovni súborového systému. Okrem toho sme podrobne opísali každý krok, ktorý je potrebné vykonať pri jeho nastavení. To je všetko! Vyskúšajte to a postupujte podľa uvedených krokov.