اهمیت کنترل سطح دسترسی
مقاله

کنترل سطح دسترسی (Access-Control-Allow) و برترین مدل های آن

اگر یک مدیر فناوری اطلاعات یا صاحب کسب و کار هستید، به احتمال زیاد امنیت دسترسی های خارج از سازمان به اطلاعات، همیشه ذهن شما را درگیر می کند. مدیریت و کنترل دسترسی کارکنان یک سازمان به فایل‌ها، مانند محدود کردن دسترسی به اطلاعات و سیستم های پردازش آنها، ضرورت پیدا کرده است.

در حالی که نقض امنیت سایبری یک تهدید بالقوه به شمار می رود اما مشکل در امنیت داخلی نیز می تواند به همان اندازه ویرانگر باشد. به همین دلیل، اجرای کنترل سطح دسترسی برای کاهش خطر دسترسی های بدون اعتبارسنجی، ضروری است. مهاجرت سازمان ها به فضای ابری و استفاده کارمندان از فضای ذخیره‌سازی موبایل و مبتنی بر ابر، کنترل دسترسی را به طرز فزاینده‌ای پیچیده می‌کند که دو مشکل عمده به وجود می آورد:

  1. کارمندان برای انجام کارهای خود باید به فایل ها دسترسی داشته باشند اما تمام داده‌های یک مسیر خاص در اختیار آنها نخواهد بود.
  2. برخی موارد، کارمندان داده های حساس شرکت را در حساب های شخصی خود کپی می کنند. بر اساس گزارش ها، بیش از 45 درصد کارمندان اعتراف کرده اند که برخی از فایل های مرتبط با کارفرمایان سابق خود را مخفیانه کپی و ذخیره نموده اند.

به همین دلیل، روش های access-control-allow ارائه شده اند تا نگرانی‌های پیرامون امنیت سایبری را کاهش دهند.

هدر پاسخ Access-Control-Allow-Methods چیست؟

Access-Control-Allow-Methods یک درخواست هدر می باشد که مسئول اجازه دادن به یک یا چند متد HTTP است که هنگام دسترسی به یک منبع آن هم در پاسخ به یک preflight request، استفاده می شوند. preflight request یک درخواست کوچک است که قبل از درخواست واقعی، توسط مرورگر ارسال می شود. این درخواست شامل اطلاعاتی مانند متد HTTP و همچنین هدرهای سفارشی HTTP است. preflight به سرور این فرصت را می دهد تا قبل از اجرای درخواست اصلی، کنترل سطح دسترسی آن را بررسی کند.

انواع کنترل سطح دسترسی

تصویر(1)

preflight اساساً یک درخواست CORS غیر ساده است که توسط مرورگر ارسال می گردد. این درخواست، سطح دسترسی سرور را بررسی کرده و مجاز یا غیرمجاز بودن آن را مشخص می کند.

CORS مخفف Cross-Origin Resource Sharing است که امکان دسترسی کنترل شده به منابع خارج از یک دامنه مشخص را برای مرورگرها امکان پذیر می سازد. CORS انعطاف پذیری را به same-origin policy یا به اختصار SOP اضافه می کند. توجه به این نکته مهم است که یک سیاست CORS با پیکربندی ضعیف می تواند شرایط حملات بین دامنه ای را فراهم نماید.

دستورالعمل CORS

هدر Access-Control-Allow-Methods از دو syntax پیروی می کند:

Access-Control-Allow-Methods: <method1>, <method2>, …
Access-Control-Allow-Methods: *

در خط اول method ها همان لیست متدهای درخواست HTTP هستند که توسط کاراکتر کاما از یکدیگر جدا شده اند. همچنین در خط دوم، کاراکتر «*» برای درخواست‌های بدون اطلاعات یا کوکی‌های احراز هویت HTTP است. یک نمونه از این کد به شکل زیر می باشد:

Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Methods: *

سازگاری با مرورگر ها

مرورگر های زیر با Access-Control-Allow-Methods سازگار می باشند:

  •  Chrome
  •  Edge
  •  Firefox
  •  Opera

لیست کامل سازگاری و عدم سازگاری مرورگرهای مختلف موبایل و دسکتاپ، در تصویر(2) قابل مشاهده است.

منطق کنترل سطح دسترسی

تصویر(2)

منطق عملکرد کنترل سطح دسترسی

کنترل سطح دسترسی منطقی، برای محدود کردن دسترسی به داده ها در سطح مجازی استفاده می شود و از پروتکل های مختلف مجوزدهی، شناسایی و احراز هویت استفاده می نماید. برخی از این موارد عبارت اند از:

  • لیست های کنترل سطح دسترسی یا Access Control Lists

لیست های کنترل سطح دسترسی (Access Control Lists) یا به اختصار ACL ها را می توان به عنوان مجموعه ای از قوانین در نظر گرفت که برای کاهش حملات و کنترل ترافیک شبکه با فیلتر کردن درخواست ها، تنظیم شده اند. همچنین برای مشخص کردن سیستم ها یا کاربرانی که اجازه دسترسی به یک منبع خاص را دارند یا از آن محروم هستند، استفاده می شوند. ACL ها را می توان در سوئیچ ها و روترها نصب کرد تا بتوانند ترافیک ورودی را فیلتر کنند و موجب بهبود عملکرد شبکه گردند.

لیست های کنترل سطح دسترسی

تصویر(3)

در سیستم عامل های مختلف، ACL ها به عنوان "دروازه کنترل دسترسی" (access control entry) یا به اختصار ACE شناخته می شوند و با استفاده از چهار بخش مهم، اطلاعات را پیکربندی می کنند:

  1.  محدود کردن دسترسی
  2. یک شناسه امنیتی (SID)
  3. مجموعه‌ای از علائم (flags) برای تعیین سلسله مراتب دسترسی اشیاء
  4. مشخص کردن عملیاتی که می‌توان روی یک شی انجام داد.

همانطور که مشخص است، ACL ها پتانسیل کنترل سطح دسترسی گسترده در شبکه ها و اشیاء را دارند اما اغلب هنگام مدیریت چندین شی، ACL های پیچیده ای ایجاد می شوند.

  • سیاست های گروهی

سیاست های گروهی یا Group policies به عنوان بخشی از ویندوز، فضایی را جهت کنترل متمرکز و مدیریت دسترسی به شبکه ای از رایانه ها که از خدمات Microsoft Active Directory استفاده می کنند، ایجاد می نماید. با مدیریت متمرکز، دیگر نیازی به پیکربندی جداگانه کنترل دسترسی برای هر سیستم، نخواهد بود. زیرا این تنظیمات به صورت Group Policy Objects یا به اختصار GPO ذخیره می شوند که پیکربندی و مدیریت این تنظیمات را برای مدیر سیستم آسان می کنند.

  • گذرواژه ها

گذرواژه ها رایج ترین روش کنترل دسترسی منطقی هستند و باید به اندازه کافی پیچیده باشند. حدس گذرواژه های ساده و مرسوم، آسان است و سیستم ها را در معرض حملات brute force قرار می دهند. به همین دلیل، استفاده از ابزارهای مدیریت و ذخیره اطلاعات حساس و رمزهای عبور، توصیه می گردد.

  •  محدودیت های اکانت (Account Restrictions)

"محدودیت های اکانت" به عنوان چهارمین گزینه در لیست روش های کنترل دسترسی منطقی است. در حال حاضر ابزارهایی برای تشخیص نشت داده ها وجود دارند. محدودیت های اکانت مانند قطع دسترسی بر اساس زمان یا انقضای کامل اکانت در انتهای دوره ای مشخص، بسیار کاربردی هستند. از سوی دیگر، انقضای اکانت تضمین می کند که حساب های قدیمی و استفاده نشده، در اختیار مجرمان سایبری قرار نمی گیرند.

4 مدل برتر Access control و موارد استفاده از آنها

مدل های کنترل سطح دسترسی

تصویر(4)

مدل‌های کنترل دسترسی (Access control) جهت اعطای سطح مناسب مجوز به افراد استفاده می‌شوند تا بتوانند بدون هیچ مانعی، وظایف خود را انجام دهند. چهار مدل از پرکاربردترین روش های کنترل دسترسی عبارتند از:

کنترل دسترسی اجباری (MAC)

چگونگی کنترل سطح دسترسی

تصویر(5)

مدل کنترل دسترسی اجباری (Mandatory Access Control) یا به اختصار MAC، به کاربر نهایی اجازه تغییر تنظیمات سطح دسترسی را نمی دهد. در مدل MAC، تنها مالک اصلی امکان کنترل‌ دسترسی ها را دارد.

دو مدل امنیتی شناخته شده Biba و Bell-LaPadula با MAC مرتبط می باشند. مدل Biba سیستمی شامل سیاست های امنیت داده برای انتقال اطلاعات رسمی است که یکپارچگی داده ها را تضمین می کند. در Biba، داده‌ها و افراد بر اساس سطح دسترسی به‌گونه‌ای در گروه ها مرتب می‌شوند که موضوعات مطرح شده در یک سطح، از میزان دسترسی های آنها بالاتر نباشد. در این صورت، خرابی داده (data corruption) نهایتا در سطوح پایین رخ می‌دهد. بنابراین، یک کاربر با دسترسی سطح پایین، صرفا می تواند اطلاعات سطح بالاتر را مشاهده کند و امکان ایجاد تغییر در آنها را ندارد اما کاربر با سطح دسترسی بالاتر، می تواند داده های سطوح پایین را تغییر دهد.

مدل Bell-LaPadula، بر کنترل سطح دسترسی به اطلاعات طبقه بندی شده تمرکز دارد و محرمانگی را نسبت به یکپارچگی، اولویت قرار می دهد. کاربران سطح بالاتر، فقط می توانند در همان سطح ویرایش انجام دهند و امکان تغییر داده ها در سطوح پایینتر را ندارند. این مدل در ابتدا برای تامین امنیت تاسیسات دولتی و نظامی توسعه داده شد. دسترسی ها به این صورت بود که اگر اشخاص اطلاعات خاصی را نیاز نداشته باشند، هیچ دسترسی به آنها داده نمی شود.

MAC توسط سیستم شماره گذاری که فایل ها و کارمندان را به سطوح خاصی تقسیم می کند، پیاده سازی شده است و کارمندانی که سطح پایین تری نسبت به یک فایل دارند، نمی توانند به آن دسترسی داشته باشند.

کنترل دسترسی مبتنی بر نقش (RBAC)

نقش کنترل سطح دسترسی

تصویر(6)

مدل کنترل دسترسی مبتنی بر نقش (Role-based access control) یا به اختصار RBAC، دسترسی افراد را بر اساس موقعیتی که در سازمان دارند مشخص می کند. بنابراین، به جای اینکه برای هر کارمند جدید سطح دسترسی خاصی تنظیم گردد، مجوزهای خاصی از قبل به نقش هایی که آنها در سازمان دارند، اختصاص داده می شود. این امر کار را برای مدیران سیستم بسیار آسان می کند اما اگر فرد نیاز به فایل‌هایی داشته باشد که مجوز آنها را ندارد، مدیران امنیتی باید از روشی دستی برای دسترسی آن کارمند به فایل ها استفاده کنند.

کنترل سطح دسترسی اختیاری (DAC)

کنترل سطح دسترسی اختیاری (Discretionary access control) یا به اختصار DAC، در بین مدل‌های موجود در این لیست، چندان سخت گیر نیست، در حالی که MAC یکی از محدودترین آنها است. سازمان‌هایی که از DAC استفاده می‌کنند اساساً به افراد اجازه می‌دهند تا کنترل کاملی روی اشیاء خود و برنامه‌های مرتبط با آنها داشته باشند.

کاربر نهایی، دسترسی کاملی جهت تغییر تنظیمات سطح امنیتی برای سایر کاربرانی که به همان اشیاء دسترسی دارند را خواهد داشت. این دسترسی و تغییرات می تواند منجر به اختلاف و نابرابری در سطوح دسترسی شود. علاوه بر این، مجوزهای کاربران نهایی به تمام برنامه‌های دیگری که با آنها کار می‌کنند نیز تعلق می گیرد. در نتیجه چنین برنامه‌هایی مستعد حملات بدافزار می‌ شوند. وجود این گونه مشکلات، DAC را به یکی از ضعیف ترین مدل های کنترل دسترسی تبدیل می کند.

کنترل دسترسی مبتنی بر قانون (RuBAC)

قانون کنترل سطح دسترسی

تصویر(7)

کنترل سطح دسترسی مبتنی بر قانون (Rule-based access control) یا به اختصار RuBAC، برای تخصیص پویای سطوح دسترسی به کاربران بر اساس نقش آنها که توسط سرپرست سیستم یا متولی تعریف شده، استفاده می گردد. به عنوان مثال، اگر سازمان بخواهد دسترسی ها را بر اساس زمان کنترل کند، این مدل مناسب خواهد بود.

جمع بندی

زمانی که سازمان ها استفاده از خدمات ابری را انتخاب می کنند، مدیریت دسترسی و تخصیص مجوزها به کارکنان، بسیار پیچیده می شود. در این مقاله، نحوه کنترل سطح دسترسی ها که می توانند این گونه مشکلات را کاهش دهند، بررسی شد. سازمان ها می توانند با استفاده صحیح از این روش ها و کنترل سطوح دسترسی، امنیت داده ها را افزایش دهند و از نشت و خرابی داده های حیاتی خود، جلوگیری نمایند.

اشتراک گذاری:

نظرات

دیدگاهتان را بنویسید

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