PAM_YUBICO(8) راهنمای ماژول PAM یوبیکو PAM_YUBICO(8)

pam_yubico - ماژول احراز هویت با استفاده از کلید امنیتی YubiKey

pam_yubico [...]

این ماژول برای احراز هویت با کلیدهای امنیتی YubiKey به کار می‌رود؛ خواه از طریق اعتبارسنجی برخط گذرواژه یک‌بارمصرف (OTP)، یا اعتبارسنجی آفلاین با سازوکار چالش-پاسخ مبتنی بر HMAC-SHA1.

debug

حالت اشکال‌زدایی را فعال می‌کند.

debug_file=file

نام فایلی که پیام‌های اشکال‌زدایی در آن نوشته می‌شوند؛ این فایل باید از قبل وجود داشته و یک فایل معمولی باشد. مقدار پیش‌فرض خروجی استاندارد (stdout) است.

mode=[client|challenge-response]

حالت عملیاتی ماژول؛ مقدار client برای اعتبارسنجی OTP و مقدار challenge-response برای اعتبارسنجی چالش-پاسخ. مقدار پیش‌فرض client است.

authfile=file

مسیر فایلی که نگاشت شناسه توکن‌های YubiKey به نام‌های کاربری را نگهداری می‌کند. قالب فایل به‌صورت username:first_public_id:second_public_id:... است. مکان پیش‌فرض این فایل $HOME/.yubico/authorized_yubikeys می‌باشد.

id=id

شناسه کلاینت API شما برای اتصال به سرور اعتبارسنجی.

key=key

کلید کلاینت شما در قالب base64. این کلید تحت عنوان کلید API نیز شناخته می‌شود و یکپارچگی ارتباط میان کلاینت (شما) و سرور اعتبارسنجی را تضمین می‌کند. اگر می‌خواهید برای استفاده با سرویس پیش‌فرض YubiCloud یک کلید دریافت کنید، به نشانی زیر مراجعه کنید: https://upgrade.yubico.com/getapikey

alwaysok

تمامی تلاش‌های احراز هویت را موفقیت‌آمیز در نظر می‌گیرد (خطرناک، تنها برای حالت ارائه و دمو).

try_first_pass

پیش از درخواست گذرواژه از کاربر، ماژول ابتدا گذرواژه ارائه‌شده به ماژول قبلی در پشته PAM را بررسی می‌کند تا در صورت کفایت، از همان استفاده کند.

use_first_pass

ماژول را مجبور به استفاده از گذرواژه ماژول پشته‌شده قبلی می‌کند و هرگز از کاربر گذرواژه نخواهد خواست؛ اگر هیچ گذرواژه‌ای در دسترس نباشد یا نامعتبر باشد، دسترسی کاربر رد خواهد شد.

always_prompt

در صورت فعال بودن، تلاشی برای بررسی اینکه آیا برای کاربر کلید YubiKey پیکربندی شده است یا خیر انجام نمی‌دهد و در هر صورت درخواست کلید می‌کند. این گزینه زمانی کاربرد دارد که ldap_bind_as_user فعال باشد اما از این ماژول برای خواندن گذرواژه کاربر (در سناریوی احراز هویت ترکیبی YubiKey+OTP) استفاده شود.

nullok

اگر هیچ توکنی برای کاربر در فایل‌های نگاشت احراز هویت یا در LDAP تعریف نشده باشد، با خطا متوقف نشود. از این گزینه می‌توان برای اختیاری کردن احراز هویت با YubiKey استفاده کرد، مگر آنکه برای کاربر توکن‌های مرتبط ثبت شده باشد.

ldap_starttls

در صورت تنظیم، پیش از تلاش برای متصل شدن (bind) به ارتباط LDAP، دستور STARTTLS را صادر می‌کند. این یک پیکربندی معمول برای سرورهایی است که تنها روی درگاه ۳۸۹ شنود می‌کنند اما نیازمند TLS هستند.

ldap_bind_as_user

استفاده از مشخصات کاربری که در حال ورود به سیستم است برای اتصال به LDAP. این گزینه از گذرواژه واردشده توسط کاربر از طریق PAM استفاده می‌کند. در صورت فعال بودن این گزینه، مقادیر ldapdn و uid_attr نیز باید تنظیم شوند. فعال بودن این گزینه باعث نادیده گرفته شدن ldap_bind_user و ldap_bind_password می‌شود.

urllist=list

فهرستی از الگوهای URL مورد استفاده. این مقدار با فراخوانی ykclient_set_url_bases تنظیم می‌شود. این فهرست باید در قالب زیر باشد: https://api1.example.com/wsapi/2.0/verify;https://api2.example.com/wsapi/2.0/verify

url=url

این گزینه نباید استفاده شود؛ لطفاً به‌جای آن از گزینه urllist استفاده کنید. الگوی URL مورد استفاده را تعیین می‌کند؛ این مقدار با فراخوانی ykclient_set_url_template مقداردهی می‌شود. قالب URL باید به این صورت تنظیم شود: https://api.example.com/wsapi/2.0/verify?id=%d&otp=%s

capath=path

مسیری که گواهی‌های X509 در آن ذخیره شده‌اند. در صورتی که به ترتیب از https یا ldaps در url و ldap_uri استفاده شده باشد، تعیین این مسیر الزامی است.

cainfo=file

گزینه‌ای برای امکان استفاده از یک فایل بسته گواهی‌های CA (CA bundle) به‌جای مسیر پوشه.

proxy=proxy

پروکسی مورد استفاده برای اتصال به سرور اعتبارسنجی. طرح‌های معتبر شامل http://, https://, socks4://, socks4a://, socks5:// یا socks5h:// هستند. طرح socks5h از پروکسی درخواست می‌کند تا تفکیک نام (DNS) را نیز انجام دهد. در صورت عدم تعیین طرح یا درگاه، از درگاه ۱۰۸۰ پروکسی HTTP استفاده خواهد شد. مثال: socks5h://user:pass@10.10.0.1:1080

verbose_otp

نمایش گذرواژه یک‌بارمصرف هنگام تایپ شدن؛ یعنی فعال‌سازی بازتاب (echo) نویسه‌های ورودی در ترمینال. توصیه می‌شود در صورت استفاده از احراز هویت دو مرحله‌ای از این گزینه استفاده نکنید زیرا گذرواژه شما روی نمایشگر آشکار می‌شود. این گزینه مستلزم آن است که سرویس به‌کارگیرنده ماژول PAM از نمایش فیلدهای سفارشی پشتیبانی کند. این گزینه را نمی‌توان همراه با OpenSSH استفاده کرد.

ldap_uri=uri

نشانی URI سرور LDAP (مانند ldap://localhost).

ldap_server=server

میزبان سرور LDAP (از درگاه پیش‌فرض LDAP استفاده می‌شود). منسوخ شده است. به‌جای آن از ldap_uri استفاده کنید.

ldapdn=dn

نام متمایز (DN) مکانی که کاربران در آن نگهداری می‌شوند (مانند: ou=users,dc=domain,dc=com). در صورت استفاده از ldap_filter این مقدار به‌عنوان ریشه پایه برای جستجوی زیردرخت به کار می‌رود.

ldap_clientcertfile=clientcertfile

مسیر فایل گواهی کلاینت برای استفاده در زمان برقراری ارتباط با سرور LDAP. توجه داشته باشید که این گزینه مستلزم تعیین ldap_clientkeyfile نیز می‌باشد.

ldap_clientkeyfile=clientkeyfile

مسیر کلید مورد استفاده به همراه گواهی کلاینت در زمان ارتباط با سرور LDAP. توجه داشته باشید که این گزینه مستلزم تعیین ldap_clientcertfile نیز می‌باشد.

user_attr=attr

مشخصه LDAP مورد استفاده برای ذخیره‌سازی نام‌های کاربری (مانند: cn).

yubi_attr=attr

مشخصه LDAP مورد استفاده برای ذخیره‌سازی شناسه YubiKey.

yubi_attr_prefix=prefix

پیشوند مقدار مشخصه LDAP؛ در حالتی که از یک مشخصه عمومی برای نگهداری چندین نوع شناسه استفاده می‌شود.

token_id_length=length

طول شناسه پیشوند در ابتدای OTP (در صورت استفاده از YubiCloud این مقدار ۱۲ است).

ldap_bind_user=user

کاربری که تلاش برای اتصال (bind) به LDAP به عنوان او انجام می‌شود.

ldap_bind_password=password

گذرواژه مورد استفاده برای اتصال به LDAP.

ldap_filter=filter

فیلتر LDAP برای تلاش جهت یافتن شیء مناسب در LDAP. در این رشته، عبارت %u با نام کاربری جایگزین خواهد شد.

ldap_cacertfile=cacertfile

فایل گواهی مرجع صدور گواهی (CA) برای اتصال LDAP.

chalresp_path=path

مسیر یک دایرکتوری سراسری در سیستم که فایل‌های چالش-پاسخ کاربران در آن قرار می‌گیرد. مکان پیش‌فرض برابر است با $HOME/.yubico/.

mysql_server=mysqlserver

نام میزبان/نشانی سرور پایگاه‌داده mysql. مثال: 10.0.0.1

mysql_port=mysqlport

درگاه شبکه سرور mysql.

mysql_user=mysqluser

کاربر مجاز برای دسترسی به پایگاه‌داده. اکیداً توصیه می‌شود از کاربری مشخص با دسترسی فقط‌خواندنی استفاده شود.

mysql_password=mysqlpassword

گذرواژه mysql اختصاص‌یافته به کاربر.

mysql_database=mysqldatabase

نام پایگاه‌داده. مثال: otp

auth sufficient pam_yubico.so id=16 debug
auth required pam_yubico.so mode=challenge-response
auth required pam_yubico.so id=16 ldap_uri=ldaps://ldap.example.com ldap_filter=(uid=%u) yubi_attr=yubiKeyId

$HOME/.yubico/authorized_yubikeys

اگر گزینه authfile تنظیم نشده باشد، این فایل برای نگاشت میان شناسه عمومی YubiKey و نام‌های کاربری در حالت client استفاده می‌شود.

$HOME/.yubico/challenge, $HOME/.yubico/challenge-serial_number

اگر گزینه chalresp_path تنظیم نشده باشد، از این فایل‌ها برای نگهداری چالش بعدی و پاسخ مورد انتظار برای کاربر در حالت challenge-response استفاده می‌شود. در صورتی که chalresp_path تنظیم شده باشد، نام فایل به‌جای challenge برابر با username خواهد بود.

اشکالات yubico-pam را در سامانه ردیابی اشکالات گزارش دهید: https://github.com/Yubico/yubico-pam/issues

ykpamcfg(1), pam(7)

صفحه خانگی yubico-pam: https://developers.yubico.com/yubico-pam

کلیدهای امنیتی YubiKey را می‌توان از Yubico تهیه کرد: http://www.yubico.com

Version 2.27 yubico-pam