SELinux- এর মাধ্যমে আমি কীভাবে মাইএসকিউএল সংযোগগুলি অনুমতি দেব?


21

কথিত বর্ধিত সুরক্ষার জন্য আমি একবার SELinux একটি সার্ভারে চলতে চাই।
কিছু কাজ করার জন্য আমি সাধারণত সেলইনাক্সকে অক্ষম করি।
আমি সেলইনাক্সকে কীভাবে মাইএসকিউএল সংযোগের অনুমতি দিতে বলব?
ডকুমেন্টেশনে সর্বাধিক আমি সন্ধান করেছি মাইএসকিএল.কম থেকে এই লাইনটি:

আপনি যদি লিনাক্সের অধীনে চলতে থাকেন এবং সুরক্ষা-বর্ধিত লিনাক্স (এসইএলিনাক্স) সক্ষম করা থাকে, তা নিশ্চিত করুন যে আপনি মাইএসকিএলডি প্রক্রিয়াটির জন্য SELinux সুরক্ষা অক্ষম করেছেন।

বাহ ... এটা সত্যিই সহায়ক।


1
আপনাকে সাহায্য করার সুযোগ পেতে দয়া করে নীচের সমস্ত তথ্য সরবরাহ করুন। ১. লিনাক্স ডিস্ট্রো এবং সংস্করণ, ২. মাইএসকিউএল সংস্করণ এবং ইনস্টলেশন উত্স, ৩. অস্বীকৃত সংযোগ থেকে অ্যাভিসি লগ এন্ট্রি, ৪. প্রাসঙ্গিক মাইএসকিউএল লগগুলি, যদি কোন 5. ৫ এর আউটপুট getsebool -a | grep mysql6.. আপনি পুনরুত্পাদন করার জন্য সঠিক পদক্ষেপ নিয়েছেন
হোবডেভ

উত্তর:


40

SELinux চেক করতে

sestatus

Httpd প্রক্রিয়াগুলিতে কি পতাকা সেট করা আছে তা দেখতে

getsebool -a | grep httpd

সেল্টাক্সের মাধ্যমে অ্যাপাচিকে দূরবর্তী ডাটাবেসে সংযোগ করার অনুমতি দেওয়ার জন্য

setsebool httpd_can_network_connect_db 1

ব্যবহার-পি বিকল্প পরিবর্তন স্থায়ী করে তোলে। এই বিকল্পটি ছাড়াই, বুলেটটি পুনরায় বুট করার সময় 0 এ পুনরায় সেট করা হবে।

setsebool -P httpd_can_network_connect_db 1

3
127.0.0.1 লুপব্যাকের মাধ্যমেও সংযোগ করার সময় প্রয়োজনীয় বলে মনে হচ্ছে?
ডেভিন Ceartas

@ ডেভিন, অবশ্যই
18 ই

2
আপনি যদি ব্যবহারকারীদের স্থানীয় মাইএসকিএল সার্ভারের সাথে সংযোগ স্থাপনের অনুমতি দিতে চান তবে আপনাকে অবশ্যই সেলিনাক্সুজার_মিজিকিএল_কনেক্ট_নবল করা বুলিয়ানটি চালু করতে হবে।
আন্তন মাকোভেস্কি

setsebool -P httpd_can_network_connect 1এছাড়াও প্রয়োজন হতে পারে। এটি আমার লগগুলিতে ausearch -m avc -ts today | audit2whyvnix27 দ্বারা একটি মন্তব্যে প্রস্তাবিত হিসাবে চালিয়ে পরামর্শ দেওয়া হয়েছিল।
সাইট

2

আপনি যদি কোনো ত্রুটি পেতে পারি? আপনি কি লিনাক্সের স্বাদ ব্যবহার করছেন? আপনি যদি কোনও ত্রুটি পেয়ে থাকেন তবে সুরক্ষা প্রসঙ্গটি শুরু করার জন্য ভাল জায়গা। ls -Z প্রসঙ্গ দেবে ... তবে আপনার প্রশ্নটি খুব অস্পষ্ট।


আমি একটি উইন্ডোজ বক্স থেকে সংযোগ করছি। কোনও ত্রুটি নেই ... সংযোগটি কেবল অস্বীকার করা হয়েছে এবং পৃষ্ঠাটি শেষ হয়ে গেছে। আমি জানি যদি আমি সেলিনাক্স বন্ধ করি তবে সব ঠিক হয়ে যাবে।

যেহেতু একটি উইন্ডোজ বাক্স থেকে সংযোগটি আগমন করছে, ls -Z কেবলমাত্র লিনাক্স বাক্সে আমি যে কোনও ডিরেক্টরিতে আছি ফাইলগুলির ফাইল সম্পর্কে তথ্য দেয়।

উপরের আমার প্রশ্নে আমি একটি মাইএসকিএল রেফারেন্স উদ্ধৃত করেছিলাম ... যা মাইএসকিএলড প্রক্রিয়াটির জন্য সেলিনাক্স সুরক্ষা অক্ষম করতে বলেছিল ... তবে এটি কীভাবে করা যায় তা বলে না :( আমি কীভাবে জানতে পারি না।

লিনাক্স বক্সে লগ কিছু আছে?

বার্তা বা সুরক্ষিত লগগুলিতে কিছুই নেই ... আপনার মনে যে কোনও বিশেষ লগ রয়েছে?

1

দৃশ্যত সেলিনাক্স কনফিগার করা তুচ্ছ নয়। আপনি এখানে শুরু করতে ইচ্ছুক হতে পারে ।

setenforce 0

সেলিনাক্সকে অনুমতিযোগ্য মোডে রাখে, যেখানে এটি যা কিছু অনুমতি দেয় তা লগ করে দেয় যা এটি অনুমতি দিচ্ছে। একটি রিবুট বা

setenforce 1

নীতিটি যা অনুমতি দেয় না তা অবরুদ্ধ করে ফিরে আসে।

ফেডোরায় মাইএসকিউএল-এর জন্য এই সেলিনাক্স নীতি দস্তাবেজগুলি দেখুন


1

আপনি কি নিশ্চিত যে এটি সেলিনাক্স? বাইরে থেকে সাধারণ সংযোগগুলি সেলিনাক্সের দ্বারা অনুমোদিত হওয়া উচিত। সুতরাং এটি ফায়ারওয়ালও হতে পারে। আপনার যদি স্থানীয় সার্ভিসগুলি মাইএসকিএলডে সংযোগ দেওয়ার চেষ্টা করছে, তবে এটি আলাদা কিছু: http://docs.fedoraproject.org/en-US/Fedora/13/html/ পরিচালন_Confised_Services/sect-Managing_Confined_Services- মাইএসকিউএল- বুলিয়ানস html


1

ausearchকমান্ড ত্রুটি লগ খুঁজে পেতে সাহায্য করতে পারেন।


1
ausearch -m avc -ts আজ | অডিট 2 কেন, কমান্ড সমাধানের পরামর্শ দিতে পারে
vnix27

1

আপনি স্থানীয় নীতিও তৈরি করতে পারেন:

"আপনি এই অ্যাক্সেসের অনুমতি দেওয়ার জন্য একটি স্থানীয় নীতিমালা তৈরি করতে পারেন uting

grep httpd /var/log/audit/audit.log | audit2allow -M mypol

semodule -i mypol.pp

বা আসল সেশনের জন্য বিশ্বব্যাপী সক্ষম করুন:

setsebool httpd_can_network_connect_db 1

বা স্থায়ী:

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