وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

SELinux روی آموزش اوبونتو

0 5
زمان لازم برای مطالعه: 5 دقیقه


معرفی

SELinux هست یک کنترل دسترسی اجباری ماژول (MAC) مستقر در سطح هسته سیستم های لینوکس. این یک توسعه مشترک است Redhat و NSA در حدود سال 1998 منتشر شد و هنوز توسط یک جامعه مشتاق نگهداری می شود. به طور پیش فرض، اوبونتو استفاده می کند AppArmor و نه SeLinux که از نظر عملکرد مشابه است اما از نظر سادگی بسیار محبوب است. با این حال، SeLinux به دلیل دخالت یک سازمان دولتی کاملاً امن شناخته شده است. SELinux یک برنامه منبع باز است که از آن محافظت می کند host با جدا کردن هر برنامه و محدود کردن فعالیت های آن. به‌طور پیش‌فرض، فرآیندها از انجام هر فعالیتی مسدود می‌شوند مگر اینکه مجوز صریح داده شود. این ماژول به طور بومی دو قانون مدیریت سطح جهانی را ارائه می دهد: مجاز و اجرا که به ترتیب هر یک از قانون نقض شده را ثبت می کند و دسترسی به یک درخواست خاص ارسال شده از یک را انکار می کند process. این آموزش روش استفاده از آن را نشان می دهد روی اوبونتو به راحتی.

روش نصب و فعال کردن

SeLinux یک برنامه بسیار مشکل برای نصب است، زیرا اگر قبل از اولین راه اندازی مجدد به درستی پیکربندی نشده باشد، کل سیستم عامل را می سازد. غیر قابل راه اندازی، به این معنی که هر چیزی فراتر از صفحه بوت اولیه عملاً با وسایل عادی غیر قابل دسترس خواهد بود.

همچنین همانطور که قبلاً گفته شد، اوبونتو قبلاً دارای یک سیستم کنترل دسترسی اجباری سطح بالا به نام AppArmor است و بنابراین باید قبل از نصب SeLinux غیرفعال شود تا از هرگونه درگیری جلوگیری شود. از دستورالعمل های زیر برای غیرفعال کردن AppArmor و فعال کردن SeLinux استفاده کنید.

sudo /etc/init.d/apparmor stop
apt-get update && upgrade –yuf
apt-get install selinux
nano /etc/selinux/config
‘set SELINUX to permissive, SELINUXTYPE to default’
reboot

ترمینال 1 SELinuxترمینال 1 SELinux

این پیکربندی فایل را می توان با هر ویرایشگر متنی برای ایجاد تغییرات باز کرد. دلیل تخصیص قاعده مجاز به SETLINUX، دسترسی به سیستم عامل در حالی که SeLinux فعال است. استفاده از گزینه مجاز بسیار توصیه می شود زیرا بدون دردسر است، اما قوانین نقض شده در SeLinux را ثبت می کند.

گزینه های موجود

SELinux یک ماژول پیچیده و جامع است. از این رو شامل بسیاری از ویژگی ها و گزینه ها است. همانطور که گفته شد، بسیاری از این گزینه ها ممکن است به دلیل ماهیت عجیب و غریب برای همه مفید نباشند. گزینه های زیر برخی از گزینه های اساسی و مفید در این ماژول هستند. آنها برای راه اندازی و راه اندازی SELinux کافی هستند.

بررسی وضعیت: وضعیت SELinux را می توان مستقیماً از طریق بررسی کرد terminal پنجره ای که اطلاعات اولیه مانند فعال بودن SeLinux، SELinux را نشان می دهد root دایرکتوری، نام سیاست بارگذاری شده، حالت فعلی و غیره. پس از راه اندازی مجدد سیستم پس از نصب SeLinux، از دستور زیر به عنوان استفاده کنید. root کاربر با sudo فرمان اگر بیان می کند که SeLinux در بخش وضعیت فعال است، به این معنی است که در پس زمینه فعال است.

root@ubuntu:/home/dondilanga# sestatus

ترمینال 2 SELinuxترمینال 2 SELinux

سطح مجوز جهانی را تغییر دهید: سطح مجوز جهانی بیان می کند که SELinux وقتی به یک قانون برخورد می کند چگونه رفتار می کند. به‌طور پیش‌فرض، SeLinux خود را روی اعمال قرار می‌دهد که به‌طور مؤثر همه درخواست‌ها را مسدود می‌کند، اما می‌توان آن را به اجازه‌دهنده تغییر داد که به نوعی نسبت به کاربر نرم‌افزار است زیرا اجازه دسترسی را می‌دهد، اما هرگونه قانون نقض‌شده را در فایل گزارش خود ثبت می‌کند.

nano /etc/selinux/config
‘set SELINUX to permissive or enforcing, SELINUXTYPE to default’

فایل گزارش را بررسی کنید: فایل log که قوانین نقض شده توسط هر درخواست را بیان می کند. این فقط در صورتی که SeLinux فعال باشد، گزارش‌ها را نگه می‌دارد.

grep selinux /var/log/audit/audit.log

فعال و غیرفعال کردن خط مشی ها و محافظت هایی که ارائه می دهند: این یکی از مهم ترین گزینه ها در SeLinux است، زیرا اجازه می دهد فعال و غیرفعال کردن خط مشی ها. SeLinux دارای تعداد زیادی خط مشی از پیش ساخته شده است که تعیین می کند درخواست مشخص شده مجاز است یا خیر. برخی از نمونه‌های این مورد، allow_ftpd_full_access است که توانایی سرویس FTP را برای ورود به کاربران محلی و خواندن نوشتن همه فایل‌ها تعیین می‌کند. روی سیستم، allow_ssh_keysign که امکان استفاده از کلیدها را هنگام ورود به SSH، allow_user_mysql_connect که به کاربران اجازه می‌دهد به mysql ، httpd_can_sendmail که توانایی سرویس HTTP برای ارسال ایمیل و غیره را تعیین می کند. در مثال کد زیر، Policycoreutils- را نصب می کند.python-utils که در واقع به فهرست کردن هر خط مشی به شیوه ای توصیفی کمک می کند، در مرحله بعد همه خط مشی های موجود را فهرست می کند. terminal، در نهایت روش تنظیم یک خط مشی را آموزش می دهد روی یا خاموش، allow_ftpd_full_access نام خط مشی است که در نشان داده شده است terminal توسط semanage بازگشت،

apt-get install policycoreutils-python-utils
semanage boolean -l
setsebool -P allow_ftpd_full_access روی

گزینه های پیشرفته

پیشنهاد می‌کنیم بخوانید:  نصب و پیکربندی Fail2ban روی اوبونتو 20.04

گزینه های پیشرفته گزینه هایی هستند که به گسترش قابلیت های SELInux کمک می کنند. به دلیل ماهیت جامع SeLinux، تعداد بسیار زیادی از ترکیب ها وجود دارد، بنابراین این مقاله برخی از موارد برجسته و مفید را در میان آنها فهرست می کند.

کنترل دسترسی مبتنی بر نقش (RBAC): RBAC به مدیران اجازه می دهد تا به روشی مبتنی بر نقش تغییر کنند تا مجوز برنامه ها را محدود کنند. منظور این است که کاربر یک گروه کاربری خاص مجاز به اجرا یا انجام برخی اقدامات از پیش تعریف شده است. تا زمانی که کاربر بخشی از نقش باشد، اشکالی ندارد. این همان چیزی است که تغییر به root هنگام نصب برنامه ها روی لینوکس با حقوق اداری

semanage login -a -s 'myrole' -r 's0-s0:c0.c1023' <username>

کاربران می توانند نقش خود را با دستور زیر تغییر دهند.

sudo -r new_role_r -i

کاربران همچنین می توانند از راه دور از طریق SSH با نقش فعال در هنگام راه اندازی به سرور متصل شوند.

ssh <username>/new_role_r@nucuta.com

به یک سرویس اجازه دهید به یک پورت غیر استاندارد گوش دهد: این در سفارشی کردن یک سرویس کاملاً مفید است، به عنوان مثال هنگامی که یک پورت FTP به یک پورت غیر استاندارد برای جلوگیری از دسترسی‌های غیرمجاز تغییر می‌کند، SELinux باید مطابق با آن مطلع شود تا به این پورت‌ها اجازه عبور داده شود و طبق معمول کار کنند. مثال زیر به پورت FTP اجازه می دهد تا به پورت 992 گوش دهد. به همین ترتیب، هر سرویسی که توسط semanage port –l قابل تعویض است. برخی از پورت های محبوب عبارتند از http_port_t، pop_port_t، ssh_port_t.

semanage port -a -t <port to allow> <protocol> <port number>
semanage port -a -t ftp_port_t  -p tcp 992

روش غیرفعال کردن

غیرفعال کردن SELinux آسان تر است زیرا فعال و نصب شده است. اساساً دو راه برای غیرفعال کردن آن وجود دارد. یا به صورت موقت یا دائم. غیرفعال کردن موقت SeLinux باعث می شود تا مدتی تا بوت بعدی غیرفعال شود و به محض روشن شدن رایانه روی دوباره حالت راه اندازی مجدد می شود. از سوی دیگر، غیرفعال کردن دائمی SeLinux آن را خاموش می کند و آن را به طور کامل در معرض تهدیدات قرار می دهد. از این رو انتخاب عاقلانه ای است که حداقل به خاطر امنیت سیستم، AppArmor پیش فرض اوبونتو را بازیابی کنید.

پیشنهاد می‌کنیم بخوانید:  روش کپی کردن فایل ها از ویندوز به اوبونتو در WSL روی همان میزبان

دستور زیر روی را terminal آن را به طور موقت خاموش می کند:

setenforce 0

برای غیرفعال کردن دائمی ویرایش /etc/selinux/config و SELINUX را روی غیر فعال قرار دهید.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1403-01-06 16:40:05

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید