ACL چیست و چگونه با کمک آن شبکه را کنترل و فیلتر کنیم؟

احتمالا تا حالا برای شما پیش آمده باشد که بخواهید دسترسی یک کلاینت را به یک سرور خاص محدود کنید یا بخواهید استفاده از یک برنامه خاص مثل telnet را مسدود کنید و یا به طور کلی بخواهید بروی عملکرد شبکه کنترل و نظارت داشته باشید. با استفاده از Access Control List که با آن Access list نیز گفته می شود می توانید تمام موارد ذکر و بسیاری قابلیت دیگر را داشته باشید. در این مقاله سعی سعی بر آن شده که ACLs را مورد بررسی قرار گیرد و نحوی عملکرد آن شره داده شود.

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

ACLs ها یک روش قدرتمند برای کنترل ترافیک ورودی یا خروجی به شبکه می باشد این کنترل می تواند به صورت ساده براساس آدرس IP انجام شود یا براساس بررسی آیتم ها متفاوت و پیچیده انجام گیرد. ACLs را میتوان برای پروتکل متفاوت مانند IP ، AppleTalk و … استفاده کرد.

مهمترین دلیل استفاده از ACLs ها فراهم کردن امنیت برای شبکه می باشد هرچند که برای مقاصد دیگری مانند کنترل ترافیک نیز استفاده می شود.

نحوی عملکرد ACLs :

برای اینکه نحوی عملکرد ACLs ها را بهتر درک کنیم یک نگهبان که جلوی یک در بسته مستقر است را تصور کنید. نگهبان براساس دستورالعملی که به او داده شده اجازه عبور به افراد را می دهد به طور مثال به او یک لیست داده شده که فقط این افراد اجازه ورود دارند. افراد که می خواهند از این در عبور کنند نام آنها توسط نگهبان با لیست خود مطابقت داده می شود و در صورتی که نام آنها در لیست بود به آنها اجازه عبور از در را می دهد در غیر اینصورت فرد اجازه عبور از در را نخواهد داشت. ACLsها با استفاده از آیتم های مختلف مانند آدرس مبدا و مقصد ، پورت مبدا و مقصد ، نوع پروتکل و … می تواند عمل فیلترینگ را روی بسته های ورودی یا خروجی یک پورت برای ما انجام دهد. زمانی که یک بسته به دستگاه می رسد در صورت وجود ACLs ، اطلاعات موجود در Header بسته را بررسی می کند و با آیتم های تعریف شده در ACLs مقایسه می کنند و نسبت به آن اجازه یا عدم اجازه عبور به بسته را می دهد.

چه زمانی از ACLs استفاده می کنیم:

  • جهت مقاصد امنیتی
  • محدود کردن ترافیک برای افزایش کارایی شبکه
  • جهت کنترل بسته های مربوط به پروتکل های مسیریابی
  • چه نوع ترافیکی اجازه عبور یا عدم عبور دارند
  • جداسازی برخی ترافیک های خاص به منظور عملیات خاص مانند QoS
  • اعمال محدودیت های زمانی
  • و …

انواع Access Control List :

  • Standard ACLs
  • Extended ACLs
  • Reflexive ACLs
  • Time-Base ACLs
  • Established ACLs

نحوی نام گذاری ACLs :

ACLs را می توان به دو صورت تعریف کرد یکی براساس نام و دیگری براساس عدد. که هر کدام می تواند یکی از دو نوع Extended یا Standard باشد. زمانی که یک ACLs با استفاده از نام ایجاد می کنیم قبل از مشخص کردن نام نوع آنرا مشخص می کنیم مانند مثال زیر:

Router(config)#ip access-list standard itpro
Router(config)#ip access-list extended itpro
  • نکته : استفاده از این نوع نام گذاری از نسخه Cisco IOS Software Release 11.3 به بعد امکان پذیر است.

زمانی که یک ACLs با استفاده از عدد ایجاد می کنیم شماره عددی که انتخاب می کنیم نشان دهنده نوع آن می باشد. یک نمونه از ACL با نام گذاری عددی:

Router(config)#access-list 50 permit host 192.168.1.1
Router(config)#access-list 101 deny tcp host 192.168.1.1 eq www host 10.1.1.1

جدول زیر نشان دهنده محدوده این اعداد و نوع آنها می باشد.

نحوی تخصیص ACLs :

زمانی که یک ACLs تعریف می شود برای عمل کردن باید به یک پورت اختصاص داد شود که می تواند در دو جهت زیر ترافیک را کنترل کند:

  • Inbound : منظور ترافیکی است که وارد یک پورت می شود.
  • Outbound : ترافیک است که از یک پورت خارج می شود.

با انتخاب هر کدام از این دو جهت ترافیک توسط ACLs ترافیک شروع به کنترل می شود.

ACLs Action :

زمانی که یک ACLs تعریف می شود دو نوع اقدام زیر را می توان نسبت به ترافیک که بررسی می کند می توان در نظر گرفت :

  • Deny : اجازه عبور به بسته را نمی دهد.
  • Permit : اجازه عبور به بسته را می دهد.

یک مثال ساده جهت آشنایی بیشتر:

به عکس زیر توجه کنید که یک شبکه بسیار ساده را به ما نشان می دهد که دارای دو کامپیوتر ، یک سوئیچ و یک روتر که به اینترنت متصل است. در اینجا بنا به دلایلی می خواهیم کامپیوتر شماره 2 نتواند به اینترنت دسترسی داشته باشد.

برای اینکار باید یک Standard ACL نوشته شد و اجازه دسترسی به بیرون شبکه از آن گرفته شود(Deny) و این ACL را باید روی Outbound پورت روتر که به اینترنت متصل است اعمال شود. به این صورت اتصال کامپیوتر 2 به اینترنت قطع می شود.

پیمایش به بالا