Encryption ao amin'ny MySQL: Master Key rotation

Eo am-piandrasana ny fanombohan'ny fisoratana anarana vaovao ho an'ny taranja "Database" manohy mamoaka lahatsoratra maromaro momba ny fanafenana ao amin'ny MySQL izahay.

Niresaka momba izany isika tao amin’ny lahatsoratra teo aloha tamin’ity andiany ity ny fomba fiasan'ny master key encryption. Androany, mifototra amin'ny fahalalana azo teo aloha, andeha hojerentsika ny fihodinan'ny fanalahidy fototra.

Ny fihodinan'ny lakilen'ny master dia misy ny famoronana fanalahidy master vaovao sy ny famerenana indray ny fanalahidin'ny tablespace (izay voatahiry ao amin'ny lohatenin'ny tablespace) miaraka amin'ity fanalahidy vaovao ity.

Andeha hotsaroantsika hoe tahaka ny ahoana ny lohatenin'ny tablespace misy encryption:

Encryption ao amin'ny MySQL: Master Key rotation

Avy amin'ny lahatsoratra teo aloha, fantatray fa ny mpizara dia mamaky ny lohatenin'ny latabatra misy miafina rehetra amin'ny fanombohana ary mahatsiaro ny ID KEY lehibe indrindra. Ohatra raha manana latabatra telo misy KEY isikaID = 3 ary latabatra iray misy KEYID = 4, dia ho 4 ny ID key ambony indrindra. Aleo atao hoe ID KEY - MAX KEY ID.

Ahoana ny fiasan'ny fihodinana fanalahidy master

1. Manatanteraka ALTER INNODB MASTER KEY ny mpampiasa.

2. Ny mpizara dia mangataka ny fanalahidin'ny famoronana fanalahidy vaovao miaraka amin'ny mpizara UUID sy KEYID mitovy amin'ny iray miampy MAXANDININ-ID. Noho izany dia mahazo master key id mitovy amin'ny INNODB izahayKEY-UUID-(MAXANDININ-ID + 1). Rehefa vita ny famokarana ny lakilen'ny master, ny MAX KEY ID dia ampitomboina iray (izany hoe MAXANDININ-ID=MAXANDININ-ID + 1).

3. Ny mpizara dia mijery ny habaka latabatra rehetra misy encryption miaraka amin'ny lakile master, ary isaky ny tablespace:

  • mametaka ny lakilen'ny tablespace miaraka amin'ny fanalahidy master vaovao;

  • manavao ny ID fanalahidy amin'ny MAX vaovaoANDININ-ID;

  • raha tsy mitovy amin'ny UUID mpizara ny UUID dia manavao ny UUID mpizara.

Araka ny fantatsika, ny ID Master Key ampiasaina amin'ny famadihana latabatra dia misy UUID sy ID KEY vakiana avy amin'ny lohatenin'ny tablespace. Ny ataonay izao dia ny fanavaozana ity vaovao ity ao amin'ny lohapejy fanafenana tablespace mba hahazoan'ny mpizara ny lakile master marina.

Raha manana tablespace avy amin'ny toerana samy hafa isika, toy ny backups samihafa, dia mety hampiasa fanalahidy master hafa izy ireo. Ireo fanalahidy master rehetra ireo dia mila alaina avy amin'ny tahiry rehefa manomboka ny mpizara. Mety hampiadana ny fanombohan'ny mpizara izany, indrindra raha misy fivarotana fanalahidy eo amin'ny lafiny mpizara no ampiasaina. Miaraka amin'ny fihodinana fanalahidin'ny master, dia amboary indray ny fanalahidin'ny tablespace miaraka amin'ny lakile master tokana izay mitovy amin'ny habaka latabatra rehetra. Ny mpizara izao dia tokony hahazo lakile master iray ihany amin'ny fanombohana.

Mazava ho azy fa vokany mahafinaritra fotsiny izany. Ny tanjona lehibe amin'ny fihodinana fanalahidy master dia ny hahatonga ny mpizara ho azo antoka kokoa. Raha toa ka nisy nangalatra tao amin'ny vault ny fanalahidin'ny master (ohatra, avy amin'ny Server Vault), dia azo atao ny mamorona fanalahidin'ny master vaovao ary manidy indray ny fanalahidin'ny tablespace, manafoana ny fanalahidy nangalatra. Salama izahay...saika.

Tao amin'ny lahatsoratra teo aloha, niresaka momba ny fomba nangalatra ny fanalahidin'ny tablespace iray aho, ny antoko fahatelo dia afaka mampiasa azy io hanesorana ny angon-drakitra. Raha toa ka misy ny fidirana amin'ny disky. Raha misy nangalatra ny fanalahidin'ny master ary afaka miditra amin'ny angon-drakitra voatahiry ianao, dia azonao atao ny mampiasa ny fanalahidin'ny master nangalarina mba hamongorana ny fanalahidin'ny tablespace sy hahazoana ny angon-drakitra voafafa. Araka ny hitanao dia tsy manampy amin'ity tranga ity ny fihodinan'ny fanalahidy master. Averinay encryption ny lakilen'ny tablespace miaraka amin'ny lakile master vaovao, fa ny tena lakile ampiasaina amin'ny encryption/decrypt ny data dia tsy miova. Noho izany, ny "hacker" dia afaka manohy mampiasa azy io amin'ny famoahana ny angon-drakitra. Teo aloha aho dia nanamarika izany Server Percona ho an'ny MySQL dia afaka manao ny tena tablespace re-encryption, fa tsy tsotra tablespace key re-encryption. Ity endri-javatra ity dia antsoina hoe kofehy fanafenana. Na izany aza, ity fampiasa ity dia mbola andrana amin'izao fotoana izao.

Mahasoa ny fihodinan'ny lakilen'ny master rehefa misy mangalatra ny lakile master, saingy tsy misy fomba ahafahan'ny mpanafika mampiasa azy sy mamadika ny fanalahidin'ny tablespace.

Misoratra anarana amin'ny lesona demo maimaim-poana.

Hamaky bebe kokoa:

Source: www.habr.com