কম্পিউটার টিউটোরিয়াল

MSSQL Server: সেল লেভেল এনক্রিপশন (CLE) সহ ডাটাবেস মাইগ্রেশন - একটি সুরক্ষিত গাইড

ভূমিকা

এই ব্লগে CLE (Cell Level Encryption) ইমপ্লিমেন্ট থাকলে ডাটাবেস রিস্টোর করা এবং এনক্রিপ্টেড ডেটা রিট্রিভ করার প্রয়োজনীয় ধাপগুলো আলোচনা করা হয়েছে।

ডেটা সিকিউরিটি ডাটাবেস ম্যানেজমেন্টের একটি ক্রিটিকাল দিক। যখন আমরা সংবেদনশীল ডেটা এনক্রিপ্ট করি, MS SQL Server-এ এটি অর্জনের অনেক পথ আছে CLE, TDE, এবং Always Encrypted-এর মতো। যখন আপনি সার্টিফিকেট বা কি ব্যবহার করে সেলের ভিতরে ডেটা এনক্রিপ্ট করেন, তখন এটি CLE (Cell Level Encryption) হিসেবে পরিচিত।

সমস্যা

  1. ERROR: - আপনি যে সমস্যাগুলো দেখতে পाয়েন उनमें একটি হল অ্যাপ্লিকেশন বা কিছু TSQL কোড যা ডেটা ডিক্রিপ্ট করে নিচের এরর দেয়।
  1. DecryptByKey ফাংশন ডেটা ডিক্রিপ্ট করতে পারছে না। এটি আপনাকে কোনো এরর দেবে না তবে এনক্রিপশন কি মিসিং থাকার কারণে ফাংশনালিটি প্রভাবিত হবে।

সমাধান

যেহেতু আমরা ডাটাবেস মাস্টার কি ওপেন করেনি তাই ডেটা ডিক্রিপ্ট করা সম্ভব নয়, এছাড়া DMK বর্তমান ইনস্ট্যান্স সার্ভিস মাস্টার কি দ্বারা এনক্রিপ্টেড নয় তাই এমন সমস্যা হয়, এই সমস্যাগুলো সমাধানের অনেক উপায় আছে, তাই এক এক করে আলোচনা করি।

কেস ১ - যখন ডাটাবেস মাস্টার কি এনক্রিপশন পাসওয়ার্ড জানা থাকে

স্টেপ ১: - পাসওয়ার্ড ব্যবহার করে ডাটাবেস মাস্টার কি ওপেন করুন এবং ডেটা ডিক্রিপ্ট করুন।

স্টেপ ২: - যে প্রশ্ন মানসিকভাবে আসে সেটি হল প্রতিটি সেশনে পাসওয়ার্ড দিয়ে কি ওপেন করার সম্ভাবনা অথবা আপনি এটি হার্ডকোড করতে পারেন? উত্তর হয় না, এই কেসগুলোর জন্য, আপনি ডাটাবেস মাস্টার কি রি-এনক্রিপ্ট করবেন বর্তমান ইনস্ট্যান্স সার্ভিস মাস্টার কি দিয়ে এবং নিচের কমান্ডগুলো চালাবেন যেন স্ন্যাপশটে দেখানো হয়েছে।

স্টেপ ৩: - চেক করুন পাসওয়ার্ড দিয়ে কি ওপেন করা ছাড়া ডেটা ডিক্রিপ্ট করা যায় কিনা এবং উত্তর হয় হ্যাঁ কারণ কি এখন বর্তমান সার্ভিস মাস্টার কি দিয়েও এনক্রিপ্টেড।

স্টেপ ৪: - যদি আপনি ডাটাবেস মাস্টার কি এনক্রিপশন পাসওয়ার্ড পরিবর্তন করতে চান তবে নিচের ধাপটি সম্পন্ন করতে হবে

কেস ২: যখন ডাটাবেস মাস্টার কি এনক্রিপশন পাসওয়ার্ড অজানা

যদি আপনি পাসওয়ার্ড সম্পর্কে অবগত না হন এবং সোর্স এক্সেসযোগ্য থাকে। কেস ১-এর স্টেপ ৪ ব্যবহার করে পাসওয়ার্ড পরিবর্তন করুন এবং স্টেপ ১-এ বর্ণিত প্রক্রিয়া অনুসরণ করুন। অন্যথায় বিকল্প হিসেবে নিচের ধাপগুলো ব্যবহার করুন।
এটি শুধু তখন সম্ভব যখন ডাটাবেস রিস্টোর হচ্ছে এমন ইনস্ট্যান্সটি অন্য কোনো কি ব্যবহার করছে না কারণ এখানে ইনস্ট্যান্স সার্ভিস মাস্টার কি রিস্টোর করা জড়িত।

উদাহরণ - ইনস্ট্যান্স সার্ভিস মাস্টার কির ব্যাকআপ কীভাবে নেবেন

– সার্ভিস মাস্টার কির ব্যাকআপ নিন BACKUP SERVICE MASTER KEY TO FILE = 'C:\Shared\service_master_key.key' ENCRYPTION BY PASSWORD = 'key_P@ssw0rdGqw0956565’

দ্রষ্টব্য: - কি ব্যাকআপ ফাইলগুলো সিকিউরিটি পারসপেক্টিভ থেকে খুব সংবেদনশীল তাই সিকিউরিটি ট্যাবে SQL সার্ভিস অ্যাকাউন্ট যোগ করুন যাতে SQL Server ফাইলটি এক্সেস করতে পারে, না হলে রিস্টোরিং প্রক্রিয়ার সময় নিচের এরর হতে পারে।

Msg 15317, Level 16, State 2, Line 53
The master key file does not exist or has invalid format

স্টেপ ১: - ডাটাবেস রিস্টোর করার আগে সার্ভিস মাস্টার কি রিস্টোর করুন।

স্টেপ ২: - ডাটাবেস রিস্টোর করুন।

স্টেপ ৩: - চেক করুন পাসওয়ার্ড দিয়ে কি ওপেন করা ছাড়া ডেটা ডিক্রিপ্ট করা যায় কিনা এবং উত্তর হয় হ্যাঁ কারণ কি একই সার্ভিস মাস্টার কি ব্যবহার করছে যেটি আমরা রিস্টোর করেছি।

উপসংহার

MS SQL Server-এ এনক্রিপশনের জন্য ব্যবহৃত প্রতিটি অবজেক্ট ইনস্ট্যান্স লেভেল সার্ভিস মাস্টার কি দ্বারা সিকিউর থাকে। এনক্রিপশন ম্যানেজ করার জন্য এটি বোঝা গুরুত্বপূর্ণ যে এনক্রিপশনে জড়িত অবজেক্টগুলো আরও পাসওয়ার্ড, কি বা সার্টিফিকেট দ্বারা এনক্রিপ্টেড।
প্রতিবার সেল লেভেল ডেটা এনক্রিপশন সহ ডাটাবেস মাইগ্রেট করার সময়, আমাদের কি ডিক্রিপ্ট করে ডেস্টিনেশন ইনস্ট্যান্স সার্ভিস মাস্টার কি দিয়ে রি-এনক্রিপ্ট করতে হবে অথবা সোর্স ইনস্ট্যান্স মাস্টার কি রিস্টোর করতে হবে।

ফিডব্যাক ট্যাব ব্যবহার করে মন্তব্য করুন বা প্রশ্ন জিজ্ঞাসা করুন। আপনি আমাদের সাথে কথা বলতে পারেন।

  1. Transparent Data Encryption (TDE) দিয়ে আপনার Oracle ডেটাবেস কুঁড়ে দিন

  2. মাইক্রোসফট SQL সার্ভারে উন্নত ক্ষতিগ্রস্ত ডেটাবেস শনাক্তকরণ ও পুনরুদ্ধার

  3. সহজ মাইগ্রেশন: MS Access ডেটা SQL Server 2014-এ স্থানান্তর করুন

  4. 分步指南:在Windows Server 2016上配置带自定义预共享密钥的安全L2TP VPN服务器