এই ব্লগে, আমি CLE (সেল লেভেল এনক্রিপশন) প্রয়োগ করা হলে ডাটাবেস পুনরুদ্ধার এবং এনক্রিপ্ট করা ডেটা পুনরুদ্ধার করার প্রয়োজনীয় পদক্ষেপগুলি নিয়ে আলোচনা করেছি৷
ডেটা নিরাপত্তা ডাটাবেস ব্যবস্থাপনার একটি গুরুত্বপূর্ণ দিক। যখন আমরা সংবেদনশীল ডেটা এনক্রিপ্ট করি, তখন MS SQL সার্ভারে CLE, TDE, এবং Always Encrypted-এ এটি অর্জন করার অনেক উপায় রয়েছে। আপনি যখন শংসাপত্র বা কী ব্যবহার করে সেলের মধ্যে ডেটা এনক্রিপ্ট করেন, তখন এটি CLE (সেল লেভেল এনক্রিপশন) নামে পরিচিত।
সমস্যা:
- ত্রুটি:- আপনি যে সমস্যাগুলি দেখতে পারেন তার মধ্যে একটি হল অ্যাপ্লিকেশন বা কিছু TSQL কোড যা ডেটা ডিক্রিপ্ট করে নিম্নলিখিত ত্রুটি দেওয়া শুরু করে৷
- DecryptByKey ফাংশন ডেটা ডিক্রিপ্ট করতে সক্ষম নয়। এটি আপনাকে কোনও ত্রুটি দেবে না তবে এনক্রিপশন কী অনুপস্থিত থাকার কারণে কার্যকারিতা প্রভাবিত হবে৷
সমাধান
যেহেতু আমরা ডাটাবেস মাস্টার কী খুলিনি তাই ডেটার ডিক্রিপশন সম্ভব নয়, এছাড়াও DMK বর্তমান ইনস্ট্যান্স সার্ভিস মাস্টার কী দ্বারা এনক্রিপ্ট করা হয় না তাই আপনি এই জাতীয় সমস্যা দেখতে পান, আমাদের কাছে এটি সমাধান করার জন্য অনেকগুলি সমাধান রয়েছে, তাই আসুন একের পর এক সেগুলি সম্পর্কে কথা বলি .
কেস 1 - যখন ডাটাবেস মাস্টার কী এনক্রিপশন পাসওয়ার্ড জানা যায়৷
ধাপ 1:- পাসওয়ার্ড ব্যবহার করে ডাটাবেস মাস্টার কী খুলুন এবং ডেটা ডিক্রিপ্ট করুন।
ধাপ 2:- মনের মধ্যে একটি প্রশ্ন আসে প্রতি সেশনে পাসওয়ার্ড দিয়ে কী খোলার সম্ভাবনা নাকি আপনি এই হার্ডকোড করতে পারেন? উত্তর হল না, এই ধরনের ক্ষেত্রে, আপনি বর্তমান ইনস্ট্যান্স সার্ভিস মাস্টার কী দিয়ে ডাটাবেস মাস্টার কী পুনরায় এনক্রিপ্ট করবেন এবং স্ন্যাপশটে দেখানো নিম্নোক্ত কমান্ডগুলি চালাবেন।
ধাপ 3:- আপনি পাসওয়ার্ড দিয়ে কী না খুলেই ডেটা ডিক্রিপ্ট করতে পারেন কিনা তা পরীক্ষা করুন এবং উত্তর হল হ্যাঁ কারণ কী এখন বর্তমান পরিষেবা মাস্টার কী দ্বারা এনক্রিপ্ট করা হয়েছে৷
ধাপ 4:- আপনি যদি ডাটাবেস মাস্টার কী এনক্রিপশন পাসওয়ার্ড পরিবর্তন করতে চান তবে আপনাকে নিম্নলিখিত ধাপটি সম্পূর্ণ করতে হবে
কেস 2:যখন ডাটাবেস মাস্টার কী এনক্রিপশন পাসওয়ার্ড অজানা থাকে৷
যদি আপনি পাসওয়ার্ড সম্পর্কে সচেতন না হন এবং উত্স অ্যাক্সেসযোগ্য। পাসওয়ার্ড পরিবর্তন করার জন্য কেস1 থেকে ধাপ 4 ব্যবহার করুন এবং ধাপ 1-এ পদ্ধতি অনুসরণ করুন। অন্যথায় একটি বিকল্প হিসাবে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন।
এটি শুধুমাত্র তখনই সম্ভব যখন ডাটাবেস পুনরুদ্ধার করা হচ্ছে যেখানে অন্য কোন কী ব্যবহার করা হচ্ছে না কারণ এখানে জড়িত পদক্ষেপগুলি ইনস্ট্যান্স সার্ভিস মাস্টার কী পুনরুদ্ধার করছে।
উদাহরণ:- কিভাবে ইনস্ট্যান্স সার্ভিস মাস্টার কী ব্যাকআপ নিতে হয়।
– সার্ভিস মাস্টার কী এর ব্যাকআপ নিনBACKUP SERVICE MASTER KEY TO FILE = 'C:\Shared\service_master_key.key'
ENCRYPTION BY PASSWORD = 'key_P@ssw0rdGqw0956565’
দ্রষ্টব্য:- কী ব্যাকআপ ফাইলগুলি সুরক্ষার দৃষ্টিকোণ থেকে খুব সংবেদনশীল তাই SQL সার্ভারের ফাইলে অ্যাক্সেস রয়েছে তা নিশ্চিত করতে নিরাপত্তা ট্যাবে একটি SQL পরিষেবা অ্যাকাউন্ট যোগ করুন, অন্যথায় আপনি পুনরুদ্ধার প্রক্রিয়া চলাকালীন নিম্নলিখিত ত্রুটি পেতে পারেন৷
Msg 15317, Level 16, State 2, Line 53
The master key file does not exist or has invalid format
ধাপ 1:- ডেটাবেস পুনরুদ্ধার করার আগে পরিষেবা মাস্টার কী পুনরুদ্ধার করুন৷
ধাপ 2:- ডাটাবেস পুনরুদ্ধার করুন।
ধাপ 3:- আপনি পাসওয়ার্ড দিয়ে কী না খুলেই ডেটা ডিক্রিপ্ট করতে পারেন কিনা তা পরীক্ষা করুন এবং উত্তর হল হ্যাঁ কারণ কী একই পরিষেবা মাস্টার কী ব্যবহার করছে কারণ আমরা এটি দ্বারা এনক্রিপ্ট করা ইনস্ট্যান্স সার্ভিস কী এবং ডেটাবেস উভয়ই পুনরুদ্ধার করি৷
উপসংহার
এমএস এসকিউএল সার্ভারের প্রতিটি বস্তু যা এনক্রিপশনের জন্য ব্যবহৃত হয় তা ইনস্ট্যান্স লেভেল সার্ভিস মাস্টার কী দ্বারা সুরক্ষিত। এনক্রিপশন পরিচালনার জন্য এটি বোঝা গুরুত্বপূর্ণ যে এনক্রিপশনের সাথে জড়িত বস্তুগুলি আরও পাসওয়ার্ড, কী বা শংসাপত্র দ্বারা এনক্রিপ্ট করা হয়েছে।
প্রতিবার যখন আমরা সেল স্তরের ডেটা এনক্রিপশন সহ ডাটাবেস স্থানান্তর করি, আমাদের হয় কীটিকে ডিক্রিপ্ট করতে হবে এবং গন্তব্য ইনস্ট্যান্স সার্ভিস মাস্টার কী দিয়ে পুনরায় এনক্রিপ্ট করতে হবে বা উত্স ইনস্ট্যান্স মাস্টার কী পুনরুদ্ধার করতে হবে৷
কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। আপনি আমাদের সাথে একটি কথোপকথনও শুরু করতে পারেন৷
৷