rlm_pap(5) FreeRADIUS Module rlm_pap(5)

rlm_pap - ماژول احراز هویت PAP در FreeRADIUS

ماژول rlm_pap بسته‌های Access-Request پروتکل RADIUS را که شامل ویژگی User-Password هستند احراز هویت می‌کند. این ماژول همچنین باید در انتهای بخش authorize قرار گیرد تا بتواند ویژگی Auth-Type را بر حسب نیاز تنظیم کند.

هنگامی که یک بستهٔ RADIUS حاوی گذرواژه به صورت متن آشکار (clear-text) در قالب ویژگی User-Password باشد، می‌توان از ماژول rlm_pap برای احراز هویت استفاده کرد. این ماژول به یک گذرواژهٔ «معتبر شناخته‌شده» (known good) نیاز دارد که با استفاده از آن، گذرواژهٔ ارائه‌شده در بستهٔ RADIUS را اعتبارسنجی می‌کند. این گذرواژهٔ «معتبر شناخته‌شده» باید توسط ماژول دیگری (مانند rlm_files، rlm_ldap و غیره) تأمین شود و معمولاً از یک پایگاه‌داده دریافت می‌گردد.

تنها مورد پیکربندی عبارت است از:

مقدار پیش‌فرض "yes" است. این بدان معناست که ماژول تلاش خواهد کرد گذرواژه‌های کدگذاری‌شده به صورت hex یا base64 را به طور خودکار شناسایی کرده و آن‌ها را به نمایش دودویی (باینری) بازگرداند. با این حال، ممکن است برخی گذرواژه‌های متنی آشکار به اشتباه تبدیل شوند. تنظیم این گزینه روی "no" مانع از این تبدیل می‌شود.

این ماژول به دنبال ویژگی کنترلی Password-With-Header می‌گردد تا گذرواژهٔ «معتبر شناخته‌شده» را بیابد. مقدار این ویژگی شامل سرایند (header) است که بلافاصله داده‌های گذرواژه به دنبال آن می‌آید. سرایند در جدول زیر مشخص شده است.

Header       Attribute           Description
------       ---------           -----------
{clear}      Cleartext-Password  Clear-text passwords
{cleartext}  Cleartext-Password  Clear-text passwords
{crypt}      Crypt-Password      Unix-style "crypt"ed passwords
{md5}        MD5-Password        MD5 hashed passwords
{base64_md5} MD5-Password        MD5 hashed passwords
{smd5}       SMD5-Password       MD5 hashed passwords, with a salt
{sha}        SHA-Password        SHA1 hashed passwords
             SHA1-Password       SHA1 hashed passwords
{ssha}       SSHA-Password       SHA1 hashed passwords, with a salt
{sha2}       SHA2-Password       SHA2 hashed passwords
{sha224}     SHA2-Password       SHA2 hashed passwords
{sha256}     SHA2-Password       SHA2 hashed passwords
{sha384}     SHA2-Password       SHA2 hashed passwords
{sha512}     SHA2-Password       SHA2 hashed passwords
{ssha224}    SSHA2-224-Password  SHA2 hashed passwords, with a salt
{ssha256}    SSHA2-256-Password  SHA2 hashed passwords, with a salt
{ssha384}    SSHA2-384-Password  SHA2 hashed passwords, with a salt
{ssha512}    SSHA2-512-Password  SHA2 hashed passwords, with a salt
{nt}         NT-Password         Windows NT hashed passwords
{nthash}     NT-Password         Windows NT hashed passwords
{md4}        NT-Password         Windows NT hashed passwords
{x-nthash}   NT-Password         Windows NT hashed passwords
{ns-mta-md5} NS-MTA-MD5-Password Netscape MTA MD5 hashed passwords
{x- orcllmv} LM-Password         Windows LANMAN hashed passwords
{X- orclntv} NT-Password         Windows NT hashed passwords

ماژول تلاش می‌کند هنگام کار با قالب‌های گوناگون گذرواژه انعطاف‌پذیر باشد. این ماژول داده‌های کدگذاری‌شده با Base-64، رشته‌های hex و داده‌های دودویی را به طور خودکار مدیریت کرده و آن‌ها را به قالبی تبدیل می‌کند که سرور بتواند از آن استفاده کند.

اگر ویژگی Password-With-Header وجود نداشته باشد، ماژول به دنبال یکی از ویژگی‌های Cleartext-Password، NT-Password، Crypt-Password و غیره مطابق جدول بالا می‌گردد. این ویژگی‌ها باید گذرواژه با قالب مربوطه را به صورت مستقیم و بدون پیشوند سرایند در خود داشته باشند.

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

درک تفاوت میان ویژگی‌های User-Password و Cleartext-Password بسیار حائز اهمیت است. ویژگی Cleartext-Password همان گذرواژهٔ «معتبر شناخته‌شده» برای کاربر است. صرفاً ارائه دادن Cleartext-Password به سرور موجب کارکرد اکثر روش‌های احراز هویت خواهد شد. ویژگی User-Password گذرواژه‌ای است که توسط کاربر روی دستگاه خصوصی‌اش وارد شده است. این دو ویژگی یکسان نیستند و باید به شیوه‌هایی کاملاً متفاوت با آن‌ها برخورد شود. به بیان دیگر، به طور کلی نباید از ویژگی User-Password در هیچ کجای پیکربندی RADIUS استفاده کنید.

authorize authenticate

/etc/raddb/mods-available/pap

radiusd(8), radiusd.conf(5)

Alan DeKok <aland@freeradius.org>

10 January 2015