MySQL ۾ انڪرپشن: ماسٽر ڪيئي گردش

ڪورس لاءِ نئين داخلا جي شروعات جي توقع ۾ "ڊيٽابيس" اسان MySQL ۾ انڪرپشن بابت مضمونن جو سلسلو جاري رکون ٿا.

هن سلسلي جي پوئين مضمون ۾، اسان بحث ڪيو ماسٽر ڪيئي انڪرپشن ڪيئن ڪم ڪري ٿي. اڄ، اڳ ۾ حاصل ڪيل ڄاڻ جي بنياد تي، اچو ته مکيه ڪنجين جي گردش کي ڏسو.

ماسٽر ڪيئي گھمڻ ۾ شامل آھي نئين ماسٽر ڪيچ پيدا ڪرڻ ۽ ٽيبل اسپيس ڪيز (جيڪي ٽيبل اسپيس ھيڊرز ۾ محفوظ ٿيل آھن) کي ھن نئين ڪيچ سان ٻيهر انڪرپٽ ڪرڻ.

اچو ته ياد ڪريون ته هڪ اينڪرپٽ ٿيل ٽيبل اسپيس جو هيڊر ڪهڙو نظر اچي ٿو:

MySQL ۾ انڪرپشن: ماسٽر ڪيئي گردش

پوئين آرٽيڪل مان، اسان ڄاڻون ٿا ته سرور شروع ٿيڻ تي سڀني اينڪرپٽ ٿيل ٽيبل اسپيس جا هيڊر پڙهي ٿو ۽ سڀ کان وڏي KEY ID کي ياد ڪري ٿو. مثال طور جيڪڏهن اسان وٽ ٽي ٽيبل آهن KEY سانID = 3 ۽ KEY سان هڪ ٽيبلID = 4، پوءِ وڌ ۾ وڌ ڪيئي ID 4 ٿيندي. اچو ته ھن KEY ID - MAX KEY ID کي سڏين.

ماسٽر ڪيئي گردش ڪيئن ڪم ڪندو آهي

1. استعمال ڪندڙ ALTER INNODB ماسٽر ڪيئي تي عمل ڪري ٿو.

2. سرور ڪيئرنگ کي درخواست ڪري ٿو ته سرور UUID ۽ KEY سان نئين ماسٽر ڪيئي ٺاهيID برابر هڪ پلس MAXKEYID. تنهن ڪري اسان حاصل ڪريون ٿا ماسٽر ڪيئي id برابر INNODBKEY-UUID- (MAXKEYID + 1). ماسٽر ڪيئي جي ڪامياب نسل تي، MAX KEY ID هڪ کان وڌايو ويندو آهي (يعني MAXKEYID = MAXKEYID + 1).

3. سرور اسڪين ڪري ٿو سڀني ٽيبل اسپيسز کي انڪريپٽ ٿيل ماسٽر ڪيئي سان، ۽ هر ٽيبل اسپيس لاءِ:

  • نئين ماسٽر ڪيئي سان ٽيبل اسپيس ڪيچ کي انڪرپٽ ڪري ٿو؛

  • نئين MAX ۾ اهم id کي اپڊيٽ ڪري ٿوKEYID؛

  • جيڪڏهن UUID سرور UUID کان مختلف آهي ته پوءِ سرور UUID کي اپڊيٽ ڪريو.

جيئن ته اسان ڄاڻون ٿا، ماسٽر ڪيئي ID جيڪو ٽيبل کي ڊسڪ ڪرڻ لاء استعمال ڪيو ويندو آهي هڪ UUID ۽ ٽيبل اسپيس هيڊر مان پڙهيل هڪ KEY ID تي مشتمل آهي. جيڪو اسان ھاڻي ڪري رھيا آھيون ھن معلومات کي تازه ڪاري ڪري رھيا آھيون ٽيبل اسپيس انڪرپشن ھيڊر ۾ ته جيئن سرور صحيح ماسٽر ڪيئي حاصل ڪري.

جيڪڏهن اسان وٽ مختلف هنڌن تان ٽيبل اسپيسز آهن، جهڙوڪ مختلف بيڪ اپ، پوءِ اهي مختلف ماسٽر ڪيز استعمال ڪري سگهن ٿا. اهي سڀئي ماسٽر ڪيز کي ٻيهر حاصل ڪرڻ جي ضرورت پوندي مخزن مان جڏهن سرور شروع ڪيو ويندو. اهو سرور جي شروعات کي سست ڪري سگهي ٿو، خاص طور تي جيڪڏهن سرور-سائڊ ڪي اسٽور استعمال ڪيو وڃي. ماسٽر ڪيچ جي گھمڻ سان، اسان ٽيبل اسپيس ڪيز کي ھڪڙي ماسٽر ڪيز سان ٻيهر انڪرپٽ ڪريون ٿا جيڪو سڀني ٽيبل اسپيس لاءِ ساڳيو آھي. سرور کي هاڻي شروع ٿيڻ تي صرف هڪ ماسٽر ڪيئي حاصل ڪرڻ گهرجي.

اهو، يقينا، صرف هڪ خوشگوار ضمني اثر آهي. ماسٽر ڪيئي گردش جو بنيادي مقصد اسان جي سرور کي وڌيڪ محفوظ بڻائڻ آهي. انهي صورت ۾ ته ماسٽر ڪيچ ڪنهن به طرح والٽ مان چوري ڪئي وئي هئي (مثال طور، والٽ سرور مان)، اهو ممڪن آهي ته هڪ نئين ماسٽر ڪيچ ٺاهي ۽ ٽيبل اسپيس ڪيز کي ٻيهر انڪرپٽ ڪري، چوري ڪيل ڪيچ کي غلط ڪري. اسان محفوظ آهيون ... لڳ ڀڳ.

هڪ پوئين مضمون ۾، مون بابت ڳالهايو ته ڪيئن هڪ ڀيرو ٽيبل اسپيس ڪيچ چوري ٿي وڃي ٿي، هڪ ٽئين پارٽي ان کي استعمال ڪري سگهي ٿي ڊيٽا کي ڊسڪ ڪرڻ لاء. مهيا ڪيو ته اسان جي ڊسڪ تائين رسائي آهي. جيڪڏهن ماسٽر ڪيچ چوري ٿي وئي آهي ۽ توهان وٽ انڪرپٽ ٿيل ڊيٽا تائين رسائي آهي، توهان چوري ڪيل ماسٽر ڪيچ کي استعمال ڪري سگهو ٿا ٽيبل اسپيس ڪيچ کي ڊيڪرپٽ ڪرڻ ۽ ڊسڪ ٿيل ڊيٽا حاصل ڪرڻ لاءِ. جئين توهان ڏسي سگهو ٿا، ماسٽر چيڪ جي گردش هن معاملي ۾ مدد نه ڪندو آهي. اسان ٽيبل اسپيس ڪيئي کي نئين ماسٽر ڪيئي سان ٻيهر انڪرپٽ ڪندا آهيون، پر ڊيٽا کي انڪرپٽ/ڊيڪرپٽ ڪرڻ لاءِ استعمال ٿيندڙ اصل ڪيٻي ساڳي رهي ٿي. تنهن ڪري، "هيڪر" ان کي استعمال ڪرڻ جاري رکي سگهي ٿو ڊيٽا کي ختم ڪرڻ لاء. ان کان اڳ مون اشارو ڪيو MySQL لاءِ پرڪونا سرور صحيح ٽيبل اسپيس ري-انڪريپشن انجام ڏئي سگھي ٿو، نه رڳو سادي ٽيبل اسپيس ڪي ري-انڪريپشن. ھن خصوصيت کي انڪريپشن ٿريڊس چئبو آھي. بهرحال، هي ڪارڪردگي اڃا تائين تجرباتي آهي.

ماسٽر ڪيچ جي گردش ڪارائتو آهي جڏهن ماسٽر ڪيچ چوري ٿي وڃي، پر ان کي استعمال ڪرڻ ۽ ٽيبل اسپيس ڪيز کي ڊڪرپ ڪرڻ لاءِ حملو ڪندڙ لاءِ ڪو به طريقو ناهي.

مفت ڊيمو سبق لاءِ سائن اپ ڪريو.

وڌيڪ پڙهو:

جو ذريعو: www.habr.com