SELinux, অর্থাৎ Security-Enhanced Linux, হল লিনাক্স সিকিউরিটি 커নেলের একটি অংশ যা সার্ভারগুলোর ওপর একটি প্রোটেক্টিভ এজেন্ট হিসেবে কাজ করে। লিনাক্স 커নেলে, SELinux mandatory access controls (MAC)-এর ওপর নির্ভর করে যা ব্যবহারকারীদের সিস্টেম অ্যাডমিনিস্ট্রেটর দ্বারা নির্ধারিত নিয়ম ও পলিসির মধ্যে সীমাবদ্ধ করে। MAC হল স্ট্যান্ডার্ড discretionary access control (DAC)-এর চেয়ে উচ্চ স্তরের অ্যাক্সেস কন্ট্রোল, এবং এটি শুধু অ্যাডমিন দ্বারা প্রি-অনুমোদিত প্রয়োজনীয় ফাইলগুলো প্রসেস করে সিস্টেমে সিকিউরিটি ব্রিচ রোধ করে।
SELinux প্রাথমিকভাবে রেড হ্যাট এবং ন্যাশনাল সিকিউরিটি ഏজেন্সির যৌথ উদ্যোগে রিলিজ করা হয়েছিল। নতুন লিনাক্স ডিস্ট্রিবিউশন রিলিজ হওয়ার সাথে সাথে SELinux পিরিয়ডিক আপডেট এবং অডিশন পায়। SELinux 커নেল পলিসি এবং ডিসিশন কের্নেলের ভিতরে আলাদা করে রক্ষার স্তর বিতরণ করে এবং পুরো সিকিউরিটি ব্রিচ প্রতিরোধ করে।
SELinux least-privilege মডেলের অধীনে কাজ করে। অ্যাডমিন যদি স্পেসিফিক পলিসি না লিখে, তবে SELinux অ্যাক্সেস প্রদান করে না।
SELinux মোড
SELinux-এর তিনটি মোড রয়েছে: Enforcing, Permissive এবং Disabled।
- Enforcing মোড হল SELinux ইনস্টলেশনের ডিফল্ট মোড। এটি সিস্টেমে পলিসি এনফোর্স করে, অ্যাক্সেস ডিনি করে এবং অ্যাকশন লগ করে।
- Permissive মোড হল SELinux ট্রাবলশুটিং-এর জন্য সবচেয়ে कॉমন মোড। এই মোডে, SELinux সক্রিয় থাকে কিন্তু সিকিউরিটি পলিসি এনফোর্স করে না। ফলে অ্যাকশনগুলোর জন্য ওয়ার্নিং এবং লগ জেনারেট হয় সিস্টেম অ্যাডমিনিস্ট্রেটরের জন্য।
- Disabled মোড মানে SELinux বন্ধ আছে এবং সিকিউরিটি পলিসি সার্ভারকে প্রোটেক্ট করে না।