محدود سازی اکتیو دایرکتوری

با استفاده از Active Directory Quota می توان تعداد Object هایی که توسط یک Security Object که در یک Directory Node قابل ساختن است را محدود کرد. از Active Directory Quota برای کاهش ریسک حملات DoS روی Directory Services استفاده می گردد. به عنوان مثال می توان یک Owner یک OU را محدود به ساخت حداکثر 100 اکانت کاربری کرد. به صورت پیش فرض، فقط اعضای گروه Domain Admins امکان مدیریت Quota ها را دارند.
اگر یک Security Principal که دارای Delegation برای ساخت Object باشد، compromised شود و هیچ Quota ای در نظر گرفته نشده باشد، یک حمله تا زمانی که دیسکی که NTDIS.dit روی آن قرار دارد با کمبود فضا رو به رو شود می تواند ادامه پیدا کند. با استفاده از Quota تعداد Object هایی که تحت این حمله ممکن است ساخته شود محدود می گردند. در هر Directory Partition شامل application partitions، domain partitions و configuration partitionsامکان تعیین Quota وجود دارد. برای ویرایش مقدار پیش فرض کافی است مقدار msDS-DefaultQuota attribute را برای NTDS Quotas container ویرایش کنید. به صورت پیش فرض مقداری برای این attribute تنظیم نشده است. اگر مقدار آن خالی باشد و یا -1 باشد، Security Principals در هر partition امکان ساخت و حذف تعداد نا محدودی Object را خواهند داشت (بدیهی است صرفا Security Principals هایی این امکان را خواهند داشت که دارای Delegation و دسترسی های مناسب باشند).

Tombstone objects که اشیائی هستند که زمانی که یک Object حذف می شود ساخته می شوند نیز، دارای قابلیت Quota هستند. با استفاده از msDS-TombstoneQuotaFactor attribute می تواند درصد شمارش Tombstone را به نسبت اشیاء تعیین کرد. به صورت پیش فرض، مقدار آن 100 است. به عنوان مثال اگر این مقدار بدون تغییر باشد و یک کاربر دارای Quota=2 باشد، کاربر می تواند یک Object بسازد و یک Object دیگر را حذف کند. اگر آن کاربر همان Object را حذف کند، آنگاه امکان ساخت یک Object دیگر را خواهد داشت. اگر Tombstone Quota=50% تنظیم گردد، از آنجایی که شمارش تعداد Tombstone ها تنها به میزان نیمی از live object ها خواهد بود، آن کاربر می تواند یک شیئ جدید ایجاد کند و دو شیئ را حذف کند.

برای تنظیم کردن Quota از ابزار Directory Services استفاده می گردد. برای این منظور از دستور زیر استفاده می کنیم:

dsadd quota –part <partition distinguished name> –qlimit <quotalimit> –acct <security prinicipal>

برای مثال، برای تنظیم Quota=10 برای کاربر bsmith که در بخش help desk است در Directory Parition از دستور زیر استفاده می کنیم.

dsadd quota -part dc=fabrikam,dc=com -qlimit 10 -acct cn=bsmith,ou=HelpDesk,dc=fabrikam,dc=com

جهت بررسی صحت ساخت شدن Quota می توانید از طریق کنسول Active Directory Users and Computer به قسمت NTDS Quotas بروید. اکنون باید یک شئ به نام FABRIKAM_bsmith در آن Container وجود داشته باشد. با استفاده از سوییچ –rdn می توان نام شیئ ساخته شده را معین کرد.

همچنین برای بررسی آنکه یک کاربر دارای چه Quota ای می باشد می توانید از دستور زیر استفاده کنید:

dsget user <userDN> -part <partitionDN> -qlimit –qused

به عنوان مثال با استفاده از دستور زیر، Quota برای کاربر bsmith که پیش تر تعیین شده بود قابل مشاهده است:

dsget user cn=bsmith,ou=HelpDesk,dc=fabrikam,dc=com –part dc=fabrikam,dc=com –qlimit –qused

گفتی است در دستور فوق می توان از dsget computer و dsget groupبه جای dsget user برای مشاهده Quota مربوط به یک اکانت کامپیوتر و یک گروه به ترتیب استفاده کرد. همچنین با استفاده از Query گرفتن از attribute های msDS-QuotaEffective و msDS-QuotaUsed می توان مقدار Quota اعمال شده و استفاده شده را که به صورت dynamic به روز می شوند را مشاهده کرد. هر Security Principal به صورت پیش فرض می تواند Quota مربوط به خود را Query بگیرد.

دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.