ابزار کاربر

ابزار سایت


terminal:s:how-to-config-selinux-on-linux

تفاوت‌ها

تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده می‌کنید.

پیوند به صفحه‌ی تفاوت‌ها

نگارش بعد
نگارش قبل
terminal:s:how-to-config-selinux-on-linux [2019/10/11 09:06] – ایجاد شد phoenixterminal:s:how-to-config-selinux-on-linux [2020/04/02 11:30] (فعلی) phoenix_wiki
خط 1: خط 1:
 ======  کانفیگ و بررسی SELinux ====== ======  کانفیگ و بررسی SELinux ======
 +در این آموزش سعی داریم آموزشی در ارتباط با SELinux رو قرار بدیم باید متذکر بشم در برای اینکه متوجه بشید SELinux چی هست میتونید لینک زیر رو ببینید
 +
 +https://en.wikipedia.org/wiki/Security-Enhanced_Linux
 +
 +چون من فرض میکنم در ارتباط با اون اطلاعات لازم رو دارید
 +===== SELinux Operating Mode =====
 +۳ تا وضعیت برای **SELinux** وجود دارد که به ترتیب هر کدام را بررسی میکنیم
 +
 +سه حالت فوق به اسامی زیر هست
 +  * **enforcing** = حالت پیش فرض و فعال **SELinux** است 
 +  * **permissive** = در آن **mac**  فعال نیست و فقط لاگ سیستم را نگه داری میکند
 +  * **disabled** = غیرفعال است
 +
 +==== بررسی mode فعال ====
 +
 +در مرحله باید باید بررسی کنیم چه نوعی برای ما فعال هست پس دستور زیر را در ترمینال وارد کنید
 +<code;bash;>
 +getenforce
 +</code>
 +در صورتی که تغییر در **SELinux** انجام نداده باشید باید **Enforcing** را برای شما نمایش دهد.
 +یک روش دیگری هم برای دیدن وضعیت فعال **SELinux** وجود دارد با دستور زیر که به همراه خروجی دستور نمایش داده شده است.
 +<code;bash;>
 +-> $sestatus 
 +SELinux status:                 enabled
 +SELinuxfs mount:                /sys/fs/selinux
 +SELinux root directory:         /etc/selinux
 +Loaded policy name:             targeted
 +Current mode:                   enforcing
 +Mode from config file:          enforcing
 +Policy MLS status:              enabled
 +Policy deny_unknown status:     allowed
 +Memory protection checking:     actual (secure)
 +Max kernel policy version:      31
 +</code>
 +==== تغییر mode بصورت موقت====
 + برای این منظور فرض کنید ما میخواهیم حالت را از **enforcing** به **permissive** تغییر دهیم از دستور زیر استفاده میکنیم
 +<code;bash;>
 +[root@dlp ~]# setenforce 0
 +[root@dlp ~]# getenforce
 +Permissive 
 +</code>
 +و برای برگشت به حالت **enforcing** به شکل زیر استفاده کنید
 +<code;bash;>
 +[root@dlp ~]# setenforce 1
 +[root@dlp ~]# getenforce
 +Enforcing  
 +</code>
 +<WRAP center round tip 60%>
 +فقط توجه داشته باشید در صورت ریستارت کردن سیستم همه چیز به حالت پیش فرض برمیگرده
 +</WRAP>
 +==== تغییر mode بصورت دائم====
 +
 +فقط کافیه فایل ''etc/selinux/config/'' را با هر ادیتوری که دوست دارید باز کنید ما از [[terminal:v:linux_vi_and_vim_editor|vi]] استفاده کردیم در جلوی ''SELINUX=enforcing'' حالت مورد نظر خودتان را بنویسید.نمونه خروجی فایل
 +<code;bash;>
 + [root@dlp ~]# vi /etc/selinux/config
 +
 +# 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.
 +# change value you'd like to set
 +SELINUX=enforcing
 +# SELINUXTYPE= can take one of these two values:
 +#     targeted - Targeted processes are protected,
 +#     minimum - Modification of targeted policy. Only selected processes are protected.
 +#     mls - Multi Level Security protection.
 +SELINUXTYPE=targeted
 +</code>
 +بعد از تغییر حالت باید سیستم را ریستارت کنید با دستور زیر
 +<code;bash;>
 +reboot
 +</code>
 +اگر به هر دلیلی **SELinux** را غیرفعال کردید و میخواهید مجددا آنرا فعال کنید باید برچسب گذاری را مجددا انجام دهید برای این منظور دستور زیر را در ترمینال وارد بکنید و در انتها سیستم را ریستارت میکنیم.
 +<code;bash;>
 +[root@dlp ~]# touch /.autorelabel
 +[root@dlp ~]# reboot
 +</code>
 +===== SELinux Policy Type =====
 +
 +اگر **SELinux** در حالت  **Enforcing** یا **Permissionive** قرار دارد ، می توانید **Policy** آنرا انتخاب کنید. در صورت نیاز می توانید **Policy** انتخاب شده را برای محیط خود تغییر دهید.
 +برای تغییر **Policy** باید فایل ''etc/selinux/config/'' را تغییر دهید.
 +به صورت پیش فرض **Policy** که روی فدورا فعال هست **targeted** است
 +اما اگر نوع **Policy** را تغییر دهید ، باید فایل آنرا هم نصب کنید.
 +اگر بدون نصب **Policy** را تغییر دهید ، سیستم بالا نخواهد آمد، بنابراین مراقب باشید.
 +با دستور زیر وضعیت **Policy** را میبینیم در خظ آخر خروجی مشخص هست
 +<code;bash;>
 +[root@dlp ~]# cat /etc/selinux/config
 +
 +# 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=enforcing
 +# SELINUXTYPE= can take one of these two values:
 +#     targeted - Targeted processes are protected,
 +#     minimum - Modification of targeted policy. Only selected processes are protected.
 +#     mls - Multi Level Security protection.
 +SELINUXTYPE=targeted
 +</code>
 +فرض کنید که ما میخواهیم **Policy** را به **minimum** تغییر دهیم برای این منظور اول باید فایل آنرا نصب کنیم با دستور زیر
 +<code;bash;>
 +sudo dnf -y install selinux-policy-minimum 
 +</code>
 +و اگر از دایرکتوری ''etc/selinux/'' خروجی بگیریم متوجه میشید که **minimum** نصب شده است.
 +<code;bash;>
 +root@dlp ~]# ll /etc/selinux
 +total 16
 +-rw-r--r--. 1 root root  547 Mar 18 16:23 config
 +drwxr-xr-x. 6 root root 4096 Mar 18 17:26 minimum
 +-rw-r--r--. 1 root root 2321 Nov 20 16:04 semanage.conf
 +drwxr-xr-x. 6 root root 4096 Mar 18 16:24 targeted
 +</code>
 +حالا در این مرحله میخواهیم  **Policy** را به **minimum** تغییر دهیم پس با ادیتور مورد علاقه خودتان فایل رو باز میکنیم
 +<code;bash;>
 +root@dlp ~]# vi /etc/selinux/config
 +# change "SELINUXTYPE" section
 +
 +# 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=enforcing
 +# SELINUXTYPE= can take one of these two values:
 +#     targeted - Targeted processes are protected,
 +#     minimum - Modification of targeted policy. Only selected processes are protected.
 +#     mls - Multi Level Security protection.
 +SELINUXTYPE=minimum
 +</code>
 +همانطور که مشخص هست ما خط آخر را به **minimum** تغییر دادیم سیستم را برای اعمال تغییرات ریستارت بکنید
 +برای دیدن وضعیت دستور زیر را در ترمینال تایپ کنید
 +<code;bash;>
 +[root@dlp ~]# sestatus
 +
 +SELinux status:                 enabled
 +SELinuxfs mount:                /sys/fs/selinux
 +SELinux root directory:         /etc/selinux
 +Loaded policy name:             minimum     # just changed
 +Current mode:                   enforcing
 +Mode from config file:          enforcing
 +Policy MLS status:              enabled
 +Policy deny_unknown status:     allowed
 +Max kernel policy version:      31
 +</code>
 +۳ بسته برای **minimum** در مخازن وجود دارد که به ترتیب هر کدام را توضیح میدیم
 +  * **Targeted** = این **Policy** معمولا بر روی فرایندهایی که حمله از آنجا انجام میشود اعمال میشود بصورت پیش فرض فعال هم هست
 +  * **Minimum** =تمام **Policy** های این حالت با مدل بالا یکسان هست ولی تعداد کمتری برای پردازش استفاده میشوند
 +  * **MLS** =در این مدل **Policy** امنیتی چند سطحی میگویند
 +===== SELinux Context =====
 +
 +کنترل دسترسی به پرونده ها یا فهرست هابه صورت کلی SELinux Context گفته می شود.
 +
 +**SELinux Context دارای نحو زیر است.**
 +
 +<code;bash;>
 +[SELinux User]:[Role]:[Type]:[Level] 
 +</code>
 + 
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
terminal/s/how-to-config-selinux-on-linux.1570772161.txt.gz · آخرین ویرایش: 2019/10/11 09:06 توسط phoenix

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki