MariaDB এর সাথে SSL/TLS এনক্রিপশন

MariaDB সিকিউরিটি এবং ইউজার ম্যানেজমেন্ট - মারিয়া ডিবি (MariaDB) - Database Tutorials

335

SSL/TLS এনক্রিপশন হল একটি নিরাপত্তা প্রোটোকল, যা ডেটা ট্রান্সমিশনকে এনক্রিপ্ট করে এবং এটি ব্যবহৃত হয় ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটাবেসের যোগাযোগ নিরাপদ করতে। MariaDB তে SSL/TLS এনক্রিপশন ব্যবহার করা হলে ডেটা ট্রান্সমিশনের সময় Man-in-the-middle (MITM) attacks থেকে রক্ষা পাওয়া যায় এবং ডেটা সুরক্ষিত থাকে।

MariaDB সার্ভার এবং ক্লায়েন্টের মধ্যে এনক্রিপ্টেড যোগাযোগ স্থাপন করতে SSL/TLS এর কনফিগারেশন প্রয়োজন।


SSL/TLS এনক্রিপশন কী?

SSL (Secure Socket Layer) এবং তার উত্তরসূরি TLS (Transport Layer Security) দুটি প্রোটোকলই ইন্টারনেটের উপর সুরক্ষিত যোগাযোগ প্রতিষ্ঠা করতে ব্যবহৃত হয়। এই প্রোটোকলগুলির মাধ্যমে ডেটা এনক্রিপ্ট করা হয়, অর্থাৎ ডেটা পাঠানোর সময় সেটি এমনভাবে কোড করা হয় যাতে অন্য কেউ সেই ডেটা পড়তে না পারে। MariaDB তে SSL/TLS ব্যবহার করে আপনি সার্ভার এবং ক্লায়েন্টের মধ্যে যোগাযোগকে সুরক্ষিত করতে পারেন।


MariaDB তে SSL/TLS কনফিগারেশন

১. SSL সার্টিফিকেট তৈরি করা

MariaDB তে SSL/TLS এনক্রিপশন সক্ষম করতে প্রথমে সার্টিফিকেট এবং কী ফাইল তৈরি করতে হবে। আপনি নিজস্ব self-signed certificates তৈরি করতে পারেন অথবা একটি CA-signed certificate ব্যবহার করতে পারেন। নিচে self-signed সার্টিফিকেট তৈরি করার একটি উদাহরণ দেয়া হল:

# সার্টিফিকেট তৈরি
openssl genpkey -algorithm RSA -out server-key.pem -pkeyopt rsa_keygen_bits:2048

# সার্টিফিকেট স্বাক্ষরিত করা (self-signed certificate)
openssl req -new -key server-key.pem -out server-req.pem
openssl x509 -req -in server-req.pem -signkey server-key.pem -out server-cert.pem

# ক্লায়েন্ট সার্টিফিকেট এবং কী তৈরি
openssl genpkey -algorithm RSA -out client-key.pem -pkeyopt rsa_keygen_bits:2048
openssl req -new -key client-key.pem -out client-req.pem
openssl x509 -req -in client-req.pem -signkey client-key.pem -out client-cert.pem

এগুলি তিনটি প্রধান ফাইল তৈরি করবে:

  • server-cert.pem: সার্ভারের সার্টিফিকেট
  • server-key.pem: সার্ভারের প্রাইভেট কী
  • client-cert.pem: ক্লায়েন্টের সার্টিফিকেট
  • client-key.pem: ক্লায়েন্টের প্রাইভেট কী

২. MariaDB কনফিগারেশন ফাইল আপডেট করা

এখন MariaDB সার্ভার কনফিগারেশন ফাইলে SSL সেটিংস যোগ করতে হবে। এটি করতে MariaDB এর কনফিগারেশন ফাইল my.cnf (অথবা my.ini Windows এ) এ নিচের কনফিগারেশন যুক্ত করুন:

[mysqld]
ssl-ca=/path/to/ca-cert.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem

এখানে, /path/to/ অংশটি আপনার সার্টিফিকেট এবং কী ফাইলের সঠিক পাথ দ্বারা প্রতিস্থাপন করতে হবে।

এছাড়া, ক্লায়েন্টের জন্যও SSL সেটিংস নির্ধারণ করা যেতে পারে:

[client]
ssl-ca=/path/to/ca-cert.pem
ssl-cert=/path/to/client-cert.pem
ssl-key=/path/to/client-key.pem

এটি ক্লায়েন্টে SSL ব্যবহারের জন্য নির্ধারণ করবে।


৩. MariaDB সার্ভার রিস্টার্ট করা

কনফিগারেশন পরিবর্তন করার পর, MariaDB সার্ভার রিস্টার্ট করতে হবে যাতে নতুন SSL সেটিংস কার্যকর হয়।

sudo systemctl restart mariadb

এটি MariaDB সার্ভারকে পুনরায় চালু করবে এবং SSL কনফিগারেশন প্রয়োগ হবে।


৪. SSL এনক্রিপশন যাচাই করা

MariaDB তে SSL সক্ষম করার পর, আপনি SHOW STATUS কমান্ড ব্যবহার করে SSL সংযোগ যাচাই করতে পারেন:

SHOW STATUS LIKE 'Ssl%';

এটি SSL সংযোগের স্ট্যাটাস দেখাবে, যেমন:

+--------------------------+----------------------+
| Variable_name            | Value                |
+--------------------------+----------------------+
| Ssl_cipher               | ECDHE-RSA-AES256-GCM-SHA384 |
| Ssl_cipher_list          | ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256 |
| Ssl_key                  | /path/to/server-key.pem |
| Ssl_cert                 | /path/to/server-cert.pem |
| Ssl_ca                   | /path/to/ca-cert.pem |
+--------------------------+----------------------+

এই আউটপুট থেকে আপনি দেখতে পাবেন যে SSL সেশন সক্রিয় আছে এবং সার্টিফিকেট ফাইলগুলির পাথ সঠিকভাবে কনফিগার করা হয়েছে।


৫. ক্লায়েন্ট থেকে SSL ব্যবহার করা

ক্লায়েন্টের পক্ষ থেকে SSL/TLS এনক্রিপশন ব্যবহার করতে, আপনি MariaDB ক্লায়েন্টে SSL ফ্ল্যাগ ব্যবহার করতে পারেন:

mysql -u username -p --ssl-ca=/path/to/ca-cert.pem --ssl-cert=/path/to/client-cert.pem --ssl-key=/path/to/client-key.pem

এটি ক্লায়েন্টের সংযোগ SSL এনক্রিপশন ব্যবহার করে করবে।


SSL/TLS এনক্রিপশন সম্পর্কিত কিছু নিরাপত্তা বৈশিষ্ট্য

  • Data Privacy: SSL/TLS এনক্রিপশন ডেটার গোপনীয়তা রক্ষা করে, অর্থাৎ শুধুমাত্র প্রেরক এবং গ্রাহক উক্ত ডেটা দেখতে পারে।
  • Data Integrity: এনক্রিপশন পদ্ধতি ডেটার সঠিকতা নিশ্চিত করে, যাতে ডেটা ট্রান্সমিশনের সময় কোনো ধরনের পরিবর্তন না হয়।
  • Authentication: SSL সার্টিফিকেট ব্যবহার করে, ক্লায়েন্ট এবং সার্ভার একে অপরকে যাচাই করতে পারে, যা ম্যান-ইন-দ্য-মিডল (MITM) আক্রমণ থেকে রক্ষা করে।

সারাংশ

MariaDB তে SSL/TLS এনক্রিপশন ব্যবহারের মাধ্যমে আপনি সার্ভার এবং ক্লায়েন্টের মধ্যে নিরাপদ ডেটা ট্রান্সমিশন নিশ্চিত করতে পারেন। এটি ডেটা সুরক্ষা বাড়ায় এবং সংযোগের সঠিকতা নিশ্চিত করে। SSL সার্টিফিকেট তৈরি, MariaDB কনফিগারেশন আপডেট, এবং ক্লায়েন্ট থেকে SSL ব্যবহারের মাধ্যমে আপনি MariaDB তে এনক্রিপ্টেড যোগাযোগ স্থাপন করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...