ভূমিকা
"এই ব্লগ AlwaysOn Availability Group-সহ Transparent Data Encryption সেটআপ করার বিস্তারিত ধাপগুলো প্রদর্শন করে।"
SQL Server Transparent Data Encryption (TDE) প্রদান করে ফিজিক্যাল ফাইলগুলো এনক্রিপ্ট করতে কাস্টমারের সংবেদনশীল ডেটা সুরক্ষিত রাখতে। এটি SQL Server 2008-এ এন্টারপ্রাইজ এডিশন ফিচার হিসেবে পরিচিত করা হয়েছিল।
TDE নিচের SQL Server এডিশনগুলোর সাথে উপলব্ধ:
- SQL Server 2008, 2008 R2, 2012, 2014, 2016, 2017 (Evaluation, Developer, Enterprise)
SQL ভার্সন 2019 থেকে, TDE অধিকাংশ এডিশনে উপলব্ধ।
- SQL Server 2019 - Standard, Evaluation, Developer, Enterprise
নিচের সিন্যারিওগুলিতে AlwaysOn Availability Group-সহ TDE কনফিগার করার পদ্ধতি এক্সপ্লোর করি:
- TDE এনক্রিপ্টেড ডাটাবেস AG গ্রুপে যোগ করা।
- যে ডাটাবেস ইতিমধ্যে AG গ্রুপে আছে সেটিতে TDE কনফিগার করা।
- এক্সপায়ারড সার্টিফিকেট রোটেট করা
সিন্যারিও: TDE এনক্রিপ্টেড ডাটাবেস AG গ্রুপে যোগ করা
আমরা TDE সেটআপ করার জন্য টু-নোড AG ব্যবহার করছি এবং নিচের প্রক্রিয়া ধাপগুলো বিস্তারিত ব্যাখ্যা করে। সেকেন্ডারি স্টেপগুলো আপনার প্রতিটি সেকেন্ডারি রেপ্লিকায় অনুসরণ করুন (যদি ১টির বেশি সেকেন্ডারি থাকে)
- Primary Replica: node1
- Secondary Replica: node2
- AG Group: TDE_AG
টিপ: TDE ইমপ্লিমেন্ট করার আগে ডাটাবেস এরর-ফ্রি নিশ্চিত করতে DBCC CHECKDB চালান এবং ডাটাবেসের লেটেস্ট ফুল ব্যাকআপ নেওয়া সেরা অনুশীলন।
ধাপ ১: প্রাইমারি ইনস্ট্যান্স - মাস্টার কি তৈরি করুন
আপনি যদি প্রথমবার TDE-এর জন্য এনক্রিপ্ট করেন, তবে মাস্টার কি থাকা উচিত নয় এবং নিচের SQL কোনো রেজাল্ট সেট দেবে না।
এখন মাস্টার ডাটাবেসে মজবুত পাসওয়ার্ড ব্যবহার করে মাস্টার কি তৈরি করুন।
মাস্টার কি যাচাই করুন:
সেরা অনুশীলন হিসেবে মাস্টার কি একটি সুরক্ষিত লোকেশনে ব্যাকআপ নিন। ব্যাকআপের পাসওয়ার্ড মাস্টার কির পাসওয়ার্ড থেকে আলাদা হতে পারে।
ধাপ ২: প্রাইমারি ইনস্ট্যান্স - সার্টিফিকেট তৈরি করুন
ডাটাবেস এনক্রিপশন কি সুরক্ষিত করতে একটি সার্টিফিকেট তৈরি করুন। সার্টিফিকেটের ডিফল্ট এক্সপায়ারি ডেট ১ বছর। টিপ: সেরা অনুশীলন হিসেবে এক্সপায়ারি ডেট ৫ বছর সেট করুন কারণ ১ বছরে এক্সপায়ার হওয়া ভালো নয়।
নিচের TSQL ব্যবহার করে যাচাই করুন যে সার্টিফিকেট তৈরি হয়েছে।
ধাপ ৩: প্রাইমারি ইনস্ট্যান্স - ডাটাবেস এনক্রিপশন কি (DEK) তৈরি করুন
DEK তৈরি করুন যা একটি সিমেট্রিক কি其实际 ডাটাবেস কন্টেন্ট এনক্রিপ্ট করতে এবং উপলব্ধ AES অ্যালগরিদম ব্যবহার করে তৈরি করতে পারেন।
ধাপ ৪: প্রাইমারি ইনস্ট্যান্স - সার্টিফিকেট ব্যাকআপ নিন
সার্টিফিকেট এবং প্রাইভেট কি ব্যাকআপ নিন সেরা অনুশীলন হিসেবে। এর মাধ্যমে আপনি ডাটাবেস ব্যাকআপ ফাইল রিস্টোর করতে পারবেন বা ডাটাবেস ডেটা ফাইল অন্য SQL Server ইনস্ট্যান্সে আট্যাচ করতে পারবেন।
ধাপ ৫: সেকেন্ডারি ইনস্ট্যান্স - মাস্টার কি তৈরি করুন
সকল সেকেন্ডারি রেপ্লিকাতে ডাটাবেস মাস্টার কি তৈরি করুন যদি না থাকে, এটি প্রাইমারি ইনস্ট্যান্সের ধাপ ১-এর মতো। মাস্টার কি ইতিমধ্যে দুটি ইনস্ট্যান্সে ধাপ ১-এ তৈরি হয়েছে।
ধাপ ৬: সেকেন্ডারি ইনস্ট্যান্স - সেকেন্ডারি সার্টিফিকেট তৈরি করুন
প্রাইমারি রেপ্লিকা থেকে সকল সেকেন্ডারি রেপ্লিকাতে সার্টিফিকেট কপি করুন এবং প্রাইমারি রেপ্লিকার সার্টিফিকেট ব্যবহার করে সেকেন্ডারি রেপ্লিকাতে একটি সার্টিফিকেট তৈরি করুন।
আপনাকে প্রাইমারি রেপ্লিকাতে ব্যাকআপ এনক্রিপ্ট করতে ব্যবহৃত ডিক্রিপশন পাসওয়ার্ড নির্দিষ্ট করতে হবে।
ধাপ ৭: প্রাইমারি ইনস্ট্যান্স - TDE এনক্রিপশন সক্ষম করুন
প্রয়োজনীয় ডাটাবেসে TDE সক্ষম করতে নিচের কমান্ড কোয়ারি করুন চূড়ান্ত ধাপ হিসেবে।
এখন এনক্রিপশন প্রক্রিয়ার প্রগ্রেস মনিটর করুন এবং নিশ্চিত করুন স্টেট ৩ যা বোঝায় এনক্রিপশন সম্পন্ন।
নিচের কোয়ারি TDE সক্ষম করা ডাটাবেসের তালিকা দেখায়।
উপরোক্ত ফলাফল দেখাচ্ছে যে TDE TDE_DB ডাটাবেসে সক্ষম, এবং এনক্রিপশন স্টেট ৩ মানে ডাটাবেস সম্পূর্ণরূপে এনক্রিপ্টেড। ডিফল্টভাবে, যেকোনো ইউজার ডাটাবেসে TDE ব্যবহার করে এনক্রিপ্ট করলে tempdb স্বয়ংক্রিয়ভাবে এনক্রিপ্ট হয়।
ধাপ ৮: ডাটাবেস Availability Group-এ যোগ করুন
এনক্রিপ্টেড ডাটাবেস AG গ্রুপে যোগ করুন।
দ্রষ্টব্য: TDE এনক্রিপ্টেড ডাটাবেস Availability Group-এ যোগ করা SSMS-এ GUI অপশন সাপোর্ট করে না।
TSQL ব্যবহার করে ডাটাবেস AG গ্রুপে যোগ করতে হবে। প্রাইমারি রেপ্লিকাতে, TDE_Test ডাটাবেসের জন্য ফুল ব্যাকআপ, ট্রানজ্যাকশন লগ ব্যাকআপ নিন, এবং কপি করুন। সেকেন্ডারিতে NORECOVERY দিয়ে রিস্টোর করতে হবে।
ব্যাকআপ এবং রিস্টোর সম্পন্ন হলে, নিচের কমান্ডগুলো চালান ডাটাবেস Availability Group-এ যোগ করতে।
ধাপ ৯: AG হেলথ ভ্যালিডেশন
এখন ড্যাশবোর্ড এবং ম্যানুয়াল ফেইলওভার টেস্ট দিয়ে AG হেলথ চেক স্ট্যাটাস ভ্যালিডেট করুন যাতে নিশ্চিত হয় যে TDE সক্ষম করা আমাদের ডাটাবেস ঠিকমতো কাজ করছে।
সিন্যারিও: AG গ্রুপে ইতিমধ্যে বিদ্যমান ডাটাবেসে TDE কনফিগার করা
আমাদের প্রথম সিন্যারিওতে আলোচিত ধাপগুলো অনুসরণ করুন AG গ্রুপে ইতিমধ্যে যোগ করা ডাটাবেসে TDE সক্ষম করতে।
স্টেপ ১: Primary Instance - Create a Master Key
স্টেপ ২: Primary Instance - Create a Certificate
স্টেপ ৩: Primary Instance - Creation of Database Encryption Key (DEK)
স্টেপ ৪: Primary Instance - Backup the Certificate
স্টেপ ৫: Secondary Instance - Create a Master Key
স্টেপ ৬: Secondary Instance - Create Secondary Certificate
স্টেপ ৭: Primary Instance - Enabling TDE Encryption
স্টেপ ৯: AG health Validation
যেহেতু আমি ইতিমধ্যে মাস্টার কি এবং সার্টিফিকেট উভয় রেপ্লিকাতে পূর্বের সিন্যারিওতে তৈরি করেছি, আমরা স্টেপ ১,২,৪,৫,৬,৭ স্কিপ করতে পারি। আপনাকে শুধু DEK তৈরি করতে হবে এবং স্টেপ ৩ এবং ৭ থেকে TDE সক্ষম করতে হবে।
- Primary replica: node1
- Secondary replica: node2
- AG Group:TDE_AG
- AG database : Test_tde
- TDE Certificate : TDE_AG2021
স্টেপ ৩ এবং ৭ – প্রাইমারি ইনস্ট্যান্সে
এনক্রিপশন প্রক্রিয়ার প্রগ্রেস মনিটর করুন এবং নিশ্চিত করুন স্টেট ৩ যা বোঝায় এনক্রিপশন সম্পন্ন।
নিচের কোয়ারি দিয়ে TDE সক্ষম ডাটাবেস চেক করুন।
AG হেলথ চেক ভ্যালিডেট করুন এবং ফেইলওভার টেস্ট করুন সবকিছু ঠিকমতো কাজ করছে কিনা নিশ্চিত করতে।
সিন্যারিও: এক্সপায়ারড সার্টিফিকেট রোটেট করা
যখন আপনি লক্ষ্য করবেন যে TDE সার্টিফিকেট শীঘ্রই এক্সপায়ার হচ্ছে, সেরা অনুশীলন হিসেবে সার্টিফিকেট রোটেট করুন এমনকি এক্সপায়ারড সার্টিফিকেট ডাটাবেস রেগুলার অপারেশনে কোনো সমস্যা তৈরি করে না।
আমাদের TDE সার্টিফিকেটের এক্সপায়ারিং ডেট চেক করুন এবং SQL TDE সার্টিফিকেট রোটেট করার ধাপগুলো অনুসরণ করুন
স্টেপ ১: Primary Instance - একটি নতুন সার্টিফিকেট তৈরি করুন
স্টেপ ২: Primary Instance - সার্টিফিকেট ব্যাকআপ নিন
স্টেপ ৩: Secondary Instance - সেকেন্ডারি সার্টিফিকেট তৈরি করুন
স্টেপ ৪: Primary Instance - SQL TDE সার্টিফিকেট রোটেট করুন
Test_tde ডাটাবেসের এক্সপায়ারি ডেট যাচাই করুন:
স্টেপ ৫: AG health Validation:
পুরনো TDE সার্টিফিকেটগুলো কিছুক্ষণ সংরক্ষণ করুন পুরনো ব্যাকআপ রিস্টোর করতে। নতুন সার্টিফিকেট শুধু তখন ব্যবহার হবে যখন আপনি সার্টিফিকেট রোটেশনের পর থেকে ব্যাকআপ করা ডাটাবেস রিস্টোর করবেন।
উপসংহার
SQL Server Transparent Data Encryption (TDE) প্রদান করে ফিজিক্যাল ফাইলগুলো এনক্রিপ্ট করতে কাস্টমারের গোপন তথ্য সুরক্ষিত রাখতে। এই ব্লগে AlwaysOn availability group ডাটাবেসের জন্য TDE কনফিগার করার বিভিন্ন সিন্যারিও বর্ণনা করা হয়েছে।
ফিডব্যাক ট্যাব ব্যবহার করে মন্তব্য করুন বা প্রশ্ন জিজ্ঞাসা করুন। আপনি আমাদের সাথে কথা বলতে পারেন।