کنترلهای مدیریتی
|
2004-10-11, 11:46 AM,
ارسال : #1
|
|||
|
|||
کنترلهای مدیریتی
اگر یک ماشین خانگی را مدیریت می کنید ، مجبورید برخی از وظایف را به عنوان کاربر ریشه انجام دهید و یا با یک برنامه setuid مانند su و sudo نقشی مشابه root را بر روی سیستم اعمال کنید .
به هرحال در مورد مدیران سیستم در یک سازمان ، گزینه این است که میزان دسترسی کاربران به سطح مدیریتی را در ماشینهایشان مشخص کنید . در یک ماجول PAM که pam_console.so خوانده می شود ، برخی فعالیتهای معمول کاربر root گنجانده شده است ، مانند راه اندازی مجدد (rebooting) و متصل نمودن ابزارهای قابل جابه جایی که به اولین کاربری که به سیستم وارد شود اجازه داده شده است . به هر صورت دیگر وظایف مدیریتی مهم مانند تنظیمات شبکه ، نصب یک موشواره جدید و یا اتصال ابزارهای شبکه بدون دسترسی مدیریتی غیرممکن است . در نتیجه مدیران باید تصمیم بگیرند که کاربران به چه میزانی از دسترسی به سطح مدیریت نیاز دارند . اگر کاربران یک سازمان قابل اعتماد باشند ، آنگاه اجازه دسترسی آنها به سطح root چیز بدی نخواهد بود . مجوز دسترسی root به این معنی است که آنها شخصا می توانند ابزارها را اضافه کنند و رابط شبکه سیستم خود را شخصا تنظیم کنند و در چنین حالتی مدیران شبکه فرصت بیشتری برای مسائل مهمتر از قبیل امنیت شبکه خواهند داشت . گاهی مدیران بنا به دلایلی نمی خواهند به کاربران اجازه دسترسی به سطح root را بدهند . در این صورت باید کلمه عبور root محرمانه بماند و اجازه دسترسی به سطح اجرایی (runlevel) یک یا حالت SingleUser را به وسیله کلمه عبور bootLoader از کاربران گرفت . بستن پوسته root : برای جلوگیری از وارد شدن مستقیم به سیستم با عنوان root ، مدیر سیستم می تواند پوسته و حساب کاربری root را در فایل /etc/passwd به /sbin/nologin تغییر دهد . این کار از دسترسی به حساب کاربری root بوسیله دستورات پوسته (مانند su و ssh ) جلوگیری می کند . نکته : برنامه هایی مانند sudo که نیاز به دسترسی به پوسته ندارند هنوز هم می توانند به سطح root دسترسی داشته باشند . برای وضع محدودیت دسترسی به حساب root ، مدیران می توانند login های root در کنسول را به وسیله ویرایش فایل /etc/securetty را غیر فعال کنند . این فایل شامل فهرستی از ابزارهایی است که root اجازه دارد به آنها login کند . اگر این فایل وجود نداشته باشد ، کاربر ریشه می تواند با تمام ابزارها روی سیستم ارتباط برقرار کند . مانند ابزارهای شبکه و یا کنسول . این بسیار خطرناک است زیرا یک کاربر می تواند به عنوان root به ماشین Telnet کند و رمز عبورش را به صورت متنی خالص در میان شبکه انتقال دهد . برای جلوگیری از login کردن به عنوان root ، محتویات این فایل را با دستور زیر پاک کنید : [[ltr]echo > /etc/securrety[/ltr] اما این دستور از login از راه دور کاربر root با استفاده از OpenSSH جلوگیری نمی کند . زیرا در این روش تا بعد از تعیین اعتبار ، کنسول باز نمی شود . برای جلوگیری از login کردن root با استفاده از پروتکل SSH ، فایل تنظیمی دیمون SSH را ویرایش کرده (/etc/ssh/sshd-config) خط زیر را به صورت مقابل تغییر دهید . [ltr]#PermitLogin yes ---> #PermitLogin no[/ltr] ممکن است که مدیران ترجیح دهند که به جای قطع کامل دسترسی ، برخی از محدودیتها را اعمال کنند . و اجازه دسترسی را فقط از طریق برنامه های setuid مانند su و یا sudo بدهند. بعد از وارد کردن دستور su کاربر با اعلانی برای وارد کردن کلمه عبور root مواجه می شود . بعد از تعیین اعتبار به او یک پوسته root داده می شود . به دلیل قدرت بالای این دستور ، ممکن است که مدیران در یک سازمان ، بخواهند دسترسی به این دستور را محدود نمایند . یکی از ساده ترین راهها برای انجام این کار ، اضافه کردن کاربران به یک گروه مخصوص مدیریتی است که wheel خوانده می شود . که برای انجام این کار از الگوی زیر استفاده می کنیم : [ltr]Usermod –G wheel <user name> [/ltr] بعد فایل تنظیمی PAM مربوط به su (/etc/pamd/su) را باز کرده و [#] را از ابتدای خط زیر حذف می نماییم : [ltr]auth required /lib/scurity/pam-wheel.so use_uid[/ltr] انجام این کار فقط به کاربرانی که در گروه wheel عضویت دارند اجازه می دهد از su استفاده کنند . نکته : کاربر root به صورت پیش فرض عضوی از گروه wheel است . |
|||
|