MySQL MariaDB

Šifriranje u mirovanju u MariaDB

Šifriranje u mirovanju u MariaDB
Encryption-at-rest onemogućava napadaču pristup šifriranim podacima pohranjenim na disku, čak i ako ima pristup sustavu. Otvorene baze podataka MySQL i MariaDB sada podržavaju značajku enkripcije u mirovanju koja udovoljava zahtjevima novog zakonodavstva EU o zaštiti podataka. MySQL enkripcija u mirovanju malo se razlikuje od MariaDB jer MySQL pruža šifriranje samo za InnoDB tablice. Dok MariaDB također nudi mogućnost šifriranja datoteka poput redo dnevnika, usporenih dnevnika, dnevnika revizije, dnevnika pogrešaka itd. Međutim, oboje ne mogu šifrirati podatke na RAM-u i zaštititi ih od zlonamjernog korijena.

U ovom ćemo članku naučiti konfigurirati šifriranje na razini baze podataka za MariaDB.

Početak rada

Šifriranje podataka u mirovanju zahtijeva dodatak za šifriranje zajedno s upravljanjem ključem. Dodatak za šifriranje odgovoran je za upravljanje ključem šifriranja kao i za šifriranje / dešifriranje podataka.

MariaDB nudi tri rješenja za upravljanje ključem šifriranja, pa način na koji baze podataka upravljaju ključem šifriranja ovisi o rješenju koje koristite. Ovaj će vodič pokazati šifriranje na razini baze podataka pomoću rješenja za upravljanje ključem datoteke MariaDB. Međutim, ovaj dodatak ne nudi značajku rotacije tipki.

Ako koristite LAMP poslužitelj, datoteke za dodavanje ovog dodatka nalaze se u “/ Opt / lampica” imenik. Ako nije, tada se promjene vrše u “/ Etc / mysql / conf.d ” mapu.

Stvaranje ključeva za šifriranje

Prije šifriranja baze podataka pomoću dodatka za upravljanje ključem datoteke, moramo stvoriti datoteke koje sadrže ključeve za šifriranje. Stvorit ćemo datoteku s dvije informacije. To je ključ za šifriranje u heksadecimalnom formatu zajedno s 32-bitnim identifikatorom ključa.

Stvorit ćemo novu mapu "Ključevi" u "/ Etc / mysql /" direktorij i koristite uslužni program OpenSSL za nasumično generiranje 3 hex niza i preusmjeravanje rezultata u novu datoteku u tipke mapu. Upišite sljedeće naredbe:

[zaštićena e-poštom]: ~ $ sudo mkdir / etc / mysql / keys
[zaštićena e-poštom]: ~ $ echo -n "1;" $ openssl rand hex 32> / etc / mysql / keys / enc_keys "
[zaštićena e-poštom]: ~ $ echo -n "2;" $ openssl rand hex 32> / etc / mysql / keys / enc_keys "
[e-pošta zaštićena]: ~ $ echo -n "3;" $ openssl rand hex 32> / etc / mysql / keys / enc_keys "

Gdje su 1,2,3 ključni identifikatori; uključujemo ih kako bismo stvorili referencu na ključeve šifriranja pomoću varijable innodb_default_encryption_key_id u MariaDB. Izlazna datoteka izgledat će ovako:

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

Šifriranje ključne datoteke

Sistemsku varijablu file_key_management_filename možemo jednostavno postaviti s odgovarajućom stazom unutar dodatka za upravljanje ključem datoteke. Ali nije sigurno ostaviti tipke u običnom tekstu. Dodjeljivanjem dozvola za datoteke možemo donekle smanjiti rizik, ali to nije dovoljno.

Sada ćemo šifrirati prethodno stvorene ključeve pomoću nasumično generirane lozinke. Suprotno tome, veličina tipke može varirati od 128/192/256-bita.

[e-mail zaštićen]: ~ $ openssl rand -hex 192> / etc / mysql / keys / enc_paswd.ključ

Stoga ćemo koristiti openssl enc naredba u terminalu za šifriranje enc_key.txt podnijeti na enc_key.enk, pomoću gore stvorenog ključa za šifriranje. Osim toga, MariaDB podržava CBC način rada AES samo za šifriranje svojih ključeva za šifriranje.

[zaštićena e-poštom]: ~ $ openssl enc -aes-256-cbc -md sha1 -pass datoteka: / etc / mysql / keys / enc_paswd.tipka -in / etc / mysql / keys / enc_key.txt -out / etc / mysql / keys / enc_key.enc && sudo rm / etc / mysql / keys / enc_key.txt

Također brišemo naše ključevi_enc.txt datoteku jer više nije potrebna. Osim toga, svoje podatke u MariaDB možemo uvijek dešifrirati sve dok je datoteka s lozinkom sigurna.

Konfiguriranje dodatka za upravljanje ključem datoteke

Sada ćemo konfigurirati MariaDB s dodatkom za upravljanje ključem datoteke dodavanjem sljedećih varijabli u konfiguracijsku datoteku. Datoteke za konfiguraciju obično se nalaze u '/ etc / mysql' i pročitajte sve .cnf datoteke prema zadanim postavkama. Ili možete stvoriti novu konfiguracijsku datoteku “Mariadb_enc.cnf " pod, ispod '/ etc / mysql / conf.d / imenik.

Sada vaša konfiguracijska datoteka može izgledati potpuno drugačije od ove. Međutim, dodajte ove varijable šifriranja pod [sqld]. Ako je ključ šifriran, dodatak zahtijeva dvije sistemske varijable za konfiguriranje, tj.e., file_key_management_filename i file_key_management_filekey.

[sqld]
#Datoteka za upravljanje ključevima datoteka
plug_load_add = upravljanje_datotekom_key_
file_key_management = UKLJUČENO file_key_management_encryption_algorithm = aes_cbc file_key_management_filename = / etc / mysql / keys / enc_keys.enk
file_key_management_filekey = / etc / mysql / keys / enc_paswd.ključ
# Postavljanje šifriranja InnoDB / XtraDB
innodb_default_encryption_key_id = 1
innodb_encrypt_tables = UKLJUČENO
innodb_encrypt_log = UKLJUČENO
innodb_encryption_threads = 4
# Postavljanje šifriranja Aria
aria_encrypt_tables = UKLJUČENO
# Temp & Log Encryption
encrypt-tmp-disk-tables = 1
encrypt-tmp-files = 1
encrypt_binlog = UKLJUČENO

Pojedinosti o svakoj varijabli sustava možete pronaći na službenim web stranicama MariaDB.

Osiguravanje datoteke lozinke

Promijenit ćemo dopuštenja MySQL direktorija kako bismo zaštitili lozinku i druge osjetljive datoteke. Vlasništvo nad MariaDB bit će promijenjeno u trenutnog korisnika, što je na Ubuntuu mysql.

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

Sada ćemo promijeniti lozinku i dozvole za šifriranu datoteku u

sudo chown mysql: root / etc / mysql / keys / enc_paswd.ključ / etc / mysql / keys / enc_key.enk
sudo chmod 600 / etc / mysql / keys / enc_paswd.ključ / etc / mysql / keys / enc_key.enk

Sada ponovo pokrenite uslugu baze podataka.

sudo usluga mysql ponovno pokretanje

Zaključak

Ovaj je članak naučio kako je šifriranje na razini baze podataka potrebno sat vremena i kako možemo konfigurirati enkripciju u mirovanju u MariaDB. Jedini nedostatak dodatka File Key Management je taj što ne podržava rotaciju ključa. Međutim, osim ovog dodatka, mnoga druga rješenja za šifriranje upravljanja ključem, tj.e., Dodatak za upravljanje ključevima AWS i Dodatak za upravljanje ključevima Eperi. Više detalja o ovim dodacima možete pronaći na službenoj web stranici MariaDB.

Kako koristiti AutoKey za automatizaciju Linux igara
AutoKey je uslužni program za automatizaciju radne površine za Linux i X11, programiran na Python 3, GTK i Qt. Koristeći njegovu skriptiranje i MACRO ...
Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...