Kerberos – قسمت سوم: پیکربندی

همانطور که پیش تر اشاره شده، Kerberos پروتکل پیش فرض برای تشخیص هویت کاربران کلاینت های ویندوز ۲۰۰۰ به بعد می باشد. موارد متعددی در خصوص Kerberos را می توان پیکربندی کرد. برای دسترسی به این تنظیمات به Group Policy Managment Console رفته و اقدام به ویرایش Group Policy در محدوده ی مناسب کنید. به عنوان مثال ویرایش Default Domain Policy. گزینه های در دسترس عبارت اند از:

image

Enforce User Logon Restriction

این سیاست سبب می شود که زمانی که کاربر قصد دریافت Session Key دارد، لازم است یکی از حقوق Logon Locally یا Access this Computer from Network را داشته باشد. این سیاست سبب می شود که KDC بر اساس حقوق (Rights) کاربران به آن ها مجوز دسترسی بدهد. به صورت پیش فرض فعال است.

Maximum Liftime For Service Ticket

مشخص کننده ی حداکثر liftime یک Service Ticket است. اگر مقدار ۰ داشته باشند هیچ وقت Expire نخواهد شد. اگر ۰ نیست، باید بیشتر از ۱۰ دقیقه باشد و کمتر یا مساوی Maximum lifetime for User Ticket باشد. به صورت پیش فرض ۶۰۰ دقیقه معادل ۱۰ ساعت است.

Maximum lifetime for User Ticket

مشخص کننده ی حداکثر طول عمر TGT کاربر است. پس از آن TGT بی اعتبار و  Expire می شود لازم است یک TGT دیگر از AS دریافت گردد. به صورت پیش فرض ۶۰۰ دقیقه است.

Maximum lifetime for User Ticket Renewal

مشخص کننده ی حداکثر زمانی است که یک TGT می تواند Renew شود. به صورت پیش فرض ۷ روز است.

Maximum Tolerance For Computer Clock Synchronization

مشخص کننده ی حداکثر زمانی است که فیلد TimeStamp می تواند با زمان local کامپیوتر دریافت کننده ی TimeStamp اختلاف داشته باشد. به صورت پیش فرض ۵ دقیقه است و پس از Restart دوباره Set می شود!

در بیشتر شرایط، تنظیمات kerberos مناسب است و نیازی به ویرایش ندارند.

یکپارچگی با PKIs

همانطوری که پیش تر گفته شد، kerberos امنیت مناسبی را برای شبکه ها بر اساس Shared-Secret ایجاد می کند. اما موضوع قابل توجه آن است که هر کاربری که قصد استفاده از شبکه را دارد در این شرایط باید دارای یک اکانت در Database مربوط به kerberos یا در واقع Active Directory Domain Services Data Store باشد. این برای سازمان هایی که کاربرانشان به شبکه های مشخصی دسترسی پیدا می کند مناسب است اما برای شبکه ای که کاربران آن متغییر یا موقت اند، مناسب نخواهد بود. با استفاده از PKI یا Public Key Insrastructure می توان یک مدل Authentication بر اساس Certificate داشت. با استفاده از ویژگی mapping می توان این امکان را ایجاد کرد که کاربرانی که در AD DS وجود ندارند، بتوانند به Resouce ها دسترسی داشته باشند زیرا مکانیسمی منحصرا برای Certificate ها وجود ندارد.

One-to-one Mapping

در این روش، یک Certificate به یک user account مشخص Map می شود. در این شرایط باید یک Certificate برای کاربر صادر شود و همچنین یک اکانت برای آن ساخته شود. مزیت این Mapping آن است که می توان سطح دسترسی مختلفی برای هر کاربر تعیین کرد اما از دیدگاه مدیریتی دارای پیچیدگی بیشتری نسبت به روش دیگر است.

Many-to-One Mapping

در این روش، تعدادی Certificate به یک Account مشخص Map می شوند.

امکان mapping هم در Active Directory و هم در IIS وجود دارد. برای انجام Mapping در Active Directory Domain Service به کنسول Active Directory Users and Computer  رفته و از منوی View گزینه Advanced Feauters را بزنید. اکنون روی account مورد نظر right click کنید و گزینه Name Mapping را بزنید.

یکپارچگی با کارت های هوشمند

کارت های هوشمند (Smart Cards) روش دیگری را برای یکپارچگی PKIs با Active Directory ایجاد می کنند. زمانی که kerberos بدون استفاده از کارت های هوشمند بهره گرفته شود از یک کلید مشترک برای رمزگشای و رمزنگاری بخش اول ارتباطات خود استفاده می کند (همان کلیدی که بر اساس password کاربر تولید می شد.)

یک کارت هوشمند حاوی یک Certificate x509 v3 است به انضمام یک کلید عمومی/خصوصی برای کاربر. زمانی که کاربر کارت خود را در دستگاه کارت خوان (Card Reader) قرار می دهد و Pin code خود را وارد می کند و فشردن ctrl+alt+del توسط LSA آغاز می شود. PIN Code جهت دسترسی به اطلاعات روی Smart Card مورد استفاده قرار خواهد گرفت. پروسه ی درخواست TGT مشابه قبل است با این تفاوت که به جای ارسال رمز شده ی TimeStamp کلاینت Public Key و Certificate خود را ارسال خواهد کرد. البته pre-authentication data یا همان TimeStamp هنوز در پیام وجود دارد که دارای امضای دیجیتال (Digital Sign) هستند.

زمانی که DC پیام را دریافت می کند، ابتدا صحت Certificate دریافتی و CA آن را بررسی می کند و همچنین با استفاده از pre-authentication data می تواند integrity و authenticity پیام را بررسی کند. اگر هر دو مورد صحیح بود، KDC با توجه به فیلد UPN موجود در Certificate می تواند Account کاربر را در AD DS بیابد. اگر Account معتبر بود، KDC یک TGT برای کاربر صادر می کند. در اینجا TGS Session Key با استفاده از Public Key کاربر رمزنگاری شده و کلاینت با استفاده از Private Key خود می تواند آن را رمزگشایی کند. سایر پروسه ها مشابه به قبل صورت می گیرند.

به کار گیری از Smart Card ها طبیعی است که امنیت بیشتری را برای سازمان ایجاد می کند. اما استفاده از آن ها مستلزم هزینه اقتصادی بیشتر و بار مدیریتی زیادی است. در صورت مفقود شدن Smart Cart ها نیاز به واکنش سریع و ابطال Certificate مربوط به آن است. در برخی سازمان ها، تنها برای اکانت هایی که دارای دسترسی مدیریتی هستند، برای ورود به سیستم استفاده از Smart Card اجباری است. بسیاری از سازمان ها از Smart Card ها استفاده نمی کنند و به امنیتی که با استفاده از کلید متقارن فراهم می شود بسنده می کنند.

پورت های مورد استفاده ی Kerberos

برای آنکه Kerberos بتواند کار کند، لازم است که کلاینت ها بتوانند با DC ها ارتباط برقرار کنند. چنانچه Firewall بین این دو وجود داشته باشد، لازم است اطمینان حاصل کنیم که پورت های زیر در دسترس قرار دارند:

 

پورت سرویس
۵۳ – TCP  و UDP DNS
۸۸ – TCP و UDP Kerberos
۱۲۳ – TCP و UDP Time Service
۴۶۴ – TCP Microsoft Windows Kerberos Change Password Protocol

 

 

پایان

یک دیدگاه در “Kerberos – قسمت سوم: پیکربندی

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *