| KDC.CONF(5) | MIT Kerberos | KDC.CONF(5) |
نام (NAME)
kdc.conf - فایل پیکربندی مرکز توزیع کلید (KDC) کربروس ۵
فایل kdc.conf مکمل krb5.conf برای برنامههایی است که معمولاً فقط در یک KDC استفاده میشوند، مانند دیمنهای krb5kdc و kadmind و برنامه kdb5_util. روابط مستندشده در اینجا ممکن است در krb5.conf نیز مشخص شوند؛ برای برنامههای ذکرشده KDC، فایلهای krb5.conf و kdc.conf در یک نمایه پیکربندی واحد ادغام خواهند شد.
بهطور معمول، فایل kdc.conf در دایرکتوری وضعیت KDC، /var/lib/krb5kdc قرار دارد. شما میتوانید مکان پیشفرض را با تنظیم متغیر محیطی KRB5_KDC_PROFILE لغو و بازنویسی کنید.
لطفاً توجه داشته باشید که برای اعمال هرگونه تغییر در پیکربندی، لازم است دیمن KDC را مجدداً راهاندازی کنید.
ساختار (STRUCTURE)
فایل kdc.conf با همان ساختار و قالب فایل krb5.conf تنظیم شده است.
بخشها (SECTIONS)
فایل kdc.conf میتواند شامل بخشهای زیر باشد:
| [kdcdefaults] | مقادیر پیشفرض برای رفتار KDC |
| [realms] | پیکربندی و تنظیمات پایگاهداده مخصوص هر قلمرو |
| [dbdefaults] | تنظیمات پیشفرض پایگاهداده |
| [dbmodules] | تنظیمات برای هر پایگاهداده |
| [logging] | کنترل نحوه ثبت گزارشها (لاگ) توسط دیمنهای کربروس |
[kdcdefaults]
برخی از روابط در بخش [kdcdefaults] مقادیر پیشفرضی را برای متغیرهای قلمرو تعیین میکنند، تا در صورتی که زیربخش [realms] شامل رابطهای برای آن برچسب نباشد، استفاده شوند. برای تعاریف این روابط، بخش [realms] را مشاهده کنید.
- host_based_services
- kdc_listen
- kdc_ports
- kdc_tcp_listen
- kdc_tcp_ports
- no_host_referral
- restrict_anonymous_to_tgt
متغیرهای [kdcdefaults] زیر هیچ معادل مخصوص به ازای هر قلمرو ندارند:
- kdc_max_dgram_reply_size
- حداکثر اندازه بستهای که میتواند از طریق UDP ارسال شود را تعیین میکند. مقدار پیشفرض ۴۰۹۶ بایت است.
- kdc_tcp_listen_backlog
- (عدد صحیح.) اندازه طول صف شنود را برای دیمن KDC تنظیم میکند. این مقدار ممکن است توسط تنظیمات سیستمعامل محدود شود. مقدار پیشفرض ۵ است.
- spake_preauth_kdc_challenge
- (رشته.) گروه را برای یک چالش خوشبینانه SPAKE مشخص میکند. برای مقادیر ممکن، متغیر spake_preauth_groups را در [libdefaults] ببینید. مقدار پیشفرض این است که چالش خوشبینانهای صادر نشود. (جدید در نسخه 1.17.)
[realms]
هر برچسب در بخش [realms] نام یک قلمرو کربروس است. مقدار برچسب یک زیربخش است که در آن روابط، پارامترهای KDC را برای آن قلمرو خاص تعریف میکنند. مثال زیر نحوه تعریف یک پارامتر را برای قلمرو ATHENA.MIT.EDU نشان میدهد:
[realms]
ATHENA.MIT.EDU = {
max_renewable_life = 7d 0h 0m 0s
}
برچسبهای زیر ممکن است در یک زیربخش [realms] مشخص شوند:
- acl_file
- (رشته.) مکان فایل فهرست کنترل دسترسی (ACL) که kadmind از آن برای تعیین اینکه کدام شناسههای اصلی مجاز به داشتن چه مجوزهایی روی پایگاهداده کربروس هستند، استفاده میکند. برای کارکرد بدون فایل ACL، این رابطه را با acl_file = "" روی رشته خالی تنظیم کنید. مقدار پیشفرض /var/lib/krb5kdc/kadm5.acl است. برای اطلاعات بیشتر درباره فایل ACL کربروس، kadm5.acl را ببینید.
- database_module
- (رشته.) این رابطه نشاندهنده نام بخش پیکربندی در زیر [dbmodules] برای پارامترهای خاص پایگاهداده است که توسط کتابخانه پایگاهداده قابل بارگیری استفاده میشوند. مقدار پیشفرض، نام قلمرو است. اگر این بخش پیکربندی وجود نداشته باشد، از مقادیر پیشفرض برای تمام پارامترهای پایگاهداده استفاده خواهد شد.
- database_name
- (رشته، منسوخشده.) این رابطه مکان پایگاهداده کربروس را برای این قلمرو مشخص میکند، در صورتی که ماژول DB2 در حال استفاده باشد و بخش پیکربندی [dbmodules] نام پایگاهداده را مشخص نکند. مقدار پیشفرض /var/lib/krb5kdc/principal است.
- default_principal_expiration
- (رشته زمان مطلق.) تاریخ انقضای پیشفرض شناسههای اصلی ایجادشده در این قلمرو را مشخص میکند. مقدار پیشفرض 0 است، که به معنای نداشتن تاریخ انقضا است.
- default_principal_flags
- (رشته پرچم.)
ویژگیهای
پیشفرض
شناسههای
اصلی
ایجادشده
در این
قلمرو را
مشخص
میکند.
قالب این
رشته
فهرستی از
پرچمهای
جداشده با
کاما است،
با '+' قبل از
هر پرچمی که
باید فعال
شود و '-' قبل
از هر پرچمی
که باید
غیرفعال
شود.
پرچمهای
postdateable، forwardable،
tgt-based، renewable، proxiable،
dup-skey، allow-tickets و service
بهطور
پیشفرض
فعال هستند.
تعدادی پرچم ممکن وجود دارد:
- allow-tickets
- فعال کردن این پرچم به این معنی است که KDC برای این شناسه اصلی بلیتها را صادر خواهد کرد. غیرفعال کردن این پرچم اساساً شناسه اصلی را در این قلمرو غیرفعال میکند.
- dup-skey
- فعال کردن این پرچم به KDC اجازه میدهد بلیتهای سرویس کاربر-به-کاربر (user-to-user) را برای این شناسه اصلی صادر کند.
- forwardable
- فعال کردن این پرچم به شناسه اصلی اجازه میدهد بلیتهای قابل انتقال (forwardable) را دریافت کند.
- hwauth
- اگر این پرچم فعال باشد، شناسه اصلی موظف است پیش از دریافت هرگونه بلیت، با استفاده از یک دستگاه سختافزاری پیشاحراز هویت انجام دهد.
- no-auth-data-required
- فعال کردن این پرچم از افزوده شدن دادههای PAC یا AD-SIGNEDPATH به بلیتهای سرویس برای این شناسه اصلی جلوگیری میکند.
- ok-as-delegate
- اگر این پرچم فعال باشد، به کلاینت اشاره میکند که هنگام احراز هویت در سرویس، اعتبارنامهها میتوانند و باید تفویض شوند.
- ok-to-auth-as-delegate
- فعال کردن این پرچم به شناسه اصلی اجازه میدهد از بلیتهای S4USelf استفاده کند.
- postdateable
- فعال کردن این پرچم به شناسه اصلی اجازه میدهد بلیتهای پستاریخگذاریشده (postdateable) دریافت کند.
- preauth
- اگر این پرچم روی یک شناسه اصلی کلاینت فعال باشد، آن شناسه اصلی موظف است پیش از دریافت هرگونه بلیت، در KDC پیشاحراز هویت انجام دهد. در یک شناسه اصلی سرویس، فعال کردن این پرچم به این معنی است که بلیتهای سرویس برای این شناسه اصلی تنها برای کلاینتهایی صادر خواهد شد که دارای بلیت اعطای بلیت (TGT) با بیت پیشاحراز هویتشده (preauthenticated) فعال باشند.
- proxiable
- فعال کردن این پرچم به شناسه اصلی اجازه میدهد بلیتهای پروکسی دریافت کند.
- pwchange
- فعال کردن این پرچم، تغییر گذرواژه را برای این شناسه اصلی اجباری میکند.
- pwservice
- اگر این پرچم فعال باشد، این شناسه اصلی را به عنوان یک سرویس تغییر گذرواژه علامتگذاری میکند. این گزینه فقط باید در موارد خاص استفاده شود؛ به عنوان مثال، اگر گذرواژه یک کاربر منقضی شده باشد، کاربر باید بدون گذراندن مراحل عادی احراز هویت گذرواژه، بلیتهایی را برای آن شناسه اصلی دریافت کند تا بتواند گذرواژه را تغییر دهد.
- renewable
- فعال کردن این پرچم به شناسه اصلی اجازه میدهد بلیتهای قابل تمدید (renewable) دریافت کند.
- service
- فعال کردن این پرچم به KDC اجازه میدهد بلیتهای سرویس را برای این شناسه اصلی صادر کند. در نگارش ۱.۱۷ و جدیدتر، در صورتی که پرچم dup-skey تنظیم شده باشد، بلیتهای سرویس کاربر-به-کاربر همچنان مجاز هستند.
- tgt-based
- فعال کردن این پرچم به یک شناسه اصلی اجازه میدهد تا بر اساس یک بلیت اعطای بلیت (TGT)، بلیتها را دریافت کند، به جای اینکه فرایند احراز هویتی را که برای دریافت بلیت اعطای بلیت (TGT) استفاده شده بود تکرار نماید.
- dict_file
- (رشته.) مکان فایل واژهنامهای شامل رشتههایی که به عنوان گذرواژه مجاز نیستند. این فایل باید در هر خط شامل یک رشته بدون هیچ فاصله خالی (whitespace) اضافی باشد. در صورتی که مقداری مشخص نشده باشد یا هیچ خطمشیای به شناسه اصلی اختصاص داده نشده باشد، هیچ بررسی لغتنامهای برای گذرواژهها انجام نخواهد شد.
- disable_pac
- (مقدار بولی.) اگر برابر true باشد، KDC هیچ PACای برای این قلمرو صادر نخواهد کرد و عملیاتهای S4U2Self و S4U2Proxy غیرفعال خواهند شد. مقدار پیشفرض false است که به KDC اجازه صدور PAC را میدهد. جدید در نسخه 1.20.
- encrypted_challenge_indicator
- (رشته.) مقدار نشانگر احراز هویت (authentication indicator) را مشخص میکند که KDC در بلیتهای دریافت شده با استفاده از پیشاحراز هویت چالش رمزگذاریشده FAST درج میکند. جدید در نسخه 1.16.
- host_based_services
- (فهرستی با جداکننده فاصله یا کاما.) سرویسهایی را فهرست میکند که پردازش ارجاع مبتنی بر میزبان (host-based referral) دریافت خواهند کرد، حتی اگر شناسه اصلی سرور توسط کلاینت به عنوان مبتنی بر میزبان علامتگذاری نشده باشد.
- iprop_enable
- (مقدار بولی.) مشخص میکند که آیا انتشار افزایشی (iprop) پایگاه داده فعال است یا خیر. مقدار پیشفرض false است.
- iprop_ulogsize
- (عدد صحیح.) حداکثر تعداد مدخلهای ثبت وقایع (log entries) را که برای انتشار افزایشی (iprop) نگهداری میشوند مشخص میکند. مقدار پیشفرض 1000 است. پیش از نسخه 1.11، حداکثر مقدار 2500 بود. جدید در نسخه 1.19.
- iprop_master_ulogsize
- نام iprop_ulogsize پیش از نسخه 1.19. در صورتی که iprop_ulogsize مشخص نشده باشد، مقدار آن به عنوان جایگزین (fallback) استفاده میشود.
- iprop_replica_poll
- (رشته بازه زمانی [Delta time].) مشخص میکند که KDC همتاساز یا رونوشت (Replica) هر چند وقت یکبار برای دریافت بهروزرسانیهای جدید از سرور اصلی (Primary) نظرسنجی (poll) میکند. مقدار پیشفرض 2m (یعنی دو دقیقه) است. جدید در نسخه 1.17.
- iprop_slave_poll
- (رشته بازه زمانی [Delta time].) نام iprop_replica_poll پیش از نسخه 1.17. در صورتی که iprop_replica_poll مشخص نشده باشد، مقدار آن به عنوان جایگزین (fallback) استفاده میشود.
- iprop_listen
- (فهرستی با جداکننده فاصله یا کاما.) آدرسها و/یا پورتهای شنود RPC مربوط به iprop را برای دیمن kadmind مشخص میکند. هر مدخل میتواند یک آدرس رابط (interface)، یک شماره پورت، یا یک آدرس و شماره پورت جداشده با دونقطه (:) باشد. اگر آدرس حاوی دونقطه است، آن را درون قلاب ([]) قرار دهید. اگر هیچ آدرسی مشخص نشده باشد، از آدرس عام (wildcard) استفاده میشود. اگر kadmind نتواند به هر یک از آدرسهای مشخصشده متصل (bind) شود، شروع به کار نخواهد کرد. حالت پیشفرض (زمانی که iprop_enable برابر true است) اتصال به آدرس عام روی پورت مشخصشده در iprop_port است. جدید در نسخه 1.15.
- iprop_port
- (شماره پورت.) شماره پورت مورد استفاده برای انتشار افزایشی (iprop) را مشخص میکند. هنگامی که iprop_enable برابر true باشد، این رابطه در فایل پیکربندی KDC همتاساز یا رونوشت (Replica) الزامی است، و این رابطه یا iprop_listen در فایل پیکربندی سرور اصلی (Primary) الزامی است، زیرا هیچ شماره پورت پیشفرضی وجود ندارد. شماره پورتهای مشخصشده در مدخلهای iprop_listen این شماره پورت را برای دیمن kadmind لغو و جایگزین میکنند (override).
- iprop_resync_timeout
- (رشته بازه زمانی [Delta time].) مدت زمانی را مشخص میکند که باید منتظر تکمیل یک انتشار کامل ماند. این گزینه در فایلهای پیکربندی اختیاری است و فقط توسط KDCهای همتاساز یا رونوشت (Replica) استفاده میشود. مقدار پیشفرض ۵ دقیقه (5m) است. جدید در نسخه 1.11.
- iprop_logfile
- (نام فایل.) محل ذخیرهسازی فایل لاگ بهروزرسانی (update log) برای پایگاه داده قلمرو را مشخص میکند. حالت پیشفرض استفاده از مدخل database_name از بخش realms فایل پیکربندی krb5 است که پسوند .ulog به آن اضافه میشود. (نکته: اگر database_name در بخش realms مشخص نشده باشد، شاید به این دلیل که از بکاند پایگاه داده LDAP استفاده میشود، یا نام فایل در بخش [dbmodules] مشخص شده است، در این صورت مقدار پیشفرض کدنویسیشده (hard-coded) برای database_name استفاده میشود. تعیین مقدار پیشفرض iprop_logfile از مقادیر بخش [dbmodules] استفاده نخواهد کرد.)
- kadmind_listen
- (فهرستی با جداکننده فاصله یا کاما.) آدرسها و/یا پورتهای شنود RPC مربوط به kadmin را برای دیمن kadmind مشخص میکند. هر مدخل میتواند یک آدرس رابط (interface)، یک شماره پورت، یک آدرس و شماره پورت جداشده با دونقطه (:)، یا مسیر یک سوکت دامنه یونیکس (UNIX domain socket) باشد. اگر آدرس حاوی دونقطه است، آن را درون قلاب ([]) قرار دهید. اگر هیچ آدرسی مشخص نشده باشد، از آدرس عام (wildcard) استفاده میشود. برای غیرفعال کردن شنود برای اتصالات kadmin RPC، این رابطه را با kadmind_listen = "" روی رشته خالی تنظیم کنید. اگر kadmind نتواند به هر یک از آدرسهای مشخصشده متصل (bind) شود، شروع به کار نخواهد کرد. حالت پیشفرض اتصال به آدرس عام روی پورت مشخصشده در kadmind_port یا پورت استاندارد kadmin (749) است. جدید در نسخه 1.15.
- kadmind_port
- (شماره پورت.) پورتی را مشخص میکند که دیمن kadmind باید برای این قلمرو روی آن شنود کند. شماره پورتهای مشخصشده در مدخلهای kadmind_listen این شماره پورت را لغو و جایگزین میکنند (override). پورت تخصیصیافته برای kadmind برابر 749 است که بهطور پیشفرض استفاده میشود.
- key_stash_file
- (رشته.) مکانی را مشخص میکند که کلید اصلی در آن ذخیره شده است (از طریق kdb5_util stash). مقدار پیشفرض /var/lib/krb5kdc/.k5.REALM است که در آن REALM قلمرو کربروس است.
- kdc_listen
- (فهرستی با جداکننده فاصله یا کاما.) آدرسها و/یا پورتهای شنود را برای دیمن krb5kdc مشخص میکند. هر مدخل میتواند یک آدرس رابط (interface)، یک شماره پورت، یک آدرس و شماره پورت جداشده با دونقطه (:)، یا مسیر یک سوکت دامنه یونیکس باشد. اگر آدرس حاوی دونقطه است، آن را درون قلاب ([]) قرار دهید. اگر هیچ آدرسی مشخص نشده باشد، از آدرس عام (wildcard) استفاده میشود. اگر هیچ پورتی مشخص نشده باشد، از پورت استاندارد (88) استفاده میشود. برای غیرفعال کردن شنود روی UDP، این رابطه را با kdc_listen = "" روی رشته خالی تنظیم کنید. اگر دیمن KDC نتواند به هر یک از آدرسهای مشخصشده متصل (bind) شود، شروع به کار نخواهد کرد. حالت پیشفرض اتصال به آدرس عام روی پورت استاندارد است. جدید در نسخه 1.15.
- kdc_ports
- (فهرستی با جداکننده فاصله یا کاما، منسوخشده.) پیش از نسخه 1.15، این رابطه پورتهایی را فهرست میکرد که دیمن krb5kdc برای درخواستهای UDP روی آنها شنود کند. در نسخه 1.15 و بعد از آن، در صورت عدم تعریف رابطه kdc_listen، این رابطه معنای یکسانی با آن دارد.
- kdc_tcp_listen
- (فهرستی با جداکننده فاصله یا کاما.) آدرسها و/یا پورتهای شنود TCP را برای دیمن krb5kdc مشخص میکند. نحو (syntax) آن با kdc_listen یکسان است. برای غیرفعال کردن شنود روی TCP، این رابطه را با kdc_tcp_listen = "" روی رشته خالی تنظیم کنید. حالت پیشفرض اتصال به همان آدرسها و پورتهای مربوط به UDP است. جدید در نسخه 1.15.
- kdc_tcp_ports
- (فهرستی با جداکننده فاصله یا کاما، منسوخشده.) پیش از نسخه 1.15، این رابطه پورتهایی را فهرست میکرد که دیمن krb5kdc برای درخواستهای UDP روی آنها شنود کند. در نسخه 1.15 و بعد از آن، در صورت عدم تعریف رابطه kdc_tcp_listen، این رابطه معنای یکسانی با آن دارد.
- kpasswd_listen
- (فهرستی با جداکننده کاما.) آدرسها و/یا پورتهای شنود kpasswd را برای دیمن kadmind مشخص میکند. هر مدخل میتواند یک آدرس رابط (interface)، یک شماره پورت، یک آدرس و شماره پورت جداشده با دونقطه (:)، یا مسیر یک سوکت دامنه یونیکس باشد. اگر آدرس حاوی دونقطه است، آن را درون قلاب ([]) قرار دهید. اگر هیچ آدرسی مشخص نشده باشد، از آدرس عام (wildcard) استفاده میشود. برای غیرفعال کردن شنود برای درخواستهای kpasswd، این رابطه را با kpasswd_listen = "" روی رشته خالی تنظیم کنید. اگر kadmind نتواند به هر یک از آدرسهای مشخصشده متصل (bind) شود، شروع به کار نخواهد کرد. حالت پیشفرض اتصال به آدرس عام روی پورت مشخصشده در kpasswd_port یا پورت استاندارد kpasswd (464) است. جدید در نسخه 1.15.
- kpasswd_port
- (شماره پورت.) پورتی را مشخص میکند که دیمن kadmind باید برای درخواستهای تغییر گذرواژه این قلمرو روی آن شنود کند. شماره پورتهای مشخصشده در مدخلهای kpasswd_listen این شماره پورت را لغو و جایگزین میکنند (override). پورت تخصیصیافته برای درخواستهای تغییر گذرواژه 464 است که بهطور پیشفرض استفاده میشود.
- master_key_name
- (رشته.) نام شناسه اصلی مرتبط با کلید اصلی (master key) را مشخص میکند. مقدار پیشفرض K/M است.
- master_key_type
- (رشته نوع کلید.) نوع کلید مربوط به کلید اصلی را مشخص میکند. مقدار پیشفرض برای این گزینه aes256-cts-hmac-sha1-96 است. برای مشاهده فهرست تمام مقادیر ممکن، Encryption types را ببینید.
- max_life
- (رشته Time duration.) حداکثر بازه زمانی معتبر بودن یک بلیت در این قلمرو را مشخص میکند. مقدار پیشفرض ۲۴ ساعت است.
- max_renewable_life
- (رشته Time duration.) حداکثر بازه زمانی قابل تمدید بودن یک بلیت معتبر در این قلمرو را مشخص میکند. مقدار پیشفرض 0 است.
- no_host_referral
- (فهرستی با جداکننده فاصله یا کاما.) سرویسهایی را فهرست میکند که باید از دریافت پردازش ارجاع مبتنی بر میزبان مسدود شوند، حتی اگر کلاینت شناسه اصلی سرور را به عنوان مبتنی بر میزبان علامتگذاری کرده باشد یا آن سرویس در host_based_services نیز فهرست شده باشد. مقدار no_host_referral = * پردازش ارجاع را به طور کلی غیرفعال میکند.
- reject_bad_transit
- (مقدار
بولی.) اگر
روی true تنظیم
شود، KDC
فهرست
قلمروهای
عبور
دادهشده
(transited realms) برای
بلیتهای
بینقلمرویی
(cross-realm) را با
مسیر عبور
محاسبهشده
از روی
نامهای
قلمرو و بخش
capaths فایل krb5.conf
خود مطابقت
میدهد؛
اگر مسیر
موجود در
بلیتی که
قرار است
صادر شود
حاوی هر
قلمرویی
باشد که در
مسیر
محاسبهشده
وجود
ندارد،
بلیت صادر
نخواهد شد و
در عوض
خطایی به
کلاینت
بازگردانده
میشود. اگر
این مقدار
روی false تنظیم
شود، چنین
بلیتهایی
در هر صورت
صادر
میشوند و
اعتبارسنجی
مسیر عبور
قلمرو به
سرور
برنامه
واگذار
میشود.
اگر پرچم disable-transited-check در درخواست دریافتی تنظیم شده باشد، این بررسی اصلاً انجام نمیشود. داشتن گزینه reject_bad_transit باعث میشود که چنین درخواستهای بلیتی همیشه رد شوند.
این بررسی مسیر عبور و گزینه فایل پیکربندی در حال حاضر فقط برای درخواستهای TGS اعمال میشود.
مقدار پیشفرض true است.
- restrict_anonymous_to_tgt
- (مقدار بولی.) اگر روی true تنظیم شود، KDC درخواستهای بلیت از شناسههای اصلی ناشناس (anonymous) به شناسههای اصلی سرویس به غیر از سرویس اعطای بلیت (ticket-granting service) قلمرو را رد خواهد کرد. این گزینه اجازه میدهد تا PKINIT ناشناس برای استفاده به عنوان بلیتهای محافظ FAST (FAST armor tickets) بدون اجازه دادن به احراز هویت ناشناس در سرویسها فعال شود. مقدار پیشفرض false است. جدید در نسخه 1.9.
- spake_preauth_indicator
- (رشته.) مقدار نشانگر احراز هویت (authentication indicator) را مشخص میکند که KDC در بلیتهای دریافت شده با استفاده از پیشاحراز هویت SPAKE درج میکند. حالت پیشفرض اضافه نکردن هیچ نشانگری است. این گزینه میتواند چندین بار مشخص شود. جدید در نسخه 1.17.
- supported_enctypes
- (فهرستی از رشتههای key:salt.) ترکیبهای پیشفرض کلید/نمک (key/salt) شناسههای اصلی را برای این قلمرو مشخص میکند. هر شناسه اصلی ایجاد شده از طریق kadmin کلیدهایی از این نوع خواهد داشت. مقدار پیشفرض برای این برچسب aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal است. برای مشاهده فهرست مقادیر ممکن، Keysalt lists را ببینید.
[dbdefaults]
بخش [dbdefaults] مقادیر پیشفرض را برای برخی از پارامترهای پایگاهداده مشخص میکند تا در صورتی که زیربخش [dbmodules] دارای رابطهای برای برچسب نباشد، مورد استفاده قرار گیرند. برای تعاریف این روابط، بخش [dbmodules] را ببینید.
- ldap_kerberos_container_dn
- ldap_kdc_dn
- ldap_kdc_sasl_authcid
- ldap_kdc_sasl_authzid
- ldap_kdc_sasl_mech
- ldap_kdc_sasl_realm
- ldap_kadmind_dn
- ldap_kadmind_sasl_authcid
- ldap_kadmind_sasl_authzid
- ldap_kadmind_sasl_mech
- ldap_kadmind_sasl_realm
- ldap_service_password_file
- ldap_conns_per_server
[dbmodules]
بخش [dbmodules] شامل پارامترهایی است که توسط کتابخانهٔ پایگاهدادهٔ KDC و ماژولهای پایگاهداده استفاده میشوند. هر برچسب در بخش [dbmodules] نام یک قلمرو (realm) کربروس یا نام بخشی است که توسط پارامتر database_module یک قلمرو مشخص شده است. مثال زیر نحوهٔ تعریف یک پارامتر پایگاهداده را برای قلمرو ATHENA.MIT.EDU نشان میدهد:
[dbmodules]
ATHENA.MIT.EDU = {
disable_last_success = true
}
برچسبهای زیر میتوانند در یک زیربخش [dbmodules] مشخص شوند:
- database_name
- این برچسب مخصوص DB2 مکان پایگاهداده را در سیستمفایل مشخص میکند. مقدار پیشفرض /var/lib/krb5kdc/principal است.
- db_library
- این برچسب نام ماژول پایگاهدادهٔ قابل بارگذاری را مشخص میکند. این مقدار باید برای ماژول DB2 برابر با db2، برای ماژول LMDB برابر با klmdb یا برای ماژول LDAP برابر با kldap باشد.
- disable_last_success
- اگر روی true تنظیم شود، بهروزرسانیهای KDC را در فیلد "Last successful authentication" (آخرین احراز هویت موفق) ورودیهای هویت اصلی (principal) که نیازمند پیشاحراز هویت هستند، متوقف میکند. تنظیم این پرچم میتواند کارایی را بهبود بخشد. (ورودیهای هویت اصلی که نیازی به پیشاحراز هویت ندارند هرگز فیلد "Last successful authentication" را بهروزرسانی نمیکنند.). اولین بار در نگارش ۱.۹ معرفی شد.
- disable_lockout
- اگر روی true تنظیم شود، بهروزرسانیهای KDC را در فیلدهای "Last failed authentication" (آخرین احراز هویت ناموفق) و "Failed password attempts" (تلاشهای ناموفق گذرواژه) ورودیهای هویت اصلی که نیازمند پیشاحراز هویت هستند، متوقف میکند. تنظیم این پرچم ممکن است کارایی را بهبود بخشد، اما همچنین قفل شدن حساب کاربری را غیرفعال میکند. اولین بار در نگارش ۱.۹ معرفی شد.
- ldap_conns_per_server
- این برچسب مخصوص LDAP تعداد اتصالهایی را که باید به ازای هر سرور LDAP برقرار و نگهداری شوند مشخص میکند.
- ldap_kdc_dn و ldap_kadmind_dn
- این برچسبهای مخصوص LDAP، مقدار DN پیشفرض را برای اتصال (bind) به سرور LDAP مشخص میکنند. دیمن krb5kdc از ldap_kdc_dn استفاده میکند، در حالی که دیمن kadmind و سایر برنامههای مدیریتی از ldap_kadmind_dn بهره میبرند. مقدار kadmind DN باید دسترسیهای خواندن و نوشتن دادههای کربروس را در پایگاهدادهٔ LDAP داشته باشد. مقدار KDC DN نیز باید همان دسترسیها را داشته باشد، مگر اینکه disable_lockout و disable_last_success برابر با true باشند، که در این صورت فقط به دسترسی خواندن دادههای کربروس نیاز دارد. اگر یک سازوکار SASL با ldap_kdc_sasl_mech یا ldap_kadmind_sasl_mech تنظیم شده باشد، این برچسبها نادیده گرفته میشوند.
- ldap_kdc_sasl_mech و ldap_kadmind_sasl_mech
- این برچسبهای مخصوص LDAP سازوکار SASL (مانند EXTERNAL) را برای استفاده هنگام اتصال به سرور LDAP مشخص میکنند. جدید در نگارش ۱.۱۳.
- ldap_kdc_sasl_authcid و ldap_kadmind_sasl_authcid
- این برچسبهای مخصوص LDAP هویت احراز هویت SASL را برای استفاده هنگام اتصال به سرور LDAP مشخص میکنند. همهٔ سازوکارهای SASL به یک هویت احراز هویت نیاز ندارند. اگر سازوکار SASL به یک راز (مانند گذرواژه برای DIGEST-MD5) نیاز داشته باشد، این برچسبها همچنین نامی را در ldap_service_password_file تعیین میکنند که راز در آن ذخیره شده است. جدید در نگارش ۱.۱۳.
- ldap_kdc_sasl_authzid و ldap_kadmind_sasl_authzid
- این برچسبهای مخصوص LDAP هویت مجوزدهی (authorization identity) در SASL را برای استفاده هنگام اتصال به سرور LDAP مشخص میکنند. در بیشتر شرایط نیازی به تعیین آنها نیست. جدید در نگارش ۱.۱۳.
- ldap_kdc_sasl_realm و ldap_kadmind_sasl_realm
- این برچسبهای مخصوص LDAP قلمرو SASL را برای استفاده هنگام اتصال به سرور LDAP مشخص میکنند. در اغلب شرایط نیازی به تنظیم آنها نیست. جدید در نگارش ۱.۱۳.
- ldap_kerberos_container_dn
- این برچسب مخصوص LDAP مقدار DN مربوط به شیء نگهدارنده (container object) را که اشیاء قلمرو در آن قرار خواهند گرفت مشخص میکند.
- ldap_servers
- این برچسب مخصوص LDAP فهرستی از سرورهای LDAP را مشخص میکند که سرورهای کربروس میتوانند به آنها متصل شوند. فهرست سرورهای LDAP با فاصلههای خالی (whitespace) از هم جدا میشود. سرور LDAP با یک شناسه یکنواخت منبع (URI) مشخص میشود. توصیه میشود از نشانیهای اینترنتی (URL) به صورت ldapi: یا ldaps: برای اتصال به سرور LDAP استفاده شود.
- ldap_service_password_file
- این برچسب مخصوص LDAP فایلی را مشخص میکند که شامل گذرواژههای ذخیرهشده (ایجاد شده توسط kdb5_ldap_util stashsrvpw) برای اشیاء ldap_kdc_dn و ldap_kadmind_dn، یا برای نامهای ldap_kdc_sasl_authcid یا ldap_kadmind_sasl_authcid جهت احراز هویت SASL است. این فایل باید به صورت امن نگهداری شود.
- mapsize
- این برچسب مخصوص LMDB بیشینه اندازهٔ دو محیط پایگاهداده را بر حسب مگابایت مشخص میکند. مقدار پیشفرض ۱۲۸ است. این مقدار را برای برطرف کردن خطاهای "Environment mapsize limit reached" افزایش دهید. جدید در نگارش ۱.۱۷.
- max_readers
- این برچسب مخصوص LMDB بیشینه تعداد فرایندهای خواندن همروند را برای پایگاههای داده مشخص میکند. مقدار پیشفرض ۱۲۸ است. جدید در نگارش ۱.۱۷.
- nosync
- این برچسب مخصوص LMDB میتواند برای بهبود توان عملیاتی (throughput) دیمن kadmind و سایر عاملهای مدیریتی تنظیم شود، به بهای از دست رفتن ماندگاری دادهها (ممکن است تغییرات اخیر پایگاهداده از قطعی برق یا راهاندازی مجدد ناگهانی جان سالم به در نبرند). این گزینه بر توان عملیاتی KDC تأثیری ندارد. مقدار پیشفرض false است. جدید در نگارش ۱.۱۷.
- unlockiter
- اگر روی true تنظیم شود، این برچسب مخصوص DB2 باعث میشود عملیاتهای پیمایش (iteration) قفل پایگاهداده را هنگام پردازش هر هویت اصلی آزاد کنند. تنظیم این پرچم روی true میتواند از مسدود شدن طولانیمدت عملیاتهای KDC یا kadmin هنگام تهیهٔ نسخهٔ پشتیبان (dump) از پایگاههای دادهٔ بزرگ جلوگیری کند. اولین بار در نگارش ۱.۱۳ معرفی شد.
برچسب زیر میتواند مستقیماً در بخش [dbmodules] مشخص شود تا کنترل کند ماژولهای پایگاهداده از کجا بارگذاری میشوند:
- db_module_dir
- این برچسب کنترل میکند که سامانهٔ افزونه در چه پوشهای به دنبال ماژولهای پایگاهداده بگردد. مقدار باید یک مسیر مطلق باشد.
[logging]
بخش [logging] نحوه ثبت وقایع توسط krb5kdc و kadmind را مشخص میکند. این بخش میتواند شامل روابط زیر باشد:
- admin_server
- نحوه ثبت وقایع توسط kadmind را مشخص میکند.
- kdc
- نحوه ثبت وقایع توسط krb5kdc را مشخص میکند.
- default
- نحوه ثبت وقایع توسط هر یک از دیمنها را در صورت عدم وجود روابط اختصاصی برای آن دیمن، مشخص میکند.
- debug
- (مقدار بولی.) مشخص میکند که آیا پیامهای اشکالزدایی در خروجیهای ثبت وقایع غیر از SYSLOG گنجانده شوند یا خیر. پیامهای اشکالزدایی همیشه در خروجی لاگ سیستم گنجانده میشوند، زیرا syslog فیلتر کردن اولویت خود را انجام میدهد. مقدار پیشفرض false است. جدید در نسخه 1.15.
مشخصات ثبت وقایع میتوانند قالبهای زیر را داشته باشند:
- FILE=filename یا FILE:filename
- این مقدار باعث میشود پیامهای ثبت وقایع دیمن به filename ارسال شوند. اگر قالب = استفاده شود، پرونده بازنویسی میشود. اگر قالب : استفاده شود، پیامها به انتهای پرونده افزوده میشوند.
- STDERR
- این مقدار باعث میشود پیامهای ثبت وقایع دیمن به جریان خطای استاندارد آن ارسال شوند.
- CONSOLE
- این مقدار باعث میشود پیامهای ثبت وقایع دیمن، در صورت پشتیبانی سیستم، به کنسول ارسال شوند.
- DEVICE=<devicename>
- این مقدار باعث میشود پیامهای ثبت وقایع دیمن به دستگاه مشخصشده ارسال شوند.
- SYSLOG[:severity[:facility]]
- این مقدار
باعث
میشود
پیامهای
ثبت وقایع
دیمن به لاگ
سیستم
ارسال شوند.
برای سازگاری با گذشته، یک آرگومان شدت (severity) میتواند مشخص شود، و برای تعیین تسهیلات (facility) حتماً باید مشخص گردد. این آرگومان نادیده گرفته خواهد شد.
آرگومان تسهیلات (facility) مشخص میکند پیامها ذیل کدام تسهیلات ثبت شوند. این مقدار میتواند هر یک از تسهیلات زیر باشد که توسط فراخوانی syslog(3) منهای پیشوند LOG_ پشتیبانی میشوند: KERN، USER، MAIL، DAEMON، AUTH، LPR، NEWS، UUCP، CRON، و LOCAL0 تا LOCAL7. اگر هیچ تسهیلاتی مشخص نشود، پیشفرض AUTH است.
در مثال زیر، پیامهای ثبت وقایع از KDC به کنسول و به لاگ سیستم تحت تسهیلات LOG_DAEMON ارسال میشوند، و پیامهای ثبت وقایع از کارساز مدیریتی به پرونده /var/adm/kadmin.log افزوده شده و به دستگاه /dev/tty04 فرستاده خواهند شد.
[logging]
kdc = CONSOLE
kdc = SYSLOG:INFO:DAEMON
admin_server = FILE:/var/adm/kadmin.log
admin_server = DEVICE=/dev/tty04
اگر هیچ مشخصه ثبت وقایعی تعیین نشود، پیشفرض استفاده از syslog است. برای غیرفعال کردن کامل ثبت وقایع، مقدار default = DEVICE=/dev/null را تعیین کنید.
[otp]
هر زیربخش از [otp] نام یک نوع توکن OTP است. برچسبهای درون این زیربخش، پیکربندی مورد نیاز برای هدایت درخواست رمز عبور یکبارمصرف (OTP) به یک کارساز RADIUS را تعریف میکنند.
برای هر نوع توکن، برچسبهای زیر میتوانند مشخص شوند:
- server
- این کارسازی است که درخواست RADIUS به آن ارسال میشود. میتواند یک نام میزبان با پورت اختیاری، یک نشانی IP با پورت اختیاری، یا یک نشانی سوکت دامنه یونیکس (Unix domain socket) باشد. پیشفرض /var/lib/krb5kdc/<name>.socket است.
- secret
- این برچسب نمایانگر نام پروندهای است (که ممکن است نسبت به /var/lib/krb5kdc باشد) شامل کلید امنیتی (secret) مورد استفاده برای رمزنگاری بستههای RADIUS. کلید امنیتی باید بهتنهایی در خط اول پرونده قرار گیرد؛ فاصلههای خالی ابتدا و انتهای خط حذف خواهند شد. اگر مقدار server یک نشانی سوکت دامنه یونیکس باشد، این برچسب اختیاری است و در صورت عدم تعیین، از یک کلید خالی استفاده خواهد شد. در غیر این صورت، تعیین این برچسب الزامی است.
- timeout
- یک عدد صحیح که زمان را بر حسب ثانیه مشخص میکند که طی آن KDC باید برای برقراری تماس با کارساز RADIUS تلاش کند. این برچسب مجموع زمان در تمامی تلاشهای مجدد است و باید کمتر از مدتی باشد که یک مقدار OTP معتبر میماند. پیشفرض ۵ ثانیه است.
- retries
- این برچسب تعداد تلاشهای مجدد برای اتصال به کارساز RADIUS را مشخص میکند. پیشفرض ۳ تلاش مجدد (۴ بار تلاش) است.
- strip_realm
- اگر این برچسب true باشد، principal بدون realm به کارساز RADIUS ارسال میشود. در غیر این صورت، realm نیز گنجانده خواهد شد. مقدار پیشفرض true است.
- indicator
- این برچسب یک نشانگر اصالتسنجی را مشخص میکند که در صورت استفاده از این نوع توکن برای اصالتسنجی، در بلیت (ticket) گنجانده شود. این گزینه میتواند چندین بار مشخص شود. (جدید در نسخه 1.14.)
در مثال زیر، درخواستها از طریق UDP به یک کارساز راه دور ارسال میشوند:
[otp]
MyRemoteTokenType = {
server = radius.mydomain.com:1812
secret = SEmfiajf42$
timeout = 15
retries = 5
strip_realm = true
}
یک نوع توکن پیشفرض ضمنی با نام DEFAULT برای مواقعی تعریف شده است که پیکربندی بر اساس هر principal نوع توکنی را تعیین نکرده باشد. پیکربندی آن در زیر نشان داده شده است. شما میتوانید این نوع توکن را متناسب با نیاز خود بازنویسی (override) کنید:
[otp]
DEFAULT = {
strip_realm = false
}
گزینههای PKINIT (PKINIT OPTIONS)
نکته:
- 1.
- زیربخش مختص به قلمرو در [realms]:
[realms]
EXAMPLE.COM = {
pkinit_anchors = FILE:/usr/local/example.com.crt
}
- 2.
- مقدار عمومی در بخش [kdcdefaults]:
[kdcdefaults]
pkinit_anchors = DIR:/usr/local/generic_trusted_cas/
برای کسب اطلاعات درباره نحو برخی از این گزینهها، به بخش Specifying PKINIT identity information در krb5.conf مراجعه کنید.
- pkinit_anchors
- مکان گواهیهای لنگر اعتماد (ریشه) را مشخص میکند که KDC برای امضای گواهیهای کلاینت به آنها اعتماد دارد. در صورتی که قرار باشد pkinit توسط KDC پشتیبانی شود، این گزینه الزامی است. این گزینه ممکن است چندین بار مشخص شود.
- pkinit_dh_min_bits
- حداقل قدرت گروه دیفی-هلمن (Diffie-Hellman) را که KDC حاضر به پذیرش آن برای تبادل کلید است، مشخص میکند. مقادیر معتبر به ترتیب افزایش قدرت عبارتند از 1024، 2048، P-256، 4096، P-384 و P-521. مقدار پیشفرض 2048 است. (P-256، P-384 و P-521 در نگارش 1.22 جدید هستند.)
- pkinit_allow_upn
- مشخص
میکند که KDC
حاضر است
گواهیهای
کلاینت
دارای نام
جایگزین
موضوع (SAN) از
نوع UserPrincipalName (UPN)
مایکروسافت
را بپذیرد.
این بدان
معناست که KDC
پیوند UPN
موجود در
گواهی با
نام اصلی (principal name)
کربروس را
میپذیرد.
مقدار
پیشفرض false
است.
بدون این گزینه، KDC تنها گواهیهای دارای id-pkinit-san مطابق با تعریف در RFC 4556 را میپذیرد. در حال حاضر گزینهای برای غیرفعال کردن بررسی SAN در KDC وجود ندارد.
- pkinit_eku_checking
- این گزینه مشخص میکند که KDC مایل به پذیرش چه مقادیری برای کاربرد گسترده کلید (EKU) در گواهیهای کلاینت است. مقادیر شناختهشده در فایل kdc.conf عبارتند از:
- kpClientAuth
- این مقدار پیشفرض است و مشخص میکند که گواهیهای کلاینت باید دارای EKU از نوع id-pkinit-KPClientAuth مطابق با تعریف در RFC 4556 باشند.
- scLogin
- اگر scLogin مشخص شود، گواهیهای کلاینت دارای EKU ورود با کارت هوشمند مایکروسافت (id-ms-kp-sc-logon) پذیرفته خواهند شد.
- none
- اگر none مشخص شود، گواهیهای کلاینت بررسی نخواهند شد تا تأیید شود که آیا یک EKU قابل قبول دارند یا خیر. استفاده از این گزینه توصیه نمیشود.
- pkinit_identity
- مکان اطلاعات هویت X.509 سرور KDC را مشخص میکند. در صورتی که قرار باشد pkinit توسط KDC پشتیبانی شود، این گزینه الزامی است.
- pkinit_indicator
- یک نشانگر احراز هویت را مشخص میکند تا در صورتی که از pkinit برای احراز هویت استفاده شود، در بلیت گنجانده شود. این گزینه ممکن است چندین بار مشخص شود. (در نگارش 1.14 جدید است.)
- pkinit_pool
- مکان گواهیهای میانی را مشخص میکند که ممکن است توسط KDC برای تکمیل زنجیره اعتماد بین گواهی کلاینت و یک لنگر اعتماد استفاده شود. این گزینه ممکن است چندین بار مشخص شود.
- pkinit_revoke
- مکان اطلاعات فهرست ابطال گواهی (CRL) را مشخص میکند تا هنگام بررسی اعتبار گواهیهای کلاینت توسط KDC استفاده شود. این گزینه ممکن است چندین بار مشخص شود.
- pkinit_require_crl_checking
- فرایند
پیشفرض
اعتبارسنجی
گواهی
همواره
اطلاعات
ابطال
موجود را
بررسی
خواهد کرد
تا ببیند
آیا گواهی
باطل شده
است یا خیر.
اگر تطابقی
برای گواهی
در یک CRL یافت
شود،
اعتبارسنجی
ناموفق
خواهد بود.
اگر گواهیِ
در حال
بررسی در یک
CRL فهرست
نشده باشد،
یا هیچ CRL
برای CA
صادرکننده
آن وجود
نداشته
باشد، و
pkinit_require_crl_checking
برابر با false
باشد،
اعتبارسنجی
با موفقیت
انجام
میشود.
با این حال، اگر pkinit_require_crl_checking برابر با true باشد و هیچ اطلاعات CRL برای CA صادرکننده در دسترس نباشد، اعتبارسنجی ناموفق خواهد بود.
اگر خطمشی به گونهای است که CRLهای بهروز باید برای هر CA وجود داشته باشند، pkinit_require_crl_checking باید روی true تنظیم شود.
- pkinit_require_freshness
- مشخص میکند که آیا کلاینتها ملزم به گنجاندن یک توکن تازگی در درخواستهای PKINIT هستند یا خیر. مقدار پیشفرض false است. (در نگارش 1.17 جدید است.)
انواع رمزنگاری (ENCRYPTION TYPES)
هر برچسبی در فایلهای پیکربندی که نیازمند فهرستی از انواع رمزنگاری است، میتواند روی ترکیبی از رشتههای زیر تنظیم شود. انواع رمزنگاری علامتگذاریشده با "ضعیف (weak)" و "منسوخشده (deprecated)" برای سازگاری در دسترس هستند اما استفاده از آنها توصیه نمیشود.
| des3-cbc-raw | حالت cbc خام Triple DES (ضعیف) |
| des3-cbc-sha1 des3-hmac-sha1 des3-cbc-sha1-kd | حالت Triple DES cbc با HMAC/sha1 (منسوخشده) |
| aes256-cts-hmac-sha1-96 aes256-cts aes256-sha1 | حالت AES-256 CTS با HMAC نود و شش بیتی SHA-1 |
| aes128-cts-hmac-sha1-96 aes128-cts aes128-sha1 | حالت AES-128 CTS با HMAC نود و شش بیتی SHA-1 |
| aes256-cts-hmac-sha384-192 aes256-sha2 | حالت AES-256 CTS با HMAC صد و نود و دو بیتی SHA-384 |
| aes128-cts-hmac-sha256-128 aes128-sha2 | حالت AES-128 CTS با HMAC صد و بیست و هشت بیتی SHA-256 |
| arcfour-hmac rc4-hmac arcfour-hmac-md5 | الگوریتم RC4 با HMAC/MD5 (منسوخشده) |
| arcfour-hmac-exp rc4-hmac-exp arcfour-hmac-md5-exp | الگوریتم RC4 قابل صادرات با HMAC/MD5 (ضعیف) |
| camellia256-cts-cmac camellia256-cts | حالت Camellia-256 CTS با CMAC |
| camellia128-cts-cmac camellia128-cts | حالت Camellia-128 CTS با CMAC |
| des3 | خانواده triple DES: des3-cbc-sha1 |
| aes | خانواده AES: aes256-cts-hmac-sha1-96، aes128-cts-hmac-sha1-96، aes256-cts-hmac-sha384-192، و aes128-cts-hmac-sha256-128 |
| rc4 | خانواده RC4: arcfour-hmac |
| camellia | خانواده Camellia: camellia256-cts-cmac و camellia128-cts-cmac |
رشته DEFAULT میتواند برای اشاره به مجموعه پیشفرض انواع برای متغیر مورد نظر استفاده شود. انواع یا خانوادهها را میتوان با افزودن یک علامت منفی ("-") به عنوان پیشوند، از فهرست فعلی حذف کرد. برای حفظ تقارن میتوان به انواع یا خانوادهها یک علامت مثبت ("+") پیشوند داد؛ این کار معنایی معادل با صرفاً ذکر کردن نوع یا خانواده دارد. برای نمونه، "DEFAULT -rc4" نشاندهنده مجموعه پیشفرض انواع رمزنگاری با حذف انواع RC4 خواهد بود، و "des3 DEFAULT" مجموعه پیشفرض انواع رمزنگاری است که در آن انواع triple DES به ابتدا منتقل شدهاند.
اگرچه aes128-cts و aes256-cts برای تمام عملیات کربروس پشتیبانی میشوند، اما توسط نگارشهای بسیار قدیمی پیادهسازی GSSAPI ما (krb5-1.3.1 و قدیمیتر) پشتیبانی نمیشوند. به سرویسهایی که نگارشهایی از krb5 فاقد پشتیبانی AES را اجرا میکنند، نباید کلیدهایی از این انواع رمزنگاری در پایگاهداده KDC اختصاص داده شود.
انواع رمزنگاری aes128-sha2 و aes256-sha2 در نگارش ۱.۱۵ جدید هستند. به سرویسهایی که نگارشهایی از krb5 فاقد پشتیبانی از این انواع رمزنگاری جدیدتر را اجرا میکنند، نباید کلیدهایی از این انواع رمزنگاری در پایگاهداده KDC اختصاص داده شود.
فهرستهای کلید-نمک (KEYSALT LISTS)
کلیدهای کربروس برای کاربران معمولاً از گذرواژهها مشتق میشوند. دستورات و پارامترهای پیکربندی کربروس که بر تولید کلیدها تأثیر میگذارند، فهرستهایی از جفتهای نوع رمزنگاری-نوع نمک (enctype-salttype یا "keysalt") را میپذیرند که با عنوان فهرستهای کلید-نمک (keysalt lists) شناخته میشوند. هر جفت کلید-نمک، یک نام نوع رمزنگاری (enctype) است که به دنبال آن یک نام نوع نمک (salttype) با قالب enc:salt میآید. اعضای مجزای فهرست کلید-نمک با نویسههای کاما (",") یا نویسههای فاصله از یکدیگر جدا میشوند. برای نمونه:
kadmin -e aes256-cts:normal,aes128-cts:normal
برنامه kadmin را طوری راهاندازی میکند که به صورت پیشفرض، کلیدهای مشتقشده از گذرواژه را برای انواع رمزنگاری aes256-cts و aes128-cts، با استفاده از یک نمک normal تولید کند.
برای اطمینان از اینکه افرادی که اتفاقاً گذرواژه یکسانی را انتخاب میکنند دارای کلید یکسانی نباشند، کربروس ۵ با استفاده از چیزی به نام نمک (salt)، اطلاعات بیشتری را در کلید میگنجاند. انواع نمک پشتیبانیشده به شرح زیر هستند:
| normal | پیشفرض برای کربروس نسخه ۵ |
| norealm | مشابه پیشفرض، بدون استفاده از اطلاعات قلمرو |
| onlyrealm | فقط از اطلاعات قلمرو به عنوان نمک استفاده میکند |
| special | تولید یک نمک تصادفی |
نمونه فایل KDC.CONF (SAMPLE KDC.CONF FILE)
در اینجا نمونهای از یک فایل kdc.conf آمده است:
[kdcdefaults]
kdc_listen = 88
kdc_tcp_listen = 88
[realms]
ATHENA.MIT.EDU = {
kadmind_port = 749
max_life = 12h 0m 0s
max_renewable_life = 7d 0h 0m 0s
master_key_type = aes256-cts-hmac-sha1-96
supported_enctypes = aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal
database_module = openldap_ldapconf
}
[logging]
kdc = FILE:/usr/local/var/krb5kdc/kdc.log
admin_server = FILE:/usr/local/var/krb5kdc/kadmin.log
[dbdefaults]
ldap_kerberos_container_dn = cn=krbcontainer,dc=mit,dc=edu
[dbmodules]
openldap_ldapconf = {
db_library = kldap
disable_last_success = true
ldap_kdc_dn = "cn=krbadmin,dc=mit,dc=edu"
# این شیء باید دسترسی خواندن روی ظرف قلمرو و زیردرختهای شناسه اصلی را داشته باشد
ldap_kadmind_dn = "cn=krbadmin,dc=mit,dc=edu"
# این شیء باید دسترسی خواندن و نوشتن روی ظرف قلمرو و زیردرختهای شناسه اصلی را داشته باشد
ldap_service_password_file = /etc/kerberos/service.keyfile
ldap_servers = ldaps://kerberos.mit.edu
ldap_conns_per_server = 5
}
فایلها (FILES)
/var/lib/krb5kdc/kdc.conf
همچنین ببینید (SEE ALSO)
krb5.conf, krb5kdc, kadm5.acl
نویسندگان (AUTHORS)
مؤسسه فناوری ماساچوست (MIT)
کپیرایت (COPYRIGHT)
1985-2026, MIT
| 1.22.2 |