نحوه استفاده از PAM برای پیکربندی احراز هویت در Ubuntu 12. 04 VPS

ساخت وبلاگ

How To Use PAM to Configure Authentication on an Ubuntu 12.04 VPS

این مقاله نسخه ای از اوبونتو را پوشش می دهد که دیگر پشتیبانی نمی شود. اگر در حال حاضر سرور Ubuntu 12. 04 را اجرا می کنید ، ما به شدت توصیه می کنیم به نسخه پشتیبانی شده اوبونتو ارتقا یا مهاجرت کنید:

دلیل: اوبونتو 12. 04 در تاریخ 28 آوریل 2017 به پایان زندگی (EOL) رسید و دیگر تکه های امنیتی یا به روزرسانی ها را دریافت نمی کند. این راهنما دیگر نگهداری نمی شود.

در عوض ببینید: این راهنما ممکن است به عنوان یک مرجع مفید باشد ، اما ممکن است در سایر نسخه های اوبونتو کار نکند. در صورت وجود ، ما اکیداً توصیه می کنیم از راهنمایی نوشته شده برای نسخه اوبونتو که استفاده می کنید استفاده کنید. برای یافتن نسخه جدیدتر می توانید از عملکرد جستجو در بالای صفحه استفاده کنید.

معرفی

PAM یا ماژول های احراز هویت Pluggage ، یک لایه انتزاعی است که در سیستم عامل های لینوکس و یونیکس مانند وجود دارد که برای فعال کردن احراز هویت بین انواع خدمات استفاده می شود.

این سیستم به عنوان واسطه ای بین خدمات تأیید اعتبار و برنامه هایی که به تأیید اعتبار کاربر نیاز دارند ، ساخته شده است ، این سیستم به این دو لایه اجازه می دهد تا بدون نیاز به بازنویسی کد ، مدل های احراز هویت را ادغام کنند و مدلهای احراز هویت را تغییر دهند. این کار با استفاده از ماژول ها انجام می شود.

در این راهنما ، ما به سیستم PAM در VP های Ubuntu 12. 04 نگاه خواهیم کرد ، اگرچه بیشتر توزیع های مدرن لینوکس باید به روشی مشابه عمل کنند.

پشت صحنه: آجیل و پیچ های پام

احراز هویت قابل پلاگین چگونه کار می کند

بسیاری از برنامه های عادی که روزانه در یک محیط لینوکس با آنها ارتباط برقرار می کنیم ، در واقع از PAM در زیر کاپوت استفاده می کنند.

برنامه ها باید با پشتیبانی کتابخانه PAM نوشته شوند. برای به دست آوردن لیستی از برنامه های موجود در سیستم خود که می توانند به نوعی از PAM استفاده کنند ، نوع:

با تایپ می توانید یک برنامه خاص برای عملکرد PAM را بررسی کنید:

اگر هر چیزی را برگرداند ، می تواند از PAM استفاده کند.

همانطور که مشاهده می کنید ، بسیاری از ابزارها و ابزارهای مشترک در واقع از PAM به عنوان واسطه برای انجام وظایف خود استفاده می کنند.

سازماندهی

نسخه Linux PAM بسته به اینکه در کدام بخش از فرآیند درگیر آنها باشد ، عملکرد ماژول را به دسته های مختلف تقسیم می کند. در اینجا توضیح مختصری از دسته ها آورده شده است:

توابع احراز هویت: ماژول های احراز هویت اعتبار تأیید اعتبار کاربر را تأیید می کنند. این بدان معنی است که آیا کاربر می تواند اعتبار معتبر را تأمین کند.

توابع حساب: این ماژول ها وظیفه تصمیم گیری در مورد حسابهایی را دارند که سعی در ورود به سیستم دارند ، به منابعی که در حال حاضر درخواست می کند دسترسی دارد. PAM به شما امکان می دهد کنترل هایی را که می تواند بر اساس معیارهای از پیش تعیین شده ، کاربران را انکار یا اجازه دهد را مشخص کنید.

توابع جلسه: این ماژول ها محیطی را ایجاد می کنند که پس از ورود یا ورود به سیستم کاربر ایجاد و پاره می شوند. پرونده های جلسه می توانند تعیین کنند که کدام دستورات برای آماده سازی محیط باید اجرا شوند.

توابع رمز عبور: این ماژول ها وظیفه به روزرسانی جزئیات تأیید اعتبار خدمات مختلف را بر عهده دارند. اگر یک رمز عبور برای یک سرویس تغییر یابد ، این ماژول می تواند در برقراری ارتباط با سرویس و اصلاح مقادیر صحیح کمک کند.

دو دسته اول از این دسته از ماژول ها هر بار که یک برنامه با موفقیت از PAM برای احراز هویت استفاده می کند ، ارجاع می شوند. ماژول های جلسه در صورت لزوم بعد از دو مورد اول اجرا می شوند. ماژول های رمز عبور به صورت تقاضا قابل دسترسی هستند.

از نظر ساختار دایرکتوری ، پرونده های پیکربندی PAM در /etc/pam. d ذخیره می شوند:

این فهرست به طور کلی دارای یک فایل پیکربندی برای هر برنامه است که درخواست تأیید اعتبار PAM را می دهد. اگر یک برنامه با PAM تماس بگیرد اما هیچ فایل پیکربندی مرتبط وجود ندارد ، پرونده پیکربندی "دیگر" اعمال می شود.

در داخل پرونده های پیکربندی ، معمولاً تماس هایی وجود دارد که پرونده های پیکربندی را با "مشترک" شروع می کنند. این پرونده های پیکربندی کلی هستند که قوانین آنها باید در بیشتر مواقع اعمال شود.

ماژول هایی که در پرونده های پیکربندی ارجاع شده اند می توانند با این دستور واقع شوند:

به این فهرست نگاه کنید تا ببینید چه نوع ماژول هایی برای استفاده در دسترس هستند. تقریباً همه ماژول ها دارای صفحات مردانه هستند که می توانند استفاده از آنها را توصیف کنند.

چگونه PAM احراز هویت را ارزیابی می کند

هنگامی که یک برنامه از سیستم PAM برای احراز هویت پرس و جو می کند ، PAM پرونده پیکربندی PAM مربوطه را می خواند.

پرونده های پیکربندی شامل لیستی از ماژول های PAM و نحوه برخورد با آنها هستند. هر ماژول به نوبه خود خوانده می شود و هر تماس به یک ماژول نتیجه موفقیت یا عدم موفقیت را ایجاد می کند.

براساس این مقادیر ، پرونده پیکربندی تصمیم می گیرد که آیا باید پیام "تأیید اعتبار" را به تماس گیرنده برگرداند یا پیام خرابی تأیید اعتبار را برای آن ارسال کند.

پیکربندی ها می توانند در بازگشت اولین خرابی از یک ماژول نامیده شده شکست بخورند ، یا می توان خط مشی های جایگزین را پیکربندی کرد. به عنوان مثال ، یک سیستم ممکن است به کاربران LDAP اجازه دهد تا تأیید اعتبار کنند. در صورت عدم موفقیت ، ممکن است در مقابل لیست کاربران محلی بررسی شود.

خطوط هر پرونده پیکربندی از بالا به پایین ارزیابی می شود ، مگر اینکه یک ارزیابی خط باعث شود بقیه پرونده پیکربندی رد شود.

نحوه خواندن خطوط سیاست

هر خط در یک فایل پیکربندی حاوی نحو زیر است که هر فیلد توسط فضای سفید مشخص شده است.

پرونده های واقع در /etc/pam. d قسمت سرویس را حذف می کنند و در عوض ، پرونده پیکربندی را پس از برنامه ای که در آن ارائه می شود ، نامگذاری کنید. اگر دایرکتوری PAM. D وجود نداشته باشد ، در عوض پرونده A /etc/pam.conf نیاز است و برنامه مربوطه باید در ابتدای هر خط ذکر شود.

نوع نوع خدماتی است که ارائه می شود. این یکی از چهار دسته ذکر شده در بالا است (احراز هویت ، حساب ، رمز عبور ، جلسه).

Control عمل انجام شده هنگام دریافت وضعیت بازگشت تماس ماژول را مشخص می کند. این می تواند هر یک از این مقادیر باشد (و علاوه بر این می تواند یک نحو پیچیده تر ، که در اینجا پوشانده نمی شود) باشد:

مورد نیاز: اگر تماس ماژول منجر به خرابی شود ، این امر منجر به خرابی احراز هویت می شود. ماژول های مشخص شده باقی مانده هنوز نامیده می شوند.

لازم: این دقیقاً مانند مورد نیاز رفتار می کند ، اما بلافاصله به جای فراخوانی ماژول های باقیمانده منجر به خرابی احراز هویت می شود.

کافی است: این کنترل به این معنی است که اگر این خط موفق شود (به شرط عدم موفقیت ماژول مورد نیاز) ، احراز هویت بلافاصله بدون اجرای ماژول های باقی مانده موفق می شود. خرابی این خط به سادگی به تماس ماژول بعدی می رود.

اختیاری: موفقیت یا عدم موفقیت این خطوط هیچ تاثیری در موفقیت یا عدم موفقیت در تأیید اعتبار کلی ندارد ، مگر اینکه آنها تنها تماس ماژول از نوع آنها باشند.

شامل: این خط نشان می دهد که خطوط از یک نوع معین باید از اسکریپت پیکربندی دیگری خوانده شوند. این اغلب برای مراجعه به پرونده های "مشترک" استفاده می شود.

Substack: این شبیه به شامل می شود ، اما شکست یا موفقیت باعث خروج کل پرونده نمی شود ، فقط Substack.

-مسیر ماژول نام ماژول PAM برای تماس است.

ماژول-آراء پارامترهای اختیاری است که به ماژول منتقل می شوند. بعضی اوقات این موارد ضروری است که ماژول بدانیم در صورت موفقیت چه اقدامی را انجام می دهد.

پرونده های فردی همچنین ممکن است به پرونده های دیگری که باید با استفاده از نحو زیر بررسی شوند ، مراجعه کنند:

این در کل پرونده پیکربندی خوانده می شود ، که با نوع کنترل "شامل" متفاوت است ، که فقط در خطوطی از همان نوع می خواند.

بررسی تنظیمات مثال

ما می توانیم با بررسی برخی از نمونه های موجود در فهرست /etc/pam. d ، این حس را پیدا کنیم که مشتریان چگونه پیکربندی می شوند.

پرونده ای را که الزامات تأیید اعتبار برای "ATD" را توصیف می کند ، باز کنید ، که یک برنامه ریزی Daemon است.

خط اول ماژول "PAM_ENV" را صدا می کند. اگر به صفحات مرد نگاه کنید ، خواهید دید که از این ماژول برای تنظیم برخی متغیرهای محیطی استفاده می شود که به طور پیش فرض در /etc/securance/pam_env.conf ذخیره می شوند. این "لازم" است به این معنی که اگر این ماژول "شکست" شود ، کل پیکربندی شکست خواهد خورد ، اما این اتفاق نمی افتد.

سه خط بعدی که در پرونده های "Auth Common-Auth" ، "Common-Account" و "Common-Session-Noninteractive" خواندند تا با نقش های مربوطه خود مقابله کنند.

خط آخر ماژول "PAM_LIMITS" را می خواند ، که پرونده /etc/security/limits.conf یا /etc/securance/limits. d/ را بررسی می کند. این می تواند برای اجرای محدودیت در تعداد کاربرانی که می توانند همزمان از یک سرویس استفاده کنند ، از جمله موارد دیگر استفاده شود.

ما می توانیم با دیدن پرونده هایی که به آنها مراجعه می کنند ، درک کاملی از همه چک های مورد نظر کسب کنیم.

بررسی پرونده مشترک-حقوقی

من نظرات را از پرونده حذف کردم تا اطلاعات را متراکم کنم.

خط اول چیزی نیست که ما هنوز در مورد آن بحث کرده ایم. ما می توانیم بگوییم که این ماژول "PAM_UNIX" را فراخوانی می کند ، که تأیید هویت استاندارد UNIX را از طریق پرونده "/etc/nsswitch.conf" پیکربندی می کند. معمولاً این فقط به معنای بررسی پرونده های /etc /passwd و /etc /سایه است ، همانطور که انتظار می رود.

آرگومان "nullok_secure" که به ماژول یونیکس منتقل می شود ، مشخص می کند که حسابهای بدون رمز عبور خوب نیستند ، تا زمانی که اطلاعات ورود به سیستم با پرونده /etc /securetty بررسی شود.

قسمت کنترل ، که "[[موفقیت = 1 پیش فرض = نادیده گرفتن]" قسمت عجیب این مثال است. این پارامترهای ساده شده "مورد نیاز" ، "کافی" و غیره را جایگزین می کند و کنترل ریز دانه ای را امکان پذیر می کند.

در این مثال ، اگر ماژول موفقیت خود را برگرداند ، خط "1" بعدی را رد می کند. مورد پیش فرض ، که هر مقدار بازگشت دیگر ماژول را کنترل می کند ، منجر به نادیده گرفتن و حرکت در خط می شود.

خط دوم دارای مقدار کنترل "لازم" است به این معنی که در صورت عدم موفقیت ، کل پیکربندی بلافاصله یک خرابی را برمی گرداند. همچنین از ماژول "PAM_DENY" فراخوانی می کند ، که برای هر تماس یک شکست را برمی گرداند.

این بدان معنی است که این همیشه شکست خواهد خورد. تنها استثناء این است که این خط از بین می رود ، که وقتی خط اول با موفقیت باز می گردد اتفاق می افتد.

خط سوم مورد نیاز است و ماژول "pam_permit" را فراخوانی می کند که هر بار موفقیت را برمی گرداند. این به سادگی رکورد فعلی "pass/fail" را در این نقطه بازنشانی می کند تا اطمینان حاصل شود که مقادیر عجیب و غریبی از قبل وجود ندارد.

خط چهارم به عنوان اختیاری فهرست شده است و ماژول "pam_ecryptfs" را با گزینه "unwrap" فراخوانی می کند. این برای باز کردن یک عبارت عبور با استفاده از رمز عبور ارائه شده استفاده می شود، که سپس برای نصب دایرکتوری خصوصی استفاده می شود. این تنها زمانی مرتبط است که از این فناوری استفاده می کنید، به همین دلیل اختیاری است.

بررسی فایل حساب مشترک

ما به فایل بعدی که در پیکربندی "atd" ارجاع داده شده است نگاه خواهیم کرد. یک بار دیگر برای اختصار نظرات را حذف خواهم کرد.

تقریباً همه چیز در این فایل مشابه فایل "common-auth" است. خط اول برای بررسی حساب با ماژول "pam_unix" درخواست می کند.

ماژول ها بسته به "نوع" تماس می توانند عملکردهای مختلفی را انجام دهند. برای تماس های حساب، pam_unix بررسی می کند که حساب منقضی نشده باشد و با محدودیت های ورود مبتنی بر زمان کنترل نمی شود.

اگر بگذرد، از فراخوانی "pam_deny" زیر آن صرفنظر می کند و سپس قانون مجوز را در پایان پردازش می کند. از طرف دیگر، اگر شکست بخورد، به سمت خط انکار حرکت می کند و با شکست خارج می شود.

بررسی فایل مشترک جلسه غیر تعاملی

بخش بعدی بررسی های جلسه برای برنامه ها یا محیط های غیر تعاملی را ارائه می دهد.

ممکن است سه خط اول عجیب به نظر برسند. تا این مرحله باید بتوانید جریان برنامه را درک کنید، اما احتمالاً آنها دلخواه و اضافی به نظر می رسند. خط اول همیشه موفق است، خط بعدی حذف می شود و خط سوم همیشه موفق است.

آنها به این ترتیب هستند زیرا بسیاری از پیکربندی های PAM به صورت خودکار تولید می شوند و زمانی که روش های احراز هویت آگاه PAM در دسترس هستند، برای ارائه قوانین اساسی تر اصلاح می شوند. این فقط چارچوبی را ایجاد می کند که در آن قوانین جدیدی را می توان درج کرد تا بعداً بر جریان برنامه تأثیر بگذارد.

خط چهارم تماسی با ماژول "pam_umask" است و به صورت اختیاری مشخص شده است. این ماسک ایجاد فایل را برای جلسه تنظیم می کند. تعدادی از مکان های فایل مختلف را بررسی می کند تا مکان umask مربوطه را پیدا کند.

خط پنجم یک تماس مجدد با ماژول pam_unix است. از آنجایی که این یک نوع تماس است، ماژول یونیکس رفتار متفاوتی دارد، اما باز هم. در این مورد، لاگ کردن را با ابزارهای کمکی سیستم پیاده سازی می کند.

آخرین خط دوباره یک تماس "pam_ecryptfs" است. عملکردی مشابه با قرار دادن آن در فایل "auth" انجام می دهد.

نتیجه

PAM می تواند در ابتدا برای استاد بسیار پیچیده باشد. با این حال ، درک اساسی از نحوه عملکرد سیستم و چگونگی پیوند دادن مؤلفه های مختلف به یکدیگر برای توسعه روش های احراز هویت عاقلانه ضروری است.

در حالی که ممکن است شما همه چیزهایی را که در پیکربندی قوانین PAM پیش می رود ، درک نکنید ، خوب است که از چه سیستم هایی برای محافظت در برابر استفاده نامشروع از رایانه استفاده کنید.

درک PAM به ویژه هنگام اجرای یک طرح احراز هویت جدید ، مانند LDAP ، از اهمیت ویژه ای برخوردار است. برای استفاده از سیستم جدید ، یا به طور کامل ، طرح های احراز هویت باید تغییر کنند.

اگر از این آموزش و جامعه گسترده تر ما لذت بردید ، در نظر بگیرید که محصولات دیجیتالی ما را بررسی کنید که می تواند به شما در دستیابی به اهداف توسعه خود نیز کمک کند.< SPAN> PAM می تواند در ابتدا برای استاد بسیار پیچیده باشد. با این حال ، درک اساسی از نحوه عملکرد سیستم و چگونگی پیوند دادن مؤلفه های مختلف به یکدیگر برای توسعه روش های احراز هویت عاقلانه ضروری است.

تجارت با گزینه‌‌های باینری...
ما را در سایت تجارت با گزینه‌‌های باینری دنبال می کنید

برچسب : نویسنده : نازنین فراهانی بازدید : 41 تاريخ : سه شنبه 16 خرداد 1402 ساعت: 19:52