MySQL MariaDB

Šifrování v klidu v MariaDB

Šifrování v klidu v MariaDB
Šifrování v klidu brání útočníkovi v přístupu k šifrovaným datům uloženým na disku, i když má přístup do systému. Open-source databáze MySQL a MariaDB nyní podporují funkci šifrování v klidu, která splňuje požadavky nové legislativy EU o ochraně údajů. Šifrování MySQL v klidu se mírně liší od MariaDB, protože MySQL poskytuje šifrování pouze pro tabulky InnoDB. Zatímco MariaDB také poskytuje možnost šifrování souborů, jako jsou opakované protokoly, pomalé protokoly, protokoly auditu, protokoly chyb atd. Oba však nemohou šifrovat data v paměti RAM a chránit je před škodlivým kořenem.

V tomto článku se naučíme konfigurovat šifrování na úrovni databáze pro MariaDB.

Začínáme

Šifrování dat v klidu vyžaduje šifrovací modul spolu se správou klíčů. Šifrovací plugin je zodpovědný za správu šifrovacího klíče i za šifrování / dešifrování dat.

MariaDB poskytuje tři řešení pro správu šifrovacích klíčů, takže to, jak vaše databáze spravují šifrovací klíč, závisí na použitém řešení. Tento kurz předvede šifrování na úrovni databáze pomocí řešení MariaDB File Key Management. Tento plugin však neposkytuje funkci rotace kláves.

Pokud používáte server LAMP, soubory pro přidání tohoto pluginu jsou umístěny v „/ Opt / lampa“ adresář. Pokud ne, provedou se změny v souboru „/ Etc / mysql / conf.d “ složku.

Vytváření šifrovacích klíčů

Před šifrováním databáze pomocí pluginu File key management plugin musíme vytvořit soubory obsahující šifrovací klíče. Vytvoříme soubor se dvěma informacemi. To je šifrovací klíč v hexadecimálním formátu spolu s identifikátorem 32bitového klíče.

Vytvoříme novou složku „Klíče“ v „/ Etc / mysql /“ adresář a pomocí nástroje OpenSSL náhodně vygenerujte 3 hexadecimální řetězce a přesměrujte výstup na nový soubor v adresáři klíče složku. Zadejte následující příkazy:

[chráněno e-mailem]: ~ $ sudo mkdir / etc / mysql / keys
[chráněno e-mailem]: ~ $ echo -n "1;" $ openssl rand hex 32> / etc / mysql / keys / enc_keys "
[chráněno e-mailem]: ~ $ echo -n "2;" $ openssl rand hex 32> / etc / mysql / keys / enc_keys "
[chráněno e-mailem]: ~ $ echo -n "3;" $ openssl rand hex 32> / etc / mysql / keys / enc_keys "

Kde 1,2,3 jsou identifikátory klíčů; zahrneme je k vytvoření odkazu na šifrovací klíče pomocí proměnné innodb_default_encryption_key_id v MariaDB. Výstupní soubor bude vypadat takto:

1; 01495ba35e1c9602e14e40bd6de41bb8
2; 3cffa4a5d288e90108394dbf639664f8
3; 9953297ed1a58ae837486318840f5f1d

Šifrování klíčových souborů

Můžeme snadno nastavit systémovou proměnnou file_key_management_filename s příslušnou cestou uvnitř pluginu File Key Management. Není však bezpečné nechat klíče v prostém textu. Můžeme riziko do určité míry snížit přidělením oprávnění k souboru, ale to nestačí.

Nyní zašifrujeme dříve vytvořené klíče pomocí náhodně generovaného hesla. Naproti tomu velikost klíče se může pohybovat od 128/192/256 bitů.

[chráněno e-mailem]: ~ $ openssl rand -hex 192> / etc / mysql / keys / enc_paswd.klíč

Proto budeme používat openssl příloha příkaz v terminálu k zašifrování enc_key.txt soubor do enc_key.příloha, pomocí šifrovacího klíče vytvořeného výše. Kromě toho MariaDB podporuje pouze šifrovací klíče CBC v režimu AES pro šifrování.

[chráněno e-mailem]: ~ $ openssl enc -aes-256-cbc -md sha1 -pass soubor: / etc / mysql / keys / enc_paswd.key -in / etc / mysql / keys / enc_key.txt -out / etc / mysql / keys / enc_key.enc && sudo rm / etc / mysql / keys / enc_key.txt

Také mazáme naše enc_keys.txt soubor, protože již není vyžadován. Kromě toho můžeme vždy dešifrovat naše data v MariaDB, pokud je náš soubor hesel zabezpečený.

Konfigurace pluginu pro správu klíčů souborů

Nyní nakonfigurujeme MariaDB pomocí pluginu File Key Management přidáním následujících proměnných do konfiguračního souboru. Konfigurační soubory jsou obvykle umístěny v '/ etc / mysql' a přečíst všechny .cnf soubory ve výchozím nastavení. Nebo můžete vytvořit nový konfigurační soubor „Mariadb_enc.CNF “ pod '/ etc / mysql / conf.d / adresář.

Nyní může váš konfigurační soubor vypadat úplně jinak. Přidejte však tyto proměnné šifrování pod [sqld]. Pokud je klíč šifrovaný, vyžaduje plugin ke konfiguraci dvě systémové proměnné, tj.E., file_key_management_filename a file_key_management_filekey.

[sqld]
# Plugin pro správu klíčů souborů
plugin_load_add = file_key_management
file_key_management = ON file_key_management_encryption_algorithm = aes_cbc file_key_management_filename = / etc / mysql / keys / enc_keys.příloha
file_key_management_filekey = / etc / mysql / keys / enc_paswd.klíč
# Nastavení šifrování InnoDB / XtraDB
innodb_default_encryption_key_id = 1
innodb_encrypt_tables = ZAPNUTO
innodb_encrypt_log = ZAPNUTO
innodb_encryption_threads = 4
# Nastavení šifrování Aria
aria_encrypt_tables = ZAPNUTO
# Temp & Log Encryption
encrypt-tmp-disk-tables = 1
encrypt-tmp-files = 1
encrypt_binlog = ZAPNUTO

Podrobnosti o každé systémové proměnné najdete na oficiálním webu MariaDB.

Zabezpečení souboru hesla

Změníme svá oprávnění k adresáři MySQL, abychom zabezpečili heslo a další citlivé soubory. Vlastnictví MariaDB bude změněno na aktuálního uživatele, kterým je v Ubuntu mysql.

sudo chown -R mysql: root / etc / mysql / keys
sudo chmod 500 / etc / mysql / keys /

Nyní změníme heslo a oprávnění šifrovaného souboru na

sudo chown mysql: root / etc / mysql / keys / enc_paswd.key / etc / mysql / keys / enc_key.příloha
sudo chmod 600 / etc / mysql / keys / enc_paswd.key / etc / mysql / keys / enc_key.příloha

Nyní restartujte databázovou službu.

sudo služba mysql restart

Závěr

Tento článek se dozvěděl, jak je šifrování na úrovni databáze potřeba hodiny a jak můžeme nakonfigurovat šifrování v klidu v MariaDB. Jedinou nevýhodou pluginu File Key Management je, že nepodporuje rotaci klíčů. Kromě tohoto pluginu však existuje mnoho dalších šifrovacích řešení pro správu klíčů, tj.E., AWS Key Management Plugin a Eperi Key Management Plugin. Další podrobnosti o těchto pluginech najdete na oficiálních stránkách MariaDB.

Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...
Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...
Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...