এটি কি মাইএসকিউএল সুবিধার একটি সাধারণ সেট?


9

স্থানীয় পরীক্ষার মোড়ক সেটআপে phpmyadmin ব্যবহার করা, এবং পাশাপাশি শিরোনামেও বলা হয়েছে যে 3 জন ব্যবহারকারীকে ব্যবহারকারী = কোন, পাসওয়ার্ড = না হিসাবে চিহ্নিত করা হয়েছে যেমন:

USER | HOST    | Password | Global Priv | Grant
-----+---------+----------+-------------+------
Any  | %       | No       | USAGE       | No
Any  | Local   | No       | USAGE       | No
Any  | Domain  | No       | USAGE       | No
-----+---------+----------+-------------+------

3 কোনও ব্যবহারকারীরই কোনও টেবিলের জন্য কোনও সুনির্দিষ্ট অধিকার নেই, তাই দেখা যাচ্ছে যে তারা বেশি কিছু করতে পারবেন না। স্পষ্টতই বলতে যে 'যে কোনও' ব্যবহারকারীর অন্য কোনও ব্যবহারকারীর গোষ্ঠীতে পড়ে না এমন কোনও ব্যবহারকারীর কোনও সুযোগ নেই, তা কি এই জেনেরিক সুরক্ষা পরিমাপের কিছু প্রকার?


এটি আসলে খুব ভাল প্রশ্ন কারণ mysql টি ডিফল্ট অনুমতি নিয়ে আসে যা প্রকাশিত হয় না। +1 !!!
রোল্যান্ডোমাইএসকিউএলডিবিএ

উত্তর:


6

বাস্তবে, এই তিনটি ব্যবহারকারীর অ্যাকাউন্টগুলি আসলে বেশ বিপজ্জনক। তারা ডাটাবেস পরীক্ষার জন্য একটি খুব বড় হুমকি।

দুর্ভাগ্যক্রমে, mysql পরীক্ষার ডাটাবেসে সম্পূর্ণ অ্যাক্সেসের সাথে আসে। আপনি কিভাবে এটি খুঁজে পেতে পারেন?

এই কোয়েরিটি চালান:

 SELECT user,host,db from mysql.db;

মাইএসকিএল ইনস্টল করার পরে, আপনি দুটি সারি দেখতে পাবেন যা 'টেস্ট' নামক কোনও ডাটাবেসে সম্পূর্ণ অ্যাক্সেস দেয় বা যাদের প্রথম 5 টি অক্ষর 'টেস্ট_' হয়।

কেন এটি একটি সমস্যা ???

এই আদেশটি চালানোর চেষ্টা করুন:

$ mysql -u'' -Dtest

আপনি পাসওয়ার্ড ছাড়াই পরীক্ষার ডাটাবেসটি সংযুক্ত করে ফেলবেন।

এখন, একটি সারণী তৈরি করুন এবং এটি একটি সারিতে লোড করুন:

CREATE TABLE mytable (a int);
INSERT INTO mytable VALUES (1);

ঠিক আছে, বড় ব্যাপার। আপনি এই টেবিলটি 30 বার আকারে দ্বিগুণ করতে পারবেন ???

INSERT INTO mytable SELECT * FROM mytable;
INSERT INTO mytable SELECT * FROM mytable;
... (30 times)
INSERT INTO mytable SELECT * FROM mytable;

তুমি কি পেলে ?? 1,073,741,824 সারি সহ একটি সারণী। সহজেই, 4 জিবি +

যে কোনও আকারের যেকোন টেবিল তৈরি করার কল্পনা করুন। পরীক্ষার ডাটাবেসে একগুচ্ছ সারণী তৈরি এবং ইচ্ছামত অবাধে অ্যাক্সেস সম্পর্কে কীভাবে?

এই পরিস্থিতিতে আপনি যে সর্বোত্তম কাজটি করতে পারেন তা হল এই কোয়েরিটি চালানো:

DELETE FROM mysql.db;

এবং mysql পুনরায় আরম্ভ করুন। তারপরে, এই তিনটি অ্যাকাউন্ট যথাযথভাবে নিষ্ক্রিয় করা হবে।

একবার চেষ্টা করে দেখো !!!

আপডেট ২০১১-০৯-২০১২ 10:00 ইডিটি

এটি মুছুন:

DELETE FROM mysql.db;
FLUSH PRIVILEGES;

আপনার প্রাথমিক ইনস্টলেশনের জন্য যা প্রয়োজন তা হ'ল। তবে আপনার যদি ইতিমধ্যে ব্যবহারকারীরা প্রতিষ্ঠিত থাকে তবে আপনি এটির পরিবর্তে এটি চালাতে পারেন:

DELETE FROM mysql.db WHERE db IN ('test','test_%');
FLUSH PRIVILEGES;

এটি নির্দিষ্ট দুটি ডিবি অনুমতিগুলি সরিয়ে ফেলবে।

আমি আমার উত্তরে যেমন উল্লেখ করেছি, তিনটি অনুমতি পরীক্ষা ডাটাবেসের জন্য অত্যন্ত বিপজ্জনক। এই ডিলিটিটি চালানো ডেটাবেসগুলির সম্পূর্ণ অধিকার থাকার জন্য সেই অ্যাকাউন্টগুলিকে নিরপেক্ষ করে তুলবে।


ব্যাখ্যার জন্য ধন্যবাদ, কিন্তু mysql.db থেকে কী মুছে ফেলা হবে এই 3 জন ব্যবহারকারী থেকে অন্য কিছু?
ক্রিস

@ ক্রিস - আমি আপনার মন্তব্যে সম্বোধনের জন্য 3 ঘন্টা আগে আমার উত্তর আপডেট করেছি।
রোল্যান্ডোমাইএসকিউএলডিবিএ

-1

এই অনামী অ্যাকাউন্ট অ্যাকাউন্ট রাখার বিপদ ইতিমধ্যে খুব ভালভাবে ব্যাখ্যা করা হয়েছে।

ম্যানুয়ালটি " প্রাথমিক মাইএসকিউএল অ্যাকাউন্টগুলি সুরক্ষিত করার" জন্য প্রয়োজনীয় পদক্ষেপগুলির বিশদ চেকের তালিকা সরবরাহ করে ।

বিশেষত, "বেনামে অ্যাকাউন্ট পাসওয়ার্ড নির্ধারণ করা" বিভাগটি এই অ্যাকাউন্টগুলি সরানোর পরামর্শ দেয়।

এছাড়াও, "সিকিউরিং টেস্ট ডাটাবেসগুলি" অধ্যায়টি পরামর্শ দেয়:

ডিফল্টরূপে, mysql.dbটেবিলটিতে এমন সারি রয়েছে যা কোনও ব্যবহারকারীর দ্বারা testডাটাবেস এবং অন্যান্য ডাটাবেসে প্রবেশের অনুমতি দেয় যা দিয়ে নাম শুরু হয় test_। (...) এর অর্থ হ'ল এই জাতীয় ডেটাবেসগুলি এমন কোনও অ্যাকাউন্ট দ্বারাও ব্যবহার করা যেতে পারে যা অন্যথায় কোনও সুযোগ-সুবিধা নেই। আপনি যদি পরীক্ষা-নিরীক্ষার ডাটাবেসে কোনও ব্যবহারকারীর অ্যাক্সেস সরাতে চান তবে নীচের মতো এটি করুন:

mysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';
mysql> FLUSH PRIVILEGES;

(...) পূর্ববর্তী পরিবর্তনের সাথে, কেবলমাত্র বৈশ্বিক ডাটাবেস সুযোগসুবিধা বা বিশেষাধিকার প্রাপ্ত পরীক্ষাগুলি পরীক্ষার ডাটাবেসের জন্য স্পষ্টভাবে মঞ্জুরিপ্রাপ্ত ব্যবহারকারীরা এটি ব্যবহার করতে পারবেন।

বিশেষত, উইন্ডোজবিহীন সিস্টেমে mysql_secure_installationস্ক্রিপ্টটি চালানোর পরামর্শ দেওয়া হয় । আমি বিশ্বাস করি যে উইন্ডোজ ইনস্টলারটি বেশ কয়েকটি ইনস্টলেশন প্রোফাইল দেয়। তাদের মধ্যে কিছু স্বয়ংক্রিয়ভাবে নিরাপত্তাহীন সেটিংস অক্ষম করবে। যদি তা না হয় তবে চেক তালিকাটি ম্যানুয়ালি চালানো দরকার।

তৃতীয় পক্ষের ইনস্টলারের যেমন ডাব্লুএএমপি-এর সাথে যত্ন নিতে হবে। অফিসিয়াল মাইএসকিউএল ম্যানুয়ালটিতে নির্দেশিত ডিফল্ট অনুমতিগুলি সর্বদা এই কাস্টমগুলিতে (ম্যানুয়ালের আওতার বাইরে "যেমন প্রয়োগ করা যায় না) অবশ্যই কোনও প্রোডাকশন সার্ভারের জন্য, ডাব্লুএএমএপি ইনস্টলেশন এবং পছন্দগুলি কোনও মূল্যে এড়ানো উচিত are ।


কেন এই উত্তর ডাউনভোট?
ব্যবহারকারী 12345
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.