DB2 ডেটাবেসে Data Encryption এবং SSL (Secure Sockets Layer) কনফিগারেশন অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলো ডেটার সুরক্ষা নিশ্চিত করে এবং ডেটাবেস কমিউনিকেশনকে নিরাপদ রাখে। DB2 এ Data Encryption এবং SSL ব্যবহারের মাধ্যমে, আপনি ডেটা সংরক্ষণ এবং ট্রান্সমিশনের সময় নিরাপত্তা বজায় রাখতে পারেন। এখানে DB2-তে Data Encryption এবং SSL কনফিগারেশন সম্পর্কে বিস্তারিত আলোচনা করা হলো।
Data Encryption হল একটি পদ্ধতি যার মাধ্যমে ডেটা এনক্রিপ্ট করা হয় যাতে তা অননুমোদিত ব্যক্তিদের কাছে পড়া বা পরিবর্তন করা সম্ভব না হয়। DB2 ডেটাবেসে, আপনি Data-at-Rest Encryption এবং Data-in-Transit Encryption দুটি ধরনের এনক্রিপশন ব্যবহার করতে পারেন।
Data-at-Rest Encryption ডেটাবেসে সংরক্ষিত ডেটাকে এনক্রিপ্ট করে, যাতে ডেটাবেস ফাইল বা ব্যাকআপ ফাইল অবৈধভাবে এক্সেস করা হলে ডেটা সুরক্ষিত থাকে।
DB2-তে Data-at-Rest Encryption কনফিগার করার জন্য আপনাকে Encryption Keys তৈরি এবং কনফিগার করতে হবে। DB2 11.1 এবং তার পরবর্তী সংস্করণে, Transparent Data Encryption (TDE) সমর্থিত।
TDE কনফিগারেশন উদাহরণ:
এনক্রিপশন কিপিং সক্রিয় করুন: DB2 ইনস্ট্যান্সের জন্য ENCRYPTION
ফিচার সক্রিয় করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
db2 update db cfg for <database_name> using ENCRYPTION on
ডেটাবেস এনক্রিপ্ট করা: ডেটাবেস তৈরি করার সময় অথবা বিদ্যমান ডেটাবেসে TDE সক্রিয় করা যাবে।
CREATE DATABASE <database_name> USING CODESET UTF-8 TERRITORY US ENCRYPTION ON;
ব্যাকআপ ফাইল এনক্রিপ্ট করা: ব্যাকআপ ফাইল তৈরি করার সময়, তা এনক্রিপ্ট করতে পারেন:
db2 backup db <database_name> to /path/to/backup encrypt
Data-in-Transit Encryption হল সেই পদ্ধতি, যার মাধ্যমে নেটওয়ার্কের মাধ্যমে চলমান ডেটা এনক্রিপ্ট করা হয়। এটি DB2-এ SSL (Secure Sockets Layer) বা TLS (Transport Layer Security) প্রোটোকল ব্যবহার করে সম্পন্ন হয়।
SSL/TLS এনক্রিপশন হল একটি নিরাপদ যোগাযোগ প্রোটোকল যা নেটওয়ার্কের মাধ্যমে ডেটার গোপনীয়তা এবং অখণ্ডতা নিশ্চিত করে। DB2-এ SSL কনফিগারেশন ব্যবহার করে আপনি সার্ভার এবং ক্লায়েন্টের মধ্যে সুরক্ষিত ডেটা ট্রান্সমিশন স্থাপন করতে পারেন।
DB2-এ SSL সক্রিয় করার জন্য আপনাকে প্রথমে সার্টিফিকেট তৈরি করতে হবে এবং SSL কনফিগারেশন সক্রিয় করতে হবে।
SSL সার্টিফিকেট তৈরি করা:
OpenSSL ব্যবহার করে সার্টিফিকেট তৈরি করুন: সার্টিফিকেট তৈরি করতে OpenSSL কমান্ড ব্যবহার করা যেতে পারে।
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout db2_server.key -out db2_server.crt
DB2 সার্টিফিকেট স্টোরে সার্টিফিকেট যোগ করা: DB2 সার্ভারের সার্টিফিকেট স্টোরে এই সার্টিফিকেট যোগ করতে হবে:
db2set DB2_SSL_KEYDB=<path_to_keydb_file>
db2set DB2_SSL_LABEL=<label_for_certificate>
SSL সক্ষম করার জন্য DB2 ইনস্ট্যান্সে SSL প্যারামিটার কনফিগার করতে হবে।
DB2 ইনস্ট্যান্স কনফিগারেশন আপডেট করুন:
db2 update db cfg for <instance_name> using SSL_SERVER_OWNED YES
db2 update db cfg for <instance_name> using SSL_CLIENT_AUTH NO
SSL সার্ভার সক্ষম করা: সার্ভারের SSL কনফিগারেশন সক্রিয় করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
db2set DB2_SSL_SERVER_OWNED=YES
ক্লায়েন্টের SSL কনফিগারেশনের জন্য, আপনাকে ক্লায়েন্টের SSL_KEYDB এবং SSL_LABEL প্যারামিটার সেট করতে হবে।
ক্লায়েন্ট কনফিগারেশন উদাহরণ:
ক্লায়েন্টে SSL সক্রিয় করুন:
db2set DB2_SSL_KEYDB=<path_to_client_keydb>
db2set DB2_SSL_LABEL=<label_for_client_certificate>
SSL কনফিগারেশন সঠিকভাবে কাজ করছে কি না, তা যাচাই করার জন্য, DB2 সার্ভারের লগ চেক করা যেতে পারে অথবা ক্লায়েন্ট এবং সার্ভারের মধ্যে SSL handshake সফলভাবে হয়েছে কিনা তা দেখতে হবে।
উদাহরণ:
ক্লায়েন্টের SSL সংযোগ পরীক্ষা করা: ক্লায়েন্ট অ্যাপ্লিকেশন বা db2cli
ব্যবহার করে SSL সংযোগ সফল হয়েছে কিনা তা পরীক্ষা করতে পারেন:
db2 connect to <database_name> user <username> using <password> ssl
Data Encryption এবং SSL কনফিগারেশন DB2 ডেটাবেসের জন্য অত্যন্ত গুরুত্বপূর্ণ নিরাপত্তা বৈশিষ্ট্য। Data-at-Rest Encryption ডেটা ফাইল বা ব্যাকআপ ফাইল সুরক্ষিত রাখে, এবং Data-in-Transit Encryption ডেটার নিরাপত্তা নিশ্চিত করে যখন তা নেটওয়ার্কের মাধ্যমে এক জায়গা থেকে অন্য জায়গায় ট্রান্সমিট হয়। SSL কনফিগারেশন ক্লায়েন্ট এবং সার্ভারের মধ্যে সুরক্ষিত সংযোগ স্থাপন করতে সাহায্য করে। DB2-তে এই সুরক্ষা ব্যবস্থা সঠিকভাবে কনফিগার করা হলে, ডেটাবেস ব্যবস্থাপনা আরও নিরাপদ এবং স্থিতিস্থাপক হয়।
common.read_more