Gaidot jaunas uzÅemÅ”anas sÄkumu kursÄ
IepriekÅ”ÄjÄ Å”Ä«s sÄrijas rakstÄ mÄs apspriedÄm
GalvenÄs atslÄgas rotÄcija ietver jaunas galvenÄs atslÄgas Ä£enerÄÅ”anu un tabulas vietas atslÄgu (kas tiek saglabÄtas tabulas laukuma galvenÄs) atkÄrtoti Å”ifrÄÅ”anu ar Å”o jauno atslÄgu.
AtcerÄsimies, kÄ izskatÄs Å”ifrÄtas tabulas vietas galvene:
No iepriekÅ”ÄjÄ raksta mÄs zinÄm, ka serveris palaiÅ”anas laikÄ nolasa visu Å”ifrÄto tabulu vietu galvenes un atceras lielÄko KEY ID. PiemÄram, ja mums ir trÄ«s tabulas ar KEYID = 3 un viena tabula ar KEYID = 4, tad maksimÄlais atslÄgas ID bÅ«s 4. Sauksim Å”o KEY ID - MAX KEY ID.
KÄ darbojas galvenÄs atslÄgas rotÄcija
1. LietotÄjs izpilda ALTER INNODB MASTER KEY.
2. Serveris pieprasa atslÄgu piekariÅam Ä£enerÄt jaunu galveno atslÄgu ar servera UUID un KEYID vienÄds ar vienu plus MAXKEYID. TÄtad mÄs iegÅ«stam galvenÄs atslÄgas ID, kas ir vienÄds ar INNODBKEY-UUID-(MAXKEYID + 1). PÄc veiksmÄ«gas galvenÄs atslÄgas Ä£enerÄÅ”anas MAX KEY ID tiek palielinÄts par vienu (t.i., MAXKEYID=MAXKEYID + 1).
3. Serveris skenÄ visas tabulu vietas, kas Å”ifrÄtas ar galveno atslÄgu, un katrai tabulas vietai:
-
Å”ifrÄ tabulas vietas atslÄgu ar jauno galveno atslÄgu;
-
atjaunina atslÄgas ID uz jauno MAXKEYID;
-
ja UUID atŔķiras no servera UUID, atjauniniet servera UUID.
KÄ zinÄms, galvenÄs atslÄgas ID, ko izmanto tabulas atÅ”ifrÄÅ”anai, sastÄv no UUID un KEY ID, kas nolasÄ«ts no tabulas vietas galvenes. Å obrÄ«d mÄs atjauninÄm Å”o informÄciju tabulas telpas Å”ifrÄÅ”anas galvenÄ, lai serveris saÅemtu pareizo galveno atslÄgu.
Ja mums ir tabulas vietas no dažÄdÄm vietÄm, piemÄram, dažÄdas dublÄjumkopijas, tÄs var izmantot dažÄdas galvenÄs atslÄgas. Visas Ŕīs galvenÄs atslÄgas bÅ«s jÄizgÅ«st no repozitorija, startÄjot serveri. Tas var palÄninÄt servera startÄÅ”anu, it Ä«paÅ”i, ja tiek izmantots servera puses atslÄgu krÄtuve. Izmantojot galvenÄs atslÄgas rotÄciju, mÄs atkÄrtoti Å”ifrÄjam tabulas vietas atslÄgas ar vienu galveno atslÄgu, kas ir vienÄda visÄm tabulu vietÄm. Tagad serverim startÄÅ”anas laikÄ jÄsaÅem tikai viena galvenÄ atslÄga.
Tas, protams, ir tikai patÄ«kams blakusefekts. GalvenÄs atslÄgas rotÄcijas galvenais mÄrÄ·is ir padarÄ«t mÅ«su serveri droÅ”Äku. GadÄ«jumÄ, ja galvenÄ atslÄga ir kaut kÄdÄ veidÄ nozagta no glabÄtuves (piemÄram, no Vault servera), ir iespÄjams Ä£enerÄt jaunu galveno atslÄgu un atkÄrtoti Å”ifrÄt tabulas vietas atslÄgas, padarot nozagto atslÄgu nederÄ«gu. MÄs esam droŔībÄ... gandrÄ«z.
IepriekÅ”ÄjÄ rakstÄ es runÄju par to, kÄ pÄc tabulas vietas atslÄgas nozagÅ”anas treÅ”Ä puse var to izmantot datu atÅ”ifrÄÅ”anai. Ar nosacÄ«jumu, ka ir piekļuve mÅ«su diskam. Ja galvenÄ atslÄga ir nozagta un jums ir piekļuve Å”ifrÄtajiem datiem, varat izmantot nozagto galveno atslÄgu, lai atÅ”ifrÄtu tabulas vietas atslÄgu un iegÅ«tu atÅ”ifrÄtos datus. KÄ redzat, galvenÄs atslÄgas pagrieÅ”ana Å”ajÄ gadÄ«jumÄ nepalÄ«dz. MÄs atkÄrtoti Å”ifrÄjam tabulas vietas atslÄgu ar jauno galveno atslÄgu, taÄu faktiskÄ atslÄga, kas tika izmantota datu Å”ifrÄÅ”anai/atÅ”ifrÄÅ”anai, paliek nemainÄ«ga. TÄpÄc "hakeris" var turpinÄt to izmantot, lai atÅ”ifrÄtu datus. IepriekÅ” es to minÄju
GalvenÄs atslÄgas rotÄcija ir noderÄ«ga, ja galvenÄ atslÄga tiek nozagta, taÄu uzbrucÄjs nevar to izmantot un atÅ”ifrÄt tabulas vietas atslÄgas.
LasÄ«t vairÄk:
Avots: www.habr.com