MySQL কমিউনিটি এবং এন্টারপ্রাইজ উভয়ের জন্য কী জেনারেশন স্ট্রিমলাইন করে সিকিউর সংযোগ সহজ করে দিয়েছে। এটি TLSv1.1 এবং TLSv1.2-এর জন্য সমর্থন বিড়িয়ে নিরাপত্তা বাড়িয়েছে। এটি অ্যাডমিনিস্ট্রেটরদের ক্লায়েন্ট সিকিউরলি সংযোগ করছে কিনা তা নির্ধারণে সহায়তা করে কানেকশন টাইপে বর্ধিত দৃষ্টিশক্তি দিয়ে।
সিকিউর সংযোগের এই গুরুত্বকে প্রসারিত করে MySQL সার্ভার একটি নতুন সার্ভার-সাইড কনফিগারেশন অপশন যোগ করেছে যা MySQL অ্যাডমিনিস্ট্রেটরদের সিকিউর ট্রান্সপোর্ট ব্যবহারকারী ক্লায়েন্টদের সাথে সংযোগ সীমাবদ্ধ করতে দেয়। সিকিউর ট্রান্সপোর্টের প্রয়োজনীয়তা বলার সময় প্রথমে যে প্রশ্নটি সমাধান করতে হয় সেটি হলো এটি কোন ধরনের ট্রান্সপোর্ট ব্যবহার করে।
সিকিউর ট্রান্সপোর্ট
নিচে যেসব ট্রান্সপোর্ট সিকিউর মনে করা হয় তাতে দেওয়া হলো:
SSL/TLS
Socket
Shared Memory
বিশেষভাবে, উইন্ডোজে নেমড পাইপ ট্রান্সপোর্ট ব্যবহার করে সংযোগগুলো সিকিউর মনে করা হয় না। এই সংযোগগুলো সাধারণত লোকালি করা হয়, এবং নেমড পাইপ সংযোগ রিমোটলিও করা যায়। কিন্তু এগুলো ডেটা এনক্রিপশন ছাড়া থাকে যা ওয়ায়ার 통해서 পাঠানো পেলোডকে প্রোটেক্ট করে।
--require_secure_transport কনফিগারেশন অপশন নতুন যোগ করা হয়েছে। এখানে বুলিয়ান অপশনের ডিফল্ট OFF। এর মানে 위에서 উল্লিখিত সাপোর্টেড প্রোটোকলগুলো ব্যবহার করে সংযোগগুলো এক্সেপ্ট করা হয়, যদি সেগুলো লিগ্যাসি আচরণের সাথে কনসিস্টেন্ট হয়। --require_secure_transport=ON সেট করলে সার্ভার নতুন সংযোগগুলো রিজেক্ট করবে যেগুলো উপরে দেখানো সংযোগ টাইপগুলো ব্যবহার করে না।
ইনসিকিউর সংযোগ
ইনসিকিউর সংযোগের কারণে রিজেক্ট হওয়া ক্লায়েন্টগুলো নিচের এরর পাবে:
উদাহরণ
D:\mysql-advanced-5.7.10-winx64>bin\mysql -uroot -P3310 --skip-ssl
আউটপুট
ERROR 3159 (HY000): Connections using insecure transport are prohibited while --require_secure_transport=ON.
অ্যাকাউন্ট-লেভেল রিকোয়ারমেন্টের সাথে ইন্টারঅ্যাকশন
MySQL নির্দিষ্ট অ্যাকাউন্টের জন্য TLS বাধ্যতামূলক করার সমর্থন করে। এটি CREATE বা ALTER USER কমান্ডে REQUIRE SSL ক্লজ যোগ করে করা হয়। নতুন --require_secure_transport অপশনটি এই অ্যাকাউন্ট-লেভেল রিকোয়ারমেন্টগুলোর সাথে গ্লোবাল লেভেলে সিকিউর ট্রান্সপোর্ট এনফোর্স করে।