محمد جوادی - SMJ
محمد جوادی - SMJ
خواندن ۳ دقیقه·۴ سال پیش

چطور با SElinux رفتار کنیم؟

مقدمه:

در این مقاله قصد داریم تا درباره چیستی و چگونگی استفاده از selinux و پیکربندی آن را مورد بررسی و تحقیق قرار دهیم؛ در بسیاری از استفاده کنندگان از این لینوکس مرسوم است که به محض اولین مواجهه با selinux، آن‌را از کار انداخته و به ادامه فعالیت خود می‌پردازند که این قضیه مضرات بسیاری را پیرامون خود نساخته و قابل انجام می‌باشد.

Selinux چیست ؟

سلینوکس به طور کلی تعریف کننده و مدیریت کننده دسترسی ها در برنامه‌ها، پردازش‌ها و فایل‌های سیستمی شما در لینوکس می‌باشد که امنیت اطلاعات و پردازش را برای شما به ارمغان می‌آورد.

بدین صورت که مدیریت این موضوع که چه زمانی چه چیزی به کدام یک از قسمت‌های دستگاه دسترسی داشته باشد را در خود نگاه داشته و مانع آن می‌شود که دسترسی‌های خارج از برنامه رخ دهد یا این که مشکلات امنیتی و بد افزار محور را تا حد خوبی محدود می‌کند؛ عمل بالا را به این صورت انجام می‌دهد که هر برنامه یا پردازشی که نیاز دسترسی به هر قسمتی را به عنوان یک درخواست به selinux ارائه کرده و این قسمت از سیستم با استفاده از و قسمت امنیت دستگاه لینوکسی با استفاده از خط مشی‌های امنیتی که در دیتابیس سلینوکس نگهداری می‌شود این اجازه را داده؛ یا آن‌را منع می‌کند.


چگونه selinux خود را تنظیم کنیم:

به طور کلی دو راه برای تنظیم و استفاده از selinux وجود دارد:

  • راه اول آنکه از ابزار پیکربندی سطح امنیتی دستگاه لینوکسی خود استفاده کنید.
  • دوم آنکه به صورت دستی آن‌را تنظیم نماییم.

به طور کلی در فایل:

/etc/sysconfig/selinux

می‌توانیم تنظیمات اولیه سلینوکس را انجام دهیم؛ بدین صورت که در این فایل قسمتی با الگو:

SELINUX=<enforcing|permissive|disabled>

وجود دارد که هر کدام از موارد رو به روی مساوی قابل وجود می‌باشند؛ در ادامه به بررسی و توضیح هر قسمت می‌پردازیم:

  • enforcing:
    بدان معناست که اقدامات امنیتی سلینوکس در حال اجرا می‌باشد.
  • Permissive:
    در این قسمت سلینوکس به حالتی رفتار می‌کند که اخطار‌های امنیتی را بررسی کرده اما در قبال آن‌ها عملی انجام نمی‌دهد و تنها مشکل امنیتی را به صورت اخطار در هنگام نوشتن خروجی برنامه در ترمینال پرینت کرده و شما را از مشکل مطلع می‌سازد؛ این حالت مخصوص رفع اشکال کدها و تعمیر پردازش‌ها و برنامه‌ها بوده و به شما قدرت خوانش بالایی را اعطا خواهد‌کرد.
  • Disable:
    در این حالت که اتفاقا پر تقاضاترین حالت selinux می باشد هم، این قسمت به طور کامل غیر‌فعال شده و هیچ اخطار یا تغییری در عملیات شما ایجاد نمی‌کند.

در قسمتی دیگر از فایل قسمتی با الگوی زیر ارائه شده‌است:

SELINUXTYPE=<targeted|strict>

هر کدام از مسائل رو به رو به صورت زیر قابل توضیح می‌باشند:

  • Targeted:
    شبکه‌های درگیر در سیستم را تحت نظر گرفته و امن می‌کند.
  • Strict:
    در این قسمت تمام شبکه دستگاه تحت حمایت امنیتی selinux قرار می‌گیرند و این بدان معناست که تمام موضوعات و عناوین امنیتی و غیرامنیتی شبکه از زیر تیغ بران سلینوکس رد می‌شود.

چگونه سلینوکس را کاملا غیر فعال کنیم:

ابتدا دستور زیر را در سرور اجرا می‌کنیم:

Sestatus

این دستور اطلاعات خوبی از اتفاقات در حال رخ دادن توسط selinux در سرور ما به ما می‌دهد.

سپس با استفاده از دستور پایین سلینوکس را کاملا در سیستم خود غیر فعال می‌نماییم:

sudo setenforce Permissive

حال با استفاده از دستور‌های زیر، تغییر خود را رهگیری می‌کنیم:

sestatus Getenforce

در خروجی هر دو این دستورات باید حالت selinux به permissive تغییر پیدا کرده باشد.

توجه: حالت بالا سلینوکس را تا زمانی که سرور روشن است از دسترس خارج می‌کند؛ در صورتی که علاقه‌مند به غیر‌فعال کردن دائم selinux دارید می‌توانید از ابتدا وارد فایل زیر شده:

sudo vi /etc/selinux/config

سپس جلوی عبارت SELINUX در چه هست را پاک کرده تا کلمه disabled را وارد نمایید؛ بدین صورت:

SELINUX=disabled

در این مرحله با دستور زیر دستگاه خود را ری‌استارت نمایید:

sudo reboot

بعد از دوباره بوت شدن سرور حال نوبت آن است تا با استفاده از دو دستور کنترلی زیر حالت سلینوکس را بررسی نمایید و از کرده خود مطمئن شوید.

getenforce sestatus

با تشکر از تیم ابر آراز که زمان لازم برای جمع آوری این مطالب را در اختیار من قرار داد.

در صورتی که نیاز به سرویس تحت پلتفرم ابری داشتید؛ می‌توانید سرویس‌هایی با قیمت و کیفیت مناسب را از ما تهیه نمایید.

آدرس ما: arazcloud.com

SELinuxlinuxubuntucentosserver
شاید از این پست‌ها خوشتان بیاید