Tighten console permissions for privileged users

Tighten console permissions for privileged users

 Tighten console permissions for privileged users

یک فایلی داریم بنام console.perms  که یکی از فایل های امنیتی لینوکس است که

از ماژول pam_console.so استفاده میکند.

این فایل بدین منظور طراحی شده است تا کاربرانی که اجازه دسترسی برای آنها صادر

شده است ، بتوانند  کنسول فیزیکی و قابلیت های آن  مثل ترمینال مجازی یا virtual terminal 

و محیط گرافیکی سیستم یا همان local xdm-managed X session ، دسترسی داشته باشند .

این مسئله در حالی است که کاربران دیگر این اجازه را نخواهند داشت . همچنین افراد دارای

مجوز میتوانند به قابلیت های کنسول حتی در زمانی که به کنسول لاگین نکرده باشند نیز

دسترسی داشته باشند . 

  حالا این قابلیتهای کنسول که در بالا ذکر کردیم یعنی چی ؟

دو نوع قابلیت در کنسول داریم : یکی اجازه های دسترسی به فایل ها و دیگری تشخیص

هویت یا همان حراست است . 

زمانیکه کاربری به کنسول لاگین میکند ، بر طبق تعریفی که در فایل etc/security/console.perms/

و بر اساس ماژول pam_console.so کلیه مجوزهای دسترسی به کنسول بر اساس آن کاربری

که در فایل console.perms مشخص شده است تغییر میکند . 

یعنی اگر کاربری با نام student به کنسول لاگین کند و در فایل cosole.perms گفته شده که

مجوزهای دسترسی و مالک فایل Mislinux باشد ، اجازه های دسترسی کاربر student به

کاربر Mislinux تغییر می یابد . 

دقت کنید که وقتی صحبت از کاربر دارای مجوز میشود این کاربر حتما جزو کاربرانی که بصورت

نرمال تعریف میکنیم نمی باشد بلکه این کاربران می توانند شامل فلاپی دیسک ، cdrom ،

scanner یا موارد دیگری که در محیط شبکه ما وجود دارند بعنوان یک کاربر دارای مجوز در نظر

گرفته میشود. 

خب بدین منظور کارهای زیر را انجام می دهیم :

مرحله اول :

فایل پیکربندی console.perms که بصورت پیش فرض در لینوکس وجود دارد به اندازه

کافی برای کاربران معمولی امن هست ولی از آنجایی که افرادی روی server محیط

گرافیکی را نیز نصب میکنند بنابراین تعداد کاربران مجوز دار مثل sound , jaz و غیره

هم به لیست کاربران مجوز دار اضافه میشود.

اما غالبا برای داشتن محیط امن تر معمولا روی server از نصب محیط گرافیکی یا

Xwindows که GUI را در بردارد ؛ خودداری میشود . بنابراین اگر اصلا محیط گرافیکی

را نصب نمی کنید پس کاربرانی مثل sound,jaz هم نخواهید داشت .

به منظور امن سازی محیط لینوکس بهتر است کلیه کاربرانی که قرار نیست در سیستم

از آنها استفاده کنیم و یا مجوز لازم را ندارند حذف یا محدود نماییم. 

یعنی به منظور امن سازی server بهتر است که تعیین کنیم که چه کاربران مجوز داری در

سیستم تعریف شوند و با چه مجوزهایی که بصورت زیر این کار را انجام می دهیم :

فایل console.perms را که در مسیر etc/security/console.perms/   را ویرایش کرده

که بصورت پیش فرض این فایل بصورت زیر می باشد :

  # file classes — these are regular expressions

<console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9]

<xconsole>=:[0-9]\.[0-9] :[0-9]

# device classes — these are shell-style globs

<floppy>=/dev/fd[0-1]* \

         /dev/floppy/* /mnt/floppy*

<sound>=/dev/dsp* /dev/audio* /dev/midi* \

        /dev/mixer* /dev/sequencer \

        /dev/sound/* /dev/beep

<cdrom>=/dev/cdrom* /dev/cdroms/* /dev/cdwriter* /mnt/cdrom*

<pilot>=/dev/pilot

<jaz>=/mnt/jaz*

<zip>=/mnt/pocketzip* /mnt/zip*

<ls120>=/dev/ls120 /mnt/ls120*

<scanner>=/dev/scanner /dev/usb/scanner*

<rio500>=/dev/usb/rio500

<camera>=/mnt/camera* /dev/usb/dc2xx* /dev/usb/mdc800*

<memstick>=/mnt/memstick*

<flash>=/mnt/flash*

<diskonkey>=/mnt/diskonkey*

<rem_ide>=/mnt/microdrive*

<fb>=/dev/fb /dev/fb[0-9]* \

     /dev/fb/*

<kbd>=/dev/kbd

<joystick>=/dev/js[0-9]*

<v4l>=/dev/video* /dev/radio* /dev/winradio* /dev/vtx* /dev/vbi* \

      /dev/video/*

<gpm>=/dev/gpmctl

<dri>=/dev/nvidia* /dev/3dfx*

<mainboard>=/dev/apm_bios

 

# permission definitions

<console>  ۰۶۶۰ <floppy>     ۰۶۶۰ root.floppy

<console>  ۰۶۰۰ <sound>      ۰۶۰۰ root

<console>  ۰۶۰۰ <cdrom>      ۰۶۶۰ root.disk

<console>  ۰۶۰۰ <pilot>      ۰۶۶۰ root.uucp

<console>  ۰۶۰۰ <jaz>        ۰۶۶۰ root.disk

<console>  ۰۶۰۰ <zip>        ۰۶۶۰ root.disk

<console>  ۰۶۰۰ <ls120>      ۰۶۶۰ root.disk

<console>  ۰۶۰۰ <scanner>    ۰۶۰۰ root

<console>  ۰۶۰۰ <camera>     ۰۶۰۰ root

<console>  ۰۶۰۰ <memstick>   ۰۶۰۰ root

<console>  ۰۶۰۰ <flash>      ۰۶۰۰ root

<console>  ۰۶۰۰ <diskonkey>  ۰۶۶۰ root.disk

<console>  ۰۶۰۰ <rem_ide>    ۰۶۶۰ root.disk

<console>  ۰۶۰۰ <fb>         ۰۶۰۰ root

<console>  ۰۶۰۰ <kbd>        ۰۶۰۰ root

<console>  ۰۶۰۰ <joystick>   ۰۶۰۰ root

<console>  ۰۶۰۰ <v4l>        ۰۶۰۰ root

<console>  ۰۷۰۰ <gpm>        ۰۷۰۰ root

<console>  ۰۶۰۰ <mainboard>  ۰۶۰۰ root

<console>  ۰۶۰۰ <rio500>     ۰۶۰۰ root

 <xconsole> 0600 /dev/console 0600 root.root

<xconsole> 0600 <dri>        ۰۶۰۰ root

 

حالا فایل بالا را بصورت زیر می توانیم تغییر دهیم و آنچه نمی خواهیم را حذف نماییم :

 

# file classes — these are regular expressions

<console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9]

 # device classes — these are shell-style globs

<floppy>=/dev/fd[0-1]* \

         /dev/floppy/* /mnt/floppy*

<cdrom>=/dev/cdrom* /dev/cdroms/* /dev/cdwriter* /mnt/cdrom*

<pilot>=/dev/pilot

<fb>=/dev/fb /dev/fb[0-9]* \

     /dev/fb/*

<kbd>=/dev/kbd

<gpm>=/dev/gpmctl

<mainboard>=/dev/apm_bios

 # permission definitions

<console>  ۰۶۶۰ <floppy>     ۰۶۶۰ root.floppy

<console>  ۰۶۰۰ <cdrom>      ۰۶۶۰ root.disk

<console>  ۰۶۰۰ <pilot>      ۰۶۶۰ root.uucp

<console>  ۰۶۰۰ <fb>         ۰۶۰۰ root

<console>  ۰۶۰۰ <kbd>        ۰۶۰۰ root

<console>  ۰۷۰۰ <gpm>        ۰۷۰۰ root

<console>  ۰۶۰۰ <mainboard>  ۰۶۰۰ root

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

sound, jaz drive, zip drive, scanner, joystick, video زا که مرتبط با فیزیکال کنسول

هستند را حذف می کنیم .

به منظور مطالعه در مورد نحوه غیر دسترسی کردن کنسول به کاربرانی که نمی خواهیم به این مقاله مراجعه کنید . 

به منظور محدودیت در طول کلمه رمز به این مقاله مراجعه کنید .

 

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *