SELinux یک ماژول هسته است که عملکردهای امنیتی بیشتری را به هسته لینوکس تزریق می کند. در اینجا نحوه نصب آن در اوبونتو آمده است.
با نصب و پیاده سازی SELinux می توانید امنیت سیستم لینوکس خود را افزایش دهید. این یک لایه حفاظتی اضافی را با جداسازی برنامه های کاربردی در سیستم و ایمن سازی میزبان فراهم می کند.
به طور پیش فرض، اوبونتو از AppArmor، یکی دیگر از سیستم های کنترل دسترسی اجباری استفاده می کند. برای اینکه سیستم لینوکس خود را ایمن تر کنید، می توانید به جای آن از SELinux استفاده کنید. بیایید ببینیم چگونه می توانید SELinux را با استفاده از چند دستور اصلی لینوکس در اوبونتو نصب و پیکربندی کنید.
SELinux چیست؟
لینوکس تقویتشده با امنیت (SELinux) یک ماژول امنیتی هسته لینوکس است که مکانیزمی را برای پشتیبانی از سیاستهای امنیتی کنترل دسترسی، از جمله کنترلهای دسترسی اجباری (MAC) ارائه میدهد.
SELinux یک ارتقاء امنیتی برای لینوکس است که شامل تغییراتی در هسته و ابزارهای کاربر است. اجرای تصمیمات امنیتی را از سیاست امنیتی جدا می کند و روند اجرای سیاست را ساده می کند.
نحوه نصب SELinux در اوبونتو
در اینجا مراحل نصب SELinux در یک ماشین اوبونتو آمده است:
مرحله 1: اوبونتو را به روز رسانی و ارتقا دهید
قبل از شروع نصب SELinux، سیستم خود را بهروزرسانی و ارتقا دهید تا بتوانید برنامههای جدید را بدون مشکل با بستههای خراب یا قدیمی نصب کنید.
برای به روز رسانی و ارتقای اوبونتو، ترمینال را با فشار دادن Ctrl + Alt + T باز کنید و اجرا کنید:
sudo apt-get update && apt-get upgrade
مرحله 2: توقف و حذف AppArmor در اوبونتو
یکی دیگر از کارهایی که باید قبل از نصب SELinux انجام دهید این است که AppArmor را غیرفعال کنید یا آن را به طور کامل حذف کنید.
برای غیرفعال کردن AppArmor، ابتدا سرویس را با استفاده از ابزار systemctl متوقف کنید:
sudo systemctl stop apparmor
هنگامی که سرویس را متوقف کردید، وضعیت آن را با:
systemctl status apparmor
اکنون می توانید به راحتی AppArmor را با اجرای زیر غیرفعال کنید:
sudo systemctl disable apparmor
اگر فقط بخواهید سرویس را غیرفعال کنید و آن را حذف نکنید مشکلی ندارد. با این حال، اگر می خواهید آن را نیز حذف کنید، اجرا کنید:
sudo apt-get remove apparmor -y
برای اعمال تغییرات، دستگاه اوبونتو خود را مجددا راه اندازی کنید:
sudo reboot
مرحله 3: SELinux را در اوبونتو نصب کنید
قبل از نصب SELinux، باید بدانید که نصب آن ریسک دارد. این سرویس میتواند سیستم شما را ناپایدار کند، بنابراین قبل از ادامه کار از سیستم خود نسخه پشتیبان تهیه کنید.
اگر از یک محیط مجازی استفاده می کنید، قبل از ایجاد هر گونه تغییر در سیستم خود، یک عکس فوری از ماشین مجازی اوبونتو (VM) بگیرید.
برای نصب SELinux و وابستگی های اساسی آن در اوبونتو، اجرا کنید:
sudo apt-get install policycoreutils selinux-utils selinux-basics -y
پس از نصب SELinux و وابستگی های آن، سرویس را با استفاده از:
sudo selinux-activate
مرحله 4: حالت های SELinux را در اوبونتو تنظیم کنید
چهار حالت مختلف در SELinux وجود دارد:
- غیرفعال کردن حالت
- حالت را فعال کنید
- حالت مجاز
- حالت اجباری
حالت اول، غیرفعال کردن، با نام خود نشان می دهد که چه هدفی را دنبال می کند. اگر حالت SELinux را غیرفعال کرده اید، به این معنی است که سرویس در سیستم شما فعال نیست. از طرف دیگر، حالت فعال کردن برعکس است، یعنی سرویس SELinux روی سیستم شما اجرا می شود.
هنگامی که حالت SELinux روی فعال تنظیم شده است، می توانید از حالت مجاز یا اعمال کننده استفاده کنید. زمانی که فقط نیاز به نظارت بر تعاملات دارید، باید از حالت مجاز استفاده کنید. اما اگر میخواهید فعل و انفعالات را فیلتر و همچنین نظارت کنید، از حالت اعمال استفاده کنید.
برای تنظیم حالت SELinux روی Enforcing، اجرا کنید:
sudo selinux-config-enforcing
همچنین می توانید به جای آن از این دستور برای تنظیم حالت برای اعمال استفاده کنید:
setenforce 1
برای به روز رسانی تغییرات، سیستم خود را مجددا راه اندازی کنید:
sudo reboot
پس از راه اندازی مجدد سیستم، وضعیت SELinux را بررسی کنید تا مطمئن شوید که فعال شده است:
setstatus
اگر می خواهید حالت را روی مجاز تنظیم کنید، از:
setenforce 0
پس از تغییر حالت، همیشه باید راه اندازی مجدد شود.
sudo reboot
از یکی از دو دستور برای بررسی وضعیت سرویس و تأیید تغییراتی که ایجاد کرده اید استفاده کنید:
setstatus
getenforce
دستور getenforce فقط حالت فعلی را در ترمینال چاپ می کند. با این حال، دستور setstatus جزئیات بیشتری را در مورد حالتی که در حال حاضر روی سیستم شما تنظیم شده است، می دهد.
همچنین می توانید با دسترسی به فایل /etc/sysconfig/selinux حالت های فعلی را بررسی کنید.
حالت مجاز در مقایسه با اعمال انعطاف پذیرتر است. این حالت همه درخواستها را مسدود نمیکند و یک فایل گزارش برای ذخیره یک رویداد در صورت نقض قانون نگه میدارد.
دسترسی به فایل لاگ SELinux در اوبونتو
لاگ های SELinux را در فایل audit.log ذخیره شده در پوشه /var/log/audit پیدا خواهید کرد.
برای مشاهده گزارش های SELinux، اجرا کنید:
grep selinux /var/log/audit/audit.log
نحوه غیرفعال کردن SELinux در اوبونتو
بیایید اکنون نحوه حذف یا غیرفعال کردن SELinux در اوبونتو را بررسی کنیم. برای انجام این کار دو روش وجود دارد:
1. SELinux را به طور موقت غیرفعال کنید
هنگامی که SELinux را به طور موقت غیرفعال می کنید، بلافاصله اجرای آن را متوقف می کنید و تا راه اندازی مجدد سیستم بعدی به SELinux در حالت غیرفعال ادامه می دهید. پس از راهاندازی مجدد، SELinux به حالت اجرایی باز میگردد.
برای غیرفعال کردن موقت SELinux، ابتدا باید یک کاربر روت شوید:
sudo -i
اکنون SELinux را با موارد زیر غیرفعال کنید:
echo 0 > /selinux/enforce
همچنین میتوانید از ابزار setenforce برای غیرفعال کردن SELinux برای جلسه فعلی استفاده کنید:
setenforce 0
2. SELinux را برای همیشه غیرفعال کنید
همچنین میتوانید SELinux را با استفاده از فایل پیکربندی آن بهطور دائم غیرفعال کنید تا پس از هر بار راهاندازی مجدد به حالت اجرایی برنگردد.
برای غیرفعال کردن SELinux، فایل پیکربندی واقع در پوشه /etc/selinux/config را باز کنید:
sudo nano /etc/selinux/config
به دنبال خط “SELINUX=enforcing” در محتوای فایل بگردید و آن را به “SELinux=disabled” تغییر دهید.
پس از اتمام، فایل را ذخیره کرده و با فشار دادن Ctrl + X و سپس Y، از آن خارج شده و Enter را بزنید.
نحوه حذف SELinux در اوبونتو
اگر دیگر نمیخواهید از SELinux استفاده کنید و به دلیل مشکلات ناپایداری نیاز به حذف آن دارید، اجرا کنید:
sudo apt-get install policycoreutils selinux-utils selinux-basics -y
دستور فوق SELinux و وابستگی های آن را به طور کامل از سیستم شما حذف می کند.
با استفاده از SELinux امنیت اضافی را به لینوکس اضافه کنید
SELinux می تواند با محدود کردن گسترش یک رخنه امنیتی، محافظت بیشتری را ارائه دهد. علاوه بر این، می تواند سرورهای وب را بر اساس حالت SELinux که انتخاب کرده اید ایمن کند. می توانید حالت را روی مجاز یا اعمال کننده تنظیم کنید.
علاوه بر این، اقدامات دیگری وجود دارد که می توانید برای ایمن نگه داشتن سیستم لینوکس خود مانند استفاده از رمزهای عبور قوی انجام دهید. می توانید از دستگاه لینوکس خود بخواهید با استفاده از چندین ابزار خط فرمان مانند apg، gpg، pwgen و غیره، رمزهای عبور قوی برای شما ایجاد کند.