با استفاده از نسخه آزمایشی رایگان 10 روزه O'Reilly به هک امنیت شبکه و 60 هزار عنوان دیگر دسترسی کامل داشته باشید.
همچنین رویدادهای آنلاین زنده، محتوای تعاملی، مواد آماده سازی گواهینامه و موارد دیگر وجود دارد.
کنترل دسترسی ورود به سیستم با PAM
کنترل دقیق زمان و مکان دسترسی کاربران به سیستم شما را در دست بگیرید.
در احراز هویت سنتی یونیکس، جزئیات زیادی در محدود کردن توانایی کاربر برای ورود به سیستم وجود ندارد. برای مثال، چگونه می توانید میزبان هایی را که کاربران می توانند هنگام ورود به سرورهای خود از آن ها استفاده کنند، محدود کنید؟اولین فکر شما ممکن است تنظیم بسته های TCP یا احتمالا قوانین فایروال [Hack #33] و [Hack #34] باشد. اما اگر بخواهید به برخی از کاربران اجازه دهید از یک هاست خاص وارد شوند، اما دیگران را از ورود از آن منع کنید، چه؟یا اگر بخواهید از ورود برخی از کاربران در ساعات خاصی از روز به دلیل نگهداری روزانه جلوگیری کنید، اما به دیگران (یعنی مدیران) اجازه دهید در هر زمانی که بخواهند وارد سیستم شوند، چه؟برای اینکه این کار با هر سرویسی که ممکن است روی سیستم شما اجرا شود، کار کند، به طور سنتی باید هر یک از آنها را برای پشتیبانی از این عملکرد جدید وصله کنید. این جایی است که PAM وارد تصویر می شود.
PAM یا ماژول های احراز هویت قابل اتصال، فقط این نوع عملکرد (و بیشتر) را بدون نیاز به وصله همه سرویس های شما امکان پذیر می سازد. PAM برای مدتی طولانی تحت لینوکس، FreeBSD و Solaris در دسترس بوده است و اکنون جزء استاندارد امکانات احراز هویت سنتی در این پلتفرم ها است. بسیاری از سرویس هایی که نیاز به استفاده از نوعی احراز هویت دارند، اکنون از PAM پشتیبانی می کنند.
ماژول ها برای سرویس ها در یک پشته پیکربندی می شوند و فرآیند احراز هویت از بالا به پایین ادامه می یابد، زیرا بررسی های دسترسی با موفقیت کامل می شوند. می توانید با ایجاد یک فایل در /etc/pam. d با همان نام سرویس، یک پشته سفارشی برای هر سرویس بسازید. اگر به جزئیات بیشتری نیاز دارید، می توانید با استفاده از ماژول pam_stack، یک پشته کامل از ماژول ها را اضافه کنید. این به شما امکان می دهد فایل خارجی دیگری حاوی یک پشته را مشخص کنید. اگر سرویسی فایل پیکربندی خود را در /etc/pam. d نداشته باشد، به طور پیش فرض از پشته مشخص شده در /etc/pam. d/other استفاده می کند.
هنگام پیکربندی یک سرویس برای استفاده با PAM ، انواع مختلفی از ورودی ها در دسترس است. این نوع به فرد اجازه می دهد تا مشخص کند که آیا یک ماژول تأیید اعتبار ، کنترل دسترسی ، کنترل تغییر رمز عبور یا تنظیم جلسه و اشکال را ارائه می دهد. در حال حاضر ، ما فقط به یکی از انواع علاقه مندیم: نوع حساب. این نوع ورودی به شما امکان می دهد ماژول هایی را کنترل کنید که دسترسی به حسابهای تأیید شده را کنترل می کنند. علاوه بر پرونده های پیکربندی خاص خدمات ، برخی از ماژول ها اطلاعات پیکربندی را گسترش داده اند که می توانند در پرونده های موجود در فهرست /etc /امنیت مشخص شوند. برای این هک ، ما عمدتاً از دو ماژول مفید از این نوع ، PAM_ACCESS و PAM_TIME استفاده خواهیم کرد.
ماژول PAM_ACCESS به فرد اجازه می دهد تا جایی که کاربر یا گروهی از کاربران ممکن است از آن وارد شوند ، محدود کند. برای استفاده از آن ، ابتدا باید خدماتی را که می خواهید از ماژول با آن استفاده کنید پیکربندی کنید. می توانید این کار را با ویرایش پرونده پیکربندی PAM سرویس در /etc/pam. d انجام دهید.
در اینجا نمونه ای از آنچه /etc/pam. d/login ممکن است در زیر Red Hat 9 به نظر برسد ، آورده شده است:
به استفاده از ماژول PAM_STACK توجه کنید-شامل پشته موجود در پرونده System-Auth است. بیایید ببینیم چه چیزی در داخل /etc/pam. d/system-auth وجود دارد:
برای افزودن ماژول PAM_ACCESS به سرویس ورود به سیستم ، می توانید یک حساب کاربری دیگری را به پرونده پیکربندی ورود به سیستم اضافه کنید ، که البته فقط ماژول را برای سرویس ورود به سیستم فعال می کند. از طرف دیگر ، می توانید ماژول را به پرونده سیستم-سیستم اضافه کنید ، که آن را برای بیشتر خدمات Aware PAM در سیستم فعال می کند.
برای افزودن PAM_ACCESS به سرویس ورود به سیستم (یا هر سرویس دیگر برای آن موضوع) ، به سادگی خطی مانند این را به پرونده پیکربندی سرویس پس از هرگونه ورود به حساب های موجود اضافه کنید:
اکنون که ما ماژول PAM_ACCESS را برای خدمات خود فعال کرده ایم ، می توانیم برای کنترل نحوه رفتار ماژول ، /etc/securance/access.conf را ویرایش کنیم. هر ورودی در پرونده می تواند چندین کاربر ، گروه ها و نام های میزبان را که ورودی در آن اعمال می شود مشخص کند و مشخص کند که آیا اجازه دسترسی از راه دور یا محلی را مجاز می کند. هنگامی که PAM_ACCESS با ورود به یک پرونده پیکربندی سرویس فراخوانی می شود ، خطوط Access.conf را جستجو می کند و در اولین مسابقه ای که پیدا می کند متوقف می شود. بنابراین ، اگر می خواهید ورودی های پیش فرض ایجاد کنید ، می خواهید ورودی های خاص تری را در ابتدا قرار دهید ، با ورودی های عمومی آنها را دنبال کنید.
شکل کلی ورود در Access.conf:
جایی که اجازه می تواند یا A + یا - باشد. این نشان می دهد که آیا این قانون به ترتیب دسترسی را اعطا می کند یا انکار می کند.
بخش کاربران به شما امکان می دهد لیستی از کاربران یا گروه ها را که توسط فضای سفید جدا شده اند ، مشخص کنید. علاوه بر لیست کاربران در این بخش از ورودی ، می توانید از Form User @ Host استفاده کنید ، جایی که میزبان نام میزبان محلی دستگاه است که در آن وارد می شود. این به شما امکان می دهد از یک فایل پیکربندی واحد در چندین دستگاه استفاده کنید ، اما هنوز هم قوانین مربوط به ماشین های خاص را مشخص کنید. بخش مبدا در برابر منشأ تلاش دسترسی مقایسه می شود. نام های میزبان را می توان برای ریشه های از راه دور استفاده کرد و از کلمه کلیدی ویژه محلی می توان برای دسترسی محلی استفاده کرد. به جای مشخص کردن صریح کاربران ، گروه ها یا ریشه ها ، می توانید از همه و به جز کلمات کلیدی برای انجام عملیات تنظیم شده در هر یک از لیست ها نیز استفاده کنید.
در اینجا یک مثال ساده از قفل کردن کاربر اندرو (EEP! این من!) از میزبان به نام Colossus آورده شده است:
توجه داشته باشید که اگر گروهی که نام خود را با کاربر به اشتراک می گذارد مشخص شده باشد ، ماژول این قانون را به عنوان درخواست هم برای کاربر و هم برای گروه تفسیر می کند.
اکنون که ما نحوه محدود کردن جایی را که کاربر ممکن است از آن وارد شود و چگونه می تواند یک ماژول PAM را تنظیم کند ، محدود کنیم ، اجازه می دهیم نگاهی بیندازیم که چگونه یک کاربر ممکن است با استفاده از ماژول PAM_TIME وارد سیستم شود. برای پیکربندی این ماژول ، باید ویرایش /etc/securance/time.conf را ویرایش کنید. فرمت ورودی های موجود در این پرونده کمی انعطاف پذیر تر از دسترسی .conf است.
فرم کلی برای ورود در زمان .conf:
بخش خدمات ورودی مشخص می کند که خدمات با قابلیت PAM چه چیزی تنظیم می شود. معمولاً می توانید با دیدن محتوای دایرکتوری /etc/pam. d ، لیست کاملی از خدمات موجود را دریافت کنید.
به عنوان مثال ، در اینجا محتوای /etc/pam. d در سیستم Redhat Linux وجود دارد:
برای تنظیم PAM_TIME برای استفاده با هر یک از این خدمات ، باید خطی مانند این را به پرونده در /etc/pam. d اضافه کنید که مربوط به خدماتی است که می خواهید تنظیم کنید:
بخش دستگاه ها دستگاه ترمینال را که به این سرویس دسترسی پیدا می کند مشخص می کند. برای ورود به سیستم کنسول ، می توانید از TTYP* استفاده کنید ، که تمام دستگاه های TTY را به جز شبه TTYS مشخص می کند. اگر می خواهید ورودی فقط روی ورود به سیستم از راه دور تأثیر بگذارد ، از TTYP* استفاده کنید. شما می توانید با استفاده از TTY* آن را برای همه کاربران (کنسول ، از راه دور و X11) محدود کنید.
برای بخش کاربران ورودی ، می توانید با جدا کردن هر یک از آنها با یک | یک کاربر واحد یا لیستی از کاربران را مشخص کنیدشخصیت. از بخش تایمز برای مشخص کردن زمان اعمال قانون استفاده می شود. هر محدوده زمانی با ترکیبی از دو مخفف شخصیت مشخص می شود ، که نشانگر روزهایی است که این قانون اعمال می شود ، و با طیف وسیعی از ساعت ها برای آن روز دنبال می شود. مخفف برای روزهای هفته MO ، TU ، WE ، TH ، FR ، SA و SU است. برای راحتی می توانید از WK برای مشخص کردن روزهای هفته و WD برای مشخص کردن آخر هفته استفاده کنید. علاوه بر این ، شما می توانید از AL برای مشخص کردن هر روز از هفته استفاده کنید. این سه مورد آخر اساساً به مجموعه روزهایی که هر دوره زمانی آهنگسازی می کنند ، گسترش می یابد. این مهم است که به یاد داشته باشید ، از آنجا که روزهای مکرر از مجموعه روزهایی که این قانون برای آن اعمال می شود ، کم می شود (به عنوان مثال ، WKSU به طور موثری فقط SA خواهد بود). دامنه ساعت ها به سادگی به عنوان دو بار 24 ساعته مشخص می شود ، منهای کلون ها ، که توسط یک داش جدا می شوند (به عنوان مثال ، 0630-1345 از 6:30 صبح تا 1:45 بعد از ظهر است).
اگر می خواستید دسترسی به کاربر اندرو را از کنسول محلی در آخر هفته و در طول هفته بعد از ساعت ها مجازات کنید ، می توانید از ورودی مانند این استفاده کنید:
یا شاید شما می خواهید ورود به سیستم از راه دور را از طریق SSH در طی یک پنجره تعمیر و نگهداری سیستم که از ساعت 7 بعد از ظهر به طول انجامید ، محدود کنید. جمعه تا 7 A. M. شنبه ، اما می خواهید اجازه دهید یک Sysadmin وارد شود:
همانطور که مشاهده می کنید ، به لطف اپراتورهای منطقی بولی که در دسترس هستند ، انعطاف پذیری زیادی برای ایجاد ورودی وجود دارد. فقط مطمئن شوید که هنگام ایجاد ورودی در /etc/securance/time.conf ، به یاد داشته باشید که پرونده سرویس را در /etc/pam. d برای استفاده با PAM_TIME پیکربندی کنید.
اکنون هک های امنیتی شبکه را با پلت فرم یادگیری O'Reilly دریافت کنید.
اعضای O'Reilly آموزش آنلاین آنلاین ، به علاوه کتاب ، فیلم و محتوای دیجیتالی را از نزدیک به 200 ناشر تجربه می کنند.
فارکس کاران ایران...
ما را در سایت فارکس کاران ایران دنبال می کنید
برچسب :
نویسنده : ديناروند فهيمه
بازدید : <-PostHit->
تاريخ : جمعه
19 خرداد
1402 ساعت: 18:05