Root User MySQL বা MariaDB ডাটাবেসের সর্বোচ্চ ক্ষমতাসম্পন্ন ব্যবহারকারী। Root User ডাটাবেসের সম্পূর্ণ নিয়ন্ত্রণ রাখতে পারে, যার মধ্যে ডাটাবেস তৈরি, মুছে ফেলা, টেবিল মডিফাই করা, এবং অন্যান্য ব্যবহারকারীদের জন্য অনুমতি সেট করা অন্তর্ভুক্ত। যদিও এটি একটি শক্তিশালী অ্যাকাউন্ট, এটি নিরাপত্তার জন্য একটি ঝুঁকি হতে পারে যদি সঠিকভাবে কনফিগার বা সুরক্ষিত না করা হয়।
Root User-এর ভূমিকা
- সম্পূর্ণ নিয়ন্ত্রণ:
Root User-এর মাধ্যমে সমস্ত ডাটাবেস এবং টেবিলে সম্পূর্ণ অ্যাক্সেস পাওয়া যায়। - ব্যবহারকারী এবং অনুমতি নিয়ন্ত্রণ:
Root User নতুন ব্যবহারকারী তৈরি, তাদের অনুমতি নির্ধারণ, এবং প্রয়োজন হলে মুছে ফেলতে পারে। - সার্ভার প্রশাসন:
এটি সার্ভারের বিভিন্ন অ্যাডমিনিস্ট্রেটিভ কাজ যেমন ডাটাবেস ব্যাকআপ, পুনরুদ্ধার, এবং ডাটাবেস সার্ভার কনফিগার করার ক্ষমতা রাখে।
Root User নিরাপত্তার প্রয়োজনীয়তা
Root User সর্বোচ্চ ক্ষমতাসম্পন্ন হওয়ায় এটি নিরাপত্তার জন্য একটি প্রধান লক্ষ্য। সঠিকভাবে সুরক্ষিত না থাকলে ডেটা লিক, সার্ভার হ্যাকিং, বা গুরুত্বপূর্ণ তথ্যের ক্ষতির মতো ঝুঁকি তৈরি হতে পারে।
১. Default Root User এবং পাসওয়ার্ড
- PHPMyAdmin-এ ডিফল্ট Root User সাধারণত
rootএবং পাসওয়ার্ড ফাঁকা থাকে। এটি একটি বড় নিরাপত্তা ঝুঁকি তৈরি করে।
২. Root User এর অপ্রয়োজনীয় ব্যবহার
- সরাসরি Root User ব্যবহার করা ঝুঁকিপূর্ণ, বিশেষত প্রোডাকশন সার্ভারে। এর পরিবর্তে নির্দিষ্ট কাজের জন্য নির্ধারিত অনুমতি সহ নতুন ব্যবহারকারী তৈরি করা উচিৎ।
৩. Root User-এর অ্যানোনিমাস অ্যাক্সেস
- যদি Root User সরাসরি PHPMyAdmin এর মাধ্যমে সুরক্ষিত না থাকে, তবে এটি হ্যাকারদের জন্য একটি সহজ লক্ষ্য হতে পারে।
Root User এর নিরাপত্তা নিশ্চিত করার ধাপ
১. পাসওয়ার্ড নির্ধারণ করুন
- ডিফল্ট Root User-এর জন্য একটি শক্তিশালী পাসওয়ার্ড সেট করুন।
পাসওয়ার্ড সেট করার জন্য নিচের কমান্ড ব্যবহার করতে পারেন:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_secure_password';
২. Remote Access নিষিদ্ধ করুন
- Root User-এর মাধ্যমে দূরবর্তী অ্যাক্সেস (remote login) নিষিদ্ধ করুন।
/etc/mysql/my.cnfফাইলে[mysqld]সেকশনে নিচের লাইন যোগ করুন:bind-address = 127.0.0.1
৩. নতুন অ্যাডমিন অ্যাকাউন্ট তৈরি করুন
Root User এর পরিবর্তে একটি নতুন অ্যাডমিন ব্যবহারকারী তৈরি করুন, যেটি নির্দিষ্ট কাজের জন্য ব্যবহার করা হবে:
CREATE USER 'admin_user'@'localhost' IDENTIFIED BY 'admin_password'; GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost' WITH GRANT OPTION;
৪. PHPMyAdmin-এ Root User নিষ্ক্রিয় করুন
- PHPMyAdmin থেকে সরাসরি Root User অ্যাক্সেস নিষ্ক্রিয় করতে পারেন।
config.inc.phpফাইলেauth_typeপরিবর্তন করে সেট করুন:$cfg['Servers'][$i]['auth_type'] = 'cookie';
৫. Firewall এবং IP রেস্ট্রিকশন যুক্ত করুন
শুধু নির্দিষ্ট IP থেকে PHPMyAdmin অ্যাক্সেস অনুমোদিত করতে
.htaccessফাইল ব্যবহার করুন:<Directory /usr/share/phpmyadmin> Order Deny,Allow Deny from all Allow from 127.0.0.1 </Directory>
৬. Two-Factor Authentication (2FA) ব্যবহার করুন
- Root User-এর জন্য 2FA ব্যবহার করলে নিরাপত্তা আরও শক্তিশালী হবে।
৭. লগিং এবং মনিটরিং চালু রাখুন
- Root User-এর মাধ্যমে সমস্ত অ্যাক্টিভিটি মনিটর করুন।
MySQL লগিং চালু করতে:
general_log_file = /var/log/mysql/mysql.log general_log = 1
Root User এর বিকল্প ব্যবস্থা
- বিশেষ কাজের জন্য নতুন ব্যবহারকারী তৈরি করুন
নির্দিষ্ট টেবিল বা ডাটাবেসের জন্য সীমিত অনুমতি সহ ব্যবহারকারী তৈরি করুন:
GRANT SELECT, INSERT, UPDATE ON database_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'password';
- Root User সরাসরি ব্যবহারের পরিবর্তে অন্য অ্যাডমিন অ্যাকাউন্ট ব্যবহার করুন
- Root User-এর কাজ কমিয়ে নতুন অ্যাডমিন ব্যবহারকারী তৈরি করা উচিত।
সারাংশ
Root User MySQL বা MariaDB ডাটাবেস ম্যানেজমেন্টের জন্য অত্যন্ত গুরুত্বপূর্ণ হলেও এটি নিরাপত্তার জন্য একটি ঝুঁকিপূর্ণ ব্যবহারকারী। শক্তিশালী পাসওয়ার্ড, রিমোট অ্যাক্সেস নিষিদ্ধ করা, এবং নতুন অ্যাডমিন অ্যাকাউন্ট তৈরি করার মাধ্যমে Root User নিরাপদ রাখা সম্ভব। PHPMyAdmin-এ Root User ব্যবহারের পরিবর্তে নির্দিষ্ট কাজের জন্য সীমিত অনুমতি সহ ব্যবহারকারী তৈরি করা একটি উত্তম ব্যবস্থা। Root User-এর অ্যাক্টিভিটি লগিং এবং মনিটরিংও নিরাপত্তা নিশ্চিত করতে সহায়তা করে।
Read more