یکی از اصول و پایه های مهم استراتژی امنیت، اجرای مناسب سطحی از دسترسی کاربران سازمان یا مجموعه مورد نظر به منابع مورد نیازشان است.کنترل دسترسی بر چهار نمونه است که شامل:
- Mandatory Access Control (کنترل دسترسی اجباری)
- Discretionary Access Control (کنترل دسترسی اختیاری)
- Role-Based Access Control (کنترل دسترسی برپایه وظیفه)
- Rule-Based Access Control (کنترل دسترسی برپایه قانون)
1-کنترل دسترسی اجباری (MAC)
این نوع کنترل از قوی ترین و دقیقترین نوع کنترل دسترسی است وبه همین دلیل مورد استفاده اصلی آن در مراکز نظامی و امنیتی است. این کنترل یک رویکرد سلسله مراتبی برای دسترسی به اشیاء منابع (object) را بوجود می آورد. از این رو در کنترل MAC نظارت و تنظیمات پیکربندی، برای دسترسی سوژه به اشیا به شدت انجام میگیرد.دسترسی اجباری کارش را با برچسب گذاری امنیتی (label) بر روی اشیاء، که شامل:
طبقه بندی اطلاعات، که خود شامل:
- محرمانه
- غیر محرمانه
- و غیره
و دسته بندی (level) شروع می کند. که دسته بندی اساساً نشانه ای از سطح مدیریت، گروه و یا پروژه به object مورد نظر است.به طور مثال، هر کاربر بر روی سیستم دارای طبقه بندی و دسته بندی خاص از همان مجموعه ای است که به آن اشیائ نیز این خواص داده شده است. بنابراین هنگامی که کاربر تلاش می کند به یک منبع دسترسی پیدا کند، سیستم عامل، عملیات مقایسه ای را شروع می کند، که آیا کاربر مورد نظر دسته بندی و برچسب مورد نظر شی را که به دنبال آن است را دارد یا خیر.نکته مهم اینجاست که برچسب با مرحله دسترسی هرکاربر باید یکسان باشند، چرا که ممکن است کاربری برچسب محرمانه در مرحله بالاتری داشته باشد اما مجاز به دسترسی به شی ها در مرحله پایین تر را نداشته باشد.از برتری های این کنترل این است که صاحب شی ها هم نمیتواند دسترسی ها و برچسب های اختصاص داده شده را تغییر دهد.و از معایب آن، نرخ سرعت پایین و بروز رسانی مرتب مدیریت برای دسترسی ها و طبقه بندی های مرتبط به کاربران است.
2-کنترل دسترسی اختیاری (DAC)
این کتترل بر خلاف کنترل دسترسی MAC اجازه دسترسی به منابع سیستم توسط خود کاربر و تغییر آنها را می دهد. اکثر تنظیمات دسترسی پیشفرض برای سیستم عامل ها از نوع DAC است.در DAC به جای استفاده از برچسبهای امنیتی برای هر شی، از لیست کنترل دسترسی(ACL) برای کاربران استفاده می شود. بعبارتی هر کاربر توسط یک یک لیست به گروه مجموعه خود میتواند سطح دسترسی تعریف کند. بعنوان مثال کاربر A، به یکی از فایل های خود سطح دسترسی فقط خواندن را جهت ارائه به کاربر B، و به همان فایل سطح دسترسی خواندن و نوشتن را برای ارائه به کاربر C، و دسترسی کامل را برای گروهی خاص قائل شود.این مهم است که توجه داشته باشید که کاربر A مجوز دسترسی به شی هایی را دارد که در حال حاضر مالک آنهاست، بعبارتی نمی تواند سطح کنترل دسترسی شی های کاربر B را تغییر دهد. بنابراین تغییر مجوز دسترسی شی های متعلق به هر کاربر برای کاربر دیگر ممکن نیست. البته در برخی شبکه ها ممکن است مدیریت (Admin) اجازه بعضی تغییرات در لیست کنترل دسترسی (ACL)را به کاربران داده باشد.
در نهایت باید گفت که محیط DAC بسیار انعطاف پذیر و در دسترس تر از محیط MAC است، و این مسئله باعث شده که کاربران دسترسی بیش از حد به منابع داشته باشند.
3- کنترل دسترسی برپایه وظیفه (RBAC)
این کنترل بر اساس وظیفه افراد و پست سازمانی آنها تعیین دسترسی می شود. به طوریکه اساساً به نقش افراد در محیط، اختصاص داده شده، به عنوان مثال اگر کاربری شغل حسابداری در شرکت را بر عهده دارد، دسترسی به منابعی که مختص یک حسابدار است به او داده می شود و نه بیشتر. و به همین ترتیب برای یک مهندس نرم افزار این دسترسی ها وسیع تر خواهد شد.در حالی که در سایر کنترل ها، ممکن بود یک کاربر در چند گروه عضو باشد، در RBAC هر کاربر فقط یک شغل را برعهده است و بر آن اساس تعیین دسترسی می شود. و هیچ راهی هم برای تعیین مجوزهای بالاتر وجود نخواهد داشت. در حقیقت به یک حسابدار دسترسی همان شی هایی را که مورد نیاز تمام حسابداران است می دهند، و نه چیزی کمتر و نه چیزی بیشتر.
4- کنترل دسترسی برپایه قوانین a(RBAC)
این کنترل نیز با حروف مخفف RBAC نشان داده می شود. با این تفاوت که به معنای کننترل دسترسی بر اساس قانون است.در این نوع کنترل، چک لیستی(ACL) از قوانین مورد نظر مدیریت، برای اشیا تعریف می شود. و بدین ترتیب زمانی که کاربر قصد استفاده از این منابع را دارد، بررسی میکند که آیا این دسترسی ها با قوانین ذخیره شده، مغایرتی دارد یا خیر، و در صورت نداشتن اجازه استفاده یا ورود صادر می شود.از این نوع کنترل بیشتر در موارد لاگین کردن کاربران و تعیین دسترسی برخی از آنها در زمان های مشخص با حساب کاربری خاص در اتصال به شبکه استفاده می شود. درکنترل RBAC نیز مانند کنترل MAC، کاربر نمی تواند مجوزهای دسترسی را تغییر دهد. و همه مجوزها توسط مدیر سیستم کنترل می شود.