پیکربندی Selinux در Linux به تنظیماتی اشاره دارد که برای مدیریت و کنترل نحوه عملکرد Security-Enhanced Linux (SELinux) در سیستم عامل لینوکس استفاده میشود. برای پیکربندی SELinux، میتوانید از ابزارها و فرآیندهای مختلفی استفاده کنید، در ادامه قصد داریم در مورد روش پیکربندی Selinux در Linux و اهمیت استفاده از آن جزئیات بیشتری را با شما در میان بگذاریم با ما تا انتهای این مقاله همراه باشید. برای آشنایی بیشتر با تمام ابعاد و ویژگیهای منحصربفرد سیستم عامل لینوکس محتوای لینوکس چیست؟ را حتما مطالعه کنید.
Selinux چیست؟
SELinux یا اسایلینوکس مخفف عبارت Security-Enhanced Linux است که یک مکانیزم امنیتی برای کنترل دسترسی به منابع سیستم عامل محسوب میشود. این تکنولوژی برای تقویت امنیت سیستمهای لینوکس توسعه داده شده است و به اشکال مختلف مدیریت دسترسی به فایلها، فرآیندها، پورتها، دستگاهها و منابع دیگر سیستم عامل را با تمرکز بر تماسهای امنیتی پشتیبانی میکند.
SELinux به طور ویژه برای محدود کردن تاثیر حملات امنیتی همچون اجرای کد بدافزار و دسترسی غیرمجاز به منابع سیستم مورد استفاده قرار میگیرد. با فعال کردن پیکربندی Selinux در Linux حتی اگر یک حمله کننده موفق به نفوذ به سیستم شود، عملیات را با حداقل آسیب به سیستم انجام میدهد. برای آموزش روشهای مختلف افزایش امنیت سیستم عامل لینوکس خود محتواهای 7 نکته طلایی برای امنیت در لینوکس بخش اول و 7 نکته طلایی برای امنیت در لینوکس بخش دوم را مطالعه کنید.
چرا پیکربندی Selinux در Linux اهمیت دارد؟
پیکربندی SELinux یا همان اس ئی لینوکس به دلایل متعددی اهمیت دارد و بهبود امنیت سیستم عامل را تسهیل کرده و یک ابزار قدرتمند برای تامین امنیت سیستم عامل محسوب میشود. به صورت کلی دلایل استفاده از پیکربندی Selinux در Linux عبارتند از:
-
تعیین دقیق دسترسیها: یکی از اصول امنیتی مهم در سیستم عامل لینوکس این است که حداقل دسترسی لازم برای هر بخش از سیستم و کاربران تعیین شود. شما با استفاده از SELinux میتوانید دسترسیها را به صورت دقیق تر و بر اساس نیازهای واقعی تنظیم کنید. پیکربندی Selinux در Linux به شما اجازه میدهد فراتر از سطح مجوزهای پیش فرض در سیستم عامل پیش بروید و تعیین کنید که یک برنامه چه نوع دسترسیهایی به فایلها، سوکتها و منابع دیگر دارد.
-
محدودیت تاثیرات مخرب: با استفاده از SELinux میتوانید تاثیرات مخرب احتمالی حملات را محدود کنید. اگر یک برنامه مخرب توانایی اجرای فایلهای مخرب را داشته باشد، SELinux میتواند اجازه اجرای این فایلها را متوقف کند حتی اگر مجوز اجرای آنها تعیین شده باشد.
-
کاهش حملات امنیتی: با اجرای SELinux و تنظیمات مناسب، حتی اگر یک فایل مخرب به یک بخش آسیب پذیر دسترسی پیدا کند، محدودیتهای SELinux میتواند از گسترش حمله و دسترسی به منابع حساس جلوگیری کند.
-
محافظت در برابر حملات سطح کرنل: با توجه به اینکه سیستم عامل لینوکس Linux kernel security module است، SELinux به عنوان یک لایه اضافی امنیتی در سطح کرنل فعالیت میکند و از حمله به نقاط ضعف در کرنل و سیستم عاملها محافظت میکند.
آموزش پیکربندی Selinux در Linux
آموزش پیکربندی Selinux در Linux برای کسانی که به مدیریت و امنیت سیستم عامل خود اهمیت میدهند، بسیار مفید و کاربردی است. Selinux یک فناوری ایجاد شده توسط آژانس ملی امنیت آمریکا به منظور ارتقاء امنیت سیستمهای لینوکس است، این فناوری در سال 2000 توسط آژانس مذکور تحت مجوز GPL توسعه یافت. این سیستم به عنوان یک لایه اضافی به کرنل لینوکس افزوده میشود و نظارتی دقیق تر و محدودیتهای امنیتی را بر روی ارسال و دریافت دادهها در سطح کرنل اجرا میکند. SELinux به عنوان یک راه حل امنیتی اضافی برای سیستمهای لینوکس توسعه داده شده است که از چارچوب امنیتی در هسته لینوکس استفاده میکند.
هدف اصلی SELinux ایجاد یک خط مشی امنیتی دقیق تر است که به عنوان گزینهای پیشرفته تر از مجوزهای پیش فرض سیستمعامل لینوکس همچون Read ،Write و Execute عمل میکند. به صورت کلی مراحل پیکربندی Selinux در Linux به شرح زیر است:
ابتدا باید وضعیت فعلی SELinux در سیستم خود را بررسی کنید. این کار را میتوانید با اجرای دستور زیر انجام دهید:
getenforce |
اگر خروجی "Enforcing" باشد، یعنی SELinux در حالت اجرایی (Enforcing) است. اگر "Permissive" باشد، یعنی SELinux در حالت هشداردهنده (Permissive) است و هشدارها را نمایش میدهد اما محدودیتهای اجرایی را اعمال نمیکند.
تغییر حالت SELinux: اگر SELinux در حالت هشداردهنده (Permissive) است، برای تغییر حالت آن به حالت اجرایی (Enforcing) میتوانید از دستور زیر استفاده کنید:
sudo setenforce 1 |
اگر SELinux غیرفعال است وارد حالت اجرایی (Enforcing) نخواهد شد و شما باید برای پیکربندی Selinux در Linux مراحل زیرا انجام دهید و تنظیمات را تغییر دهید. برای اینکه SELinux در هر بار بالا آمدن سیستم به حالت اجرایی بیاید، باید تغییراتی در تنظیمات بوت اعمال کنید. فایل مربوطه بسته به توزیع لینوکس ممکن است متفاوت باشد.
گام اول: ابتدا از طریق ssh به سرور Login نمایید.
گام دوم: دستور زیر را تایپ کرده و در آخر روی Enter بزنید.
nano /etc/sysconfig/selinux |
گام سوم: با وارد کردن دستور بالا ، فایل تنظیمات Selinux در ویرایشگر Nano باز خواهد شد، همان طور که در زیر مشاهده میکنید نمونهای از فایل SeLinux پس از وارد شدن به ویرایشگر به شما نشان داده میشود.
#.This file controls the state of SELinux on the system #:SELINUX= can take one of these three values #.enforcing – SELinux security policy is enforced #.permissive – SELinux prints warnings instead of enforcing #.disabled – No SELinux policy is loaded SELINUX=permissive #:SELINUXTYPE= can take one of these two values #,targeted – Targeted processes are protected #.mls – Multi Level Security protection SELINUXTYPE=targeted |
گام چهارم: نسبت به configuration مورد نیاز ارزش Selinux را میتوانید به enforcing، permissive و یا disabled تغییر دهید.
گام پنجم: پس از تغییر Selinux به ارزش مورد نظر، فایل را با Ctrl+x ذخیره کرده و از آن خارج شوید.
گام ششم: پس از اعمال ارزش، جهت اعمال تنظیمات مورد نظر لینوکس خود را با دستور زیر ریبوت کنید.
reboot |
گام هفتم: پس از بوت شدن لینوکس، دستور زیر را وارد کرده تا وضعیت پیکربندی Selinux در Linux به شما نشان داده شود.
Sestatus |
پس از وارد کردن دستور بالا کدی مشابه کد زیر به شما نشان داده میشود.
root@server [~]# sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: permissive Mode from config file: permissive Policy version: 24 Policy from config file: targeted |
در آخر توجه داشته باشید که پیکربندی SELinux در لینوکس تنظیمات امنیتی دقیق تر نیاز به تعریف سیاستها و قوانین دارد که باید توسط مدیر سیستم تنظیم شوند.
سخن پایانی
در کل SELinux ابزاری قوی برای افزایش امنیت سیستمهای لینوکس است و این امکان را برای شما فراهم میکند تا به دقت کنترل دسترسیها و حفاظت از منابع مختلف را انجام دهید. میزان پیچیدگی پیکربندی Selinux در Linux ممکن است برای کاربرانی که با آن آشنایی ندارند، در ابتدا کمی دشوار به نظر برسد، اما این ابزار امنیتی به طور گسترده در محیطهای مختلفی تجاری استفاده میشود تا امنیت سیستمهای لینوکس را افزایش دهد.
سوالات متداول
چگونه از SELinux در لینوکس استفاده کنیم؟
برای تنظیم یک پیکربندی SELinux که پس از راهاندازی مجدد ریست نمیشود، فایل /etc/selinux/config را ویرایش کنید. این فایل شامل گزینههای مربوط به پیکربندی SELinux از جمله حالتی است که SELinux باید در آن کار کند. برای تنظیم حالت بر روی اجبار، مجاز یا غیرفعال، متغیر SELINUX را متناسب با آن تغییر دهید.
چگونه وضعیت SELinux را بررسی کنم؟
برای مشاهده حالت فعلی SELinux از دستور sestatus یا ابزار getenforce استفاده کنید. با راه اندازی مجدد سیستم، تغییرات ایجاد شده با setenforce از بین میروند. برای تغییر دائمی حالت SELinux شما باید فایل /etc/selinux/config را ویرایش کرده و سیستم را مجددا راه اندازی کنید.
چگونه وضعیت SELinux را فعال کنم؟
برای بازگرداندن SELinux به "enforcing" باید از طریق SSH به سرور متصل شوید. فایل /etc/selinux/config را در ویرایشگر متنی مورد نظر خود باز کنید. مقدار SELINUX را مطابق تنظیمات مورد نظر خود تغییر دهید. تغییرات را ذخیره کنید و فایل را ببندید. برای اعمال تغییرات سرور را ریستارت کنید.
چرا به SELinux نیاز دارم؟
SELinux در حالت اجرای پیش فرض خود هرگونه تلاش غیرمجاز برای دسترسی به هر منبعی را رد و مانع از حملات مخرب به سیستم عامل میشود. به صورت کلی ما به دلایل زیر به Selinux نیاز داریم: تقویت امنیت سیستم محدود کردن عملیات خطا محدود کردن تاثیر نفوذ مطابقت با استانداردهای امنیتی محدودیت دسترسی به منابع حساس حفاظت در محیطهای عمومی
null