terminal:s:how-to-config-selinux-on-linux
تفاوتها
تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده میکنید.
نگارش بعد | نگارش قبل | ||
terminal:s:how-to-config-selinux-on-linux [2019/10/11 09:06] – ایجاد شد phoenix | terminal:s:how-to-config-selinux-on-linux [2020/04/02 11:30] (فعلی) – phoenix_wiki | ||
---|---|---|---|
خط 1: | خط 1: | ||
====== | ====== | ||
+ | در این آموزش سعی داریم آموزشی در ارتباط با SELinux رو قرار بدیم باید متذکر بشم در برای اینکه متوجه بشید SELinux چی هست میتونید لینک زیر رو ببینید | ||
+ | |||
+ | https:// | ||
+ | |||
+ | چون من فرض میکنم در ارتباط با اون اطلاعات لازم رو دارید | ||
+ | ===== SELinux Operating Mode ===== | ||
+ | ۳ تا وضعیت برای **SELinux** وجود دارد که به ترتیب هر کدام را بررسی میکنیم | ||
+ | |||
+ | سه حالت فوق به اسامی زیر هست | ||
+ | * **enforcing** = حالت پیش فرض و فعال **SELinux** است | ||
+ | * **permissive** = در آن **mac** | ||
+ | * **disabled** = غیرفعال است | ||
+ | |||
+ | ==== بررسی mode فعال ==== | ||
+ | |||
+ | در مرحله باید باید بررسی کنیم چه نوعی برای ما فعال هست پس دستور زیر را در ترمینال وارد کنید | ||
+ | < | ||
+ | getenforce | ||
+ | </ | ||
+ | در صورتی که تغییر در **SELinux** انجام نداده باشید باید **Enforcing** را برای شما نمایش دهد. | ||
+ | یک روش دیگری هم برای دیدن وضعیت فعال **SELinux** وجود دارد با دستور زیر که به همراه خروجی دستور نمایش داده شده است. | ||
+ | < | ||
+ | -> $sestatus | ||
+ | SELinux status: | ||
+ | SELinuxfs mount: | ||
+ | SELinux root directory: | ||
+ | Loaded policy name: | ||
+ | Current mode: | ||
+ | Mode from config file: enforcing | ||
+ | Policy MLS status: | ||
+ | Policy deny_unknown status: | ||
+ | Memory protection checking: | ||
+ | Max kernel policy version: | ||
+ | </ | ||
+ | ==== تغییر mode بصورت موقت==== | ||
+ | | ||
+ | < | ||
+ | [root@dlp ~]# setenforce 0 | ||
+ | [root@dlp ~]# getenforce | ||
+ | Permissive | ||
+ | </ | ||
+ | و برای برگشت به حالت **enforcing** به شکل زیر استفاده کنید | ||
+ | < | ||
+ | [root@dlp ~]# setenforce 1 | ||
+ | [root@dlp ~]# getenforce | ||
+ | Enforcing | ||
+ | </ | ||
+ | <WRAP center round tip 60%> | ||
+ | فقط توجه داشته باشید در صورت ریستارت کردن سیستم همه چیز به حالت پیش فرض برمیگرده | ||
+ | </ | ||
+ | ==== تغییر mode بصورت دائم==== | ||
+ | |||
+ | فقط کافیه فایل '' | ||
+ | < | ||
+ | | ||
+ | |||
+ | # This file controls the state of SELinux on the system. | ||
+ | # SELINUX= can take one of these three values: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # change value you'd like to set | ||
+ | SELINUX=enforcing | ||
+ | # SELINUXTYPE= can take one of these two values: | ||
+ | # | ||
+ | # | ||
+ | # mls - Multi Level Security protection. | ||
+ | SELINUXTYPE=targeted | ||
+ | </ | ||
+ | بعد از تغییر حالت باید سیستم را ریستارت کنید با دستور زیر | ||
+ | < | ||
+ | reboot | ||
+ | </ | ||
+ | اگر به هر دلیلی **SELinux** را غیرفعال کردید و میخواهید مجددا آنرا فعال کنید باید برچسب گذاری را مجددا انجام دهید برای این منظور دستور زیر را در ترمینال وارد بکنید و در انتها سیستم را ریستارت میکنیم. | ||
+ | < | ||
+ | [root@dlp ~]# touch / | ||
+ | [root@dlp ~]# reboot | ||
+ | </ | ||
+ | ===== SELinux Policy Type ===== | ||
+ | |||
+ | اگر **SELinux** در حالت | ||
+ | برای تغییر **Policy** باید فایل '' | ||
+ | به صورت پیش فرض **Policy** که روی فدورا فعال هست **targeted** است | ||
+ | اما اگر نوع **Policy** را تغییر دهید ، باید فایل آنرا هم نصب کنید. | ||
+ | اگر بدون نصب **Policy** را تغییر دهید ، سیستم بالا نخواهد آمد، بنابراین مراقب باشید. | ||
+ | با دستور زیر وضعیت **Policy** را میبینیم در خظ آخر خروجی مشخص هست | ||
+ | < | ||
+ | [root@dlp ~]# cat / | ||
+ | |||
+ | # This file controls the state of SELinux on the system. | ||
+ | # SELINUX= can take one of these three values: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | SELINUX=enforcing | ||
+ | # SELINUXTYPE= can take one of these two values: | ||
+ | # | ||
+ | # | ||
+ | # mls - Multi Level Security protection. | ||
+ | SELINUXTYPE=targeted | ||
+ | </ | ||
+ | فرض کنید که ما میخواهیم **Policy** را به **minimum** تغییر دهیم برای این منظور اول باید فایل آنرا نصب کنیم با دستور زیر | ||
+ | < | ||
+ | sudo dnf -y install selinux-policy-minimum | ||
+ | </ | ||
+ | و اگر از دایرکتوری '' | ||
+ | < | ||
+ | root@dlp ~]# ll / | ||
+ | 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 | ||
+ | </ | ||
+ | حالا در این مرحله میخواهیم | ||
+ | < | ||
+ | root@dlp ~]# vi / | ||
+ | # change " | ||
+ | |||
+ | # This file controls the state of SELinux on the system. | ||
+ | # SELINUX= can take one of these three values: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | SELINUX=enforcing | ||
+ | # SELINUXTYPE= can take one of these two values: | ||
+ | # | ||
+ | # | ||
+ | # mls - Multi Level Security protection. | ||
+ | SELINUXTYPE=minimum | ||
+ | </ | ||
+ | همانطور که مشخص هست ما خط آخر را به **minimum** تغییر دادیم سیستم را برای اعمال تغییرات ریستارت بکنید | ||
+ | برای دیدن وضعیت دستور زیر را در ترمینال تایپ کنید | ||
+ | < | ||
+ | [root@dlp ~]# sestatus | ||
+ | |||
+ | SELinux status: | ||
+ | SELinuxfs mount: | ||
+ | SELinux root directory: | ||
+ | Loaded policy name: | ||
+ | Current mode: | ||
+ | Mode from config file: enforcing | ||
+ | Policy MLS status: | ||
+ | Policy deny_unknown status: | ||
+ | Max kernel policy version: | ||
+ | </ | ||
+ | ۳ بسته برای **minimum** در مخازن وجود دارد که به ترتیب هر کدام را توضیح میدیم | ||
+ | * **Targeted** = این **Policy** معمولا بر روی فرایندهایی که حمله از آنجا انجام میشود اعمال میشود بصورت پیش فرض فعال هم هست | ||
+ | * **Minimum** =تمام **Policy** های این حالت با مدل بالا یکسان هست ولی تعداد کمتری برای پردازش استفاده میشوند | ||
+ | * **MLS** =در این مدل **Policy** امنیتی چند سطحی میگویند | ||
+ | ===== SELinux Context ===== | ||
+ | |||
+ | کنترل دسترسی به پرونده ها یا فهرست هابه صورت کلی SELinux Context گفته می شود. | ||
+ | |||
+ | **SELinux Context دارای نحو زیر است.** | ||
+ | |||
+ | < | ||
+ | [SELinux User]: | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
terminal/s/how-to-config-selinux-on-linux.1570772161.txt.gz · آخرین ویرایش: 2019/10/11 09:06 توسط phoenix