از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
SELinux روی آموزش اوبونتو
معرفی
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
این پیکربندی فایل را می توان با هر ویرایشگر متنی برای ایجاد تغییرات باز کرد. دلیل تخصیص قاعده مجاز به SETLINUX، دسترسی به سیستم عامل در حالی که SeLinux فعال است. استفاده از گزینه مجاز بسیار توصیه می شود زیرا بدون دردسر است، اما قوانین نقض شده در SeLinux را ثبت می کند.
گزینه های موجود
SELinux یک ماژول پیچیده و جامع است. از این رو شامل بسیاری از ویژگی ها و گزینه ها است. همانطور که گفته شد، بسیاری از این گزینه ها ممکن است به دلیل ماهیت عجیب و غریب برای همه مفید نباشند. گزینه های زیر برخی از گزینه های اساسی و مفید در این ماژول هستند. آنها برای راه اندازی و راه اندازی SELinux کافی هستند.
بررسی وضعیت: وضعیت SELinux را می توان مستقیماً از طریق بررسی کرد terminal پنجره ای که اطلاعات اولیه مانند فعال بودن SeLinux، SELinux را نشان می دهد root دایرکتوری، نام سیاست بارگذاری شده، حالت فعلی و غیره. پس از راه اندازی مجدد سیستم پس از نصب SeLinux، از دستور زیر به عنوان استفاده کنید. root کاربر با sudo فرمان اگر بیان می کند که SeLinux در بخش وضعیت فعال است، به این معنی است که در پس زمینه فعال است.
root@ubuntu:/home/dondilanga# sestatus
سطح مجوز جهانی را تغییر دهید: سطح مجوز جهانی بیان می کند که 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 روی
گزینه های پیشرفته
گزینه های پیشرفته گزینه هایی هستند که به گسترش قابلیت های 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 پیش فرض اوبونتو را بازیابی کنید.
دستور زیر روی را terminal آن را به طور موقت خاموش می کند:
setenforce 0
برای غیرفعال کردن دائمی ویرایش /etc/selinux/config و SELINUX را روی غیر فعال قرار دهید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1403-01-06 16:40:05