Time-based Access List

Time-based Access List

بدلیل اینکه روتر یکی از نقاط حساس و در واقع نقطه ورود و خروج شبکه است باید قابلیت اجرای روشهای مختلف فیلتر کردن پکت ها را داشته باشد تا این مسئله به سازمان ها این اختیار را بدهد که از Access List ها بعنوان یک مکانیزم برای اجرای سیاست های امنیتی متفاوت، استفاده کنند.
Time-based ACL یکی از انواع ACLها است که باعث میشود تا بتوان با استفاده از زمان محدودیت ایجاد کرد. این قابلیت به مدیر شبکه اجازه میدهد تغییراتی در نوع دسترسی ها در شبکه را بر اساس زمان بوجود آورد. بطور مثال با استفاده از Time-based ACL، یک سازمان میتواند محدودیت هایی را برای دسترسی به سرور های مورد نظر در یک زمان مشخص و یا یک بازه زمانی مشخص تعیین کند و یا اینکه مشخص شود کدامیک از نرم افزارهای TCP/IP در چه زمانی و توسط کدامیک از host ها پشتیبانی میشوند. Time-based ACL بعنوان بخشی از ACL در روترهای سیسکو پیاده سازی میشود و سرویس جداگانه ای نیست.
پیاده سازی این سرویس یک فرآیند دو مرحله ای است. مرحله اول تعریف یک بازه زمانی یا Time Range و مرحله دوم ارجاع آن به ACL است. مرحله اول که تعریف Time Range است خود نیز یک پروسه 2 قسمتی میباشد. اول دستور time-range و تعیین یک نام برای آن و سپس استفاده از دستور absolute و یا periodic برای اینکه تعیین کنیم Time Range تعریف شده در چه زمانی اتفاق بیوفتد. فرمت دستورات بشکل زیر است :

time-range time-range-name
[absolute [start time date][end time date
periodic days-of-the-week hh:mmto[days-of-the-week]hh:mm

توضیح پارامترهای این دستورات بشرح زیر است :
1- time-range-name : تعیین یک نام برای Time Range مورد نظر.
2- Time : با استفاده از این پارامتر زمان مورد نظر را مشخص میکنیم.
3- Date : این پارامتر تاریخ مورد نظر را با فرمت day month year مشخص میکند.
4- Days-of-the-week : این پارامتر روز یا روزهایی که قصد داریم acl اعمال شود را مشخص میکنیم.

دستور Time-range
این دستور برای ارتباط دادن یک نام با یک بازه زمانی بکار میرود. تنها از یک عبارت که با absolute شروع میشود و از چند عبارت که با periodic شروع میشود پشتیبانی میکند. برای بیان دقیقتر مفهوم time-range ، در نظر بگیرید که یک مدیر شبکه قصد دارد دسترسی مجاز به ترافیک HTTP را در یک بازه زمانی تعریف کند. هرچند تعیین نام برای Time Range دلخواه است اما برای این سناریو نام allow-http میتواند گزینه مناسبی باشد.

Time-range allow-http

بعد از تعریف نام Time Range، با استفاده از یک عبارت absolute و یا یک یا چند خط عبارت periodic، بازه زمانی مورد نظر را پیاده سازی میکنیم.

عبارت Absolute
از این عبارت برای تعیین یک نقطه زمانی مشخص استفاده میشود. بعد از عبارت absolute میتوان از دستور start و یا end و یا هر دو استفاده کرد تا بازه زمانی مشخص شود. نکته مهم برای مشخص کردن زمان، رعایت فرمت آن است. بطور مثال باید ساعت 3:00 p.m را بشکل 15:00 و تاریخ December 17,2000 را بصورت 17 12 2000 تعریف نمود.
برای توضیح بهتر عبارت absolute، فرض کنید که مدیر شبکه قصد دارد بازه زمانی ترافیک HTTP را از ساعت 6 بعدازظهر تا 7 صبح مشخص کند. این ساست با دستور زیر پیاده سازی میشود :

absolute start 18:00 end 07:00

این دستور باعث میشود ترافیک HTTP هر روز در این بازه زمانی مسدود شود و یا مجاز شود و تا زمانیکه بصورت دستی غیرفعال نشود، در حال انجام است.
نمومنه دیگری از این دستور با جزئیات بیشتر میتواند به این شکل باشد که سازمانی قصد دارد بمدت 45 روز ترافیک خاصی را فیلتر کند. این بازه زمانی بشکل زیر تعریف میشود :

absolute start 20:00 1 June 2000 end 24:00 15 July 2000

در مواقعی که از عبارات start و end استفاده میشود چندین قانون وجود دارد. قانون اول همانطور که گفته شد رعایت ترتیب ساعت و تاریخ است. قانون دوم اینکه ساعت / تاریخ start باید قبل از ساعت / تاریخ end باشد.

عبارت Periodic
همانطور که قبلا نیز بیان شد، این عبارت برخلاف absolute میتواند شامل چندین خط باشد. عبارت periodic به این دلیل از چند خط دستور میتواند تشکیل شود که ممکن است یک مدیر شبکه بخواهد یک بازه زمانی ناپیوسته را تعریف کند. بطور مثال به 3 روش میتوانیم روز شنبه را از لیست روزهای مورد نظر حذف کنیم. در روش اول میتوان 6 خط دستور نوشت که در هر خط یکی از روزهای هفته مشخص شده باشد :

R1(config-time-range)#periodic sunday 13:00 to 14:00
R1(config-time-range)#periodic monday 13:00 to 14:00
R1(config-time-range)#periodic tuesday 13:00 to 14:00
R1(config-time-range)#periodic wednesday 13:00 to 14:00
R1(config-time-range)#periodic thursday 13:00 to 14:00
R1(config-time-range)#periodic friday 13:00 to 14:00

در روش دوم میتوان 2 خط دستور نوشت. یک خط شامل پارامتر weekdays به معنای روزهای دوشنبه تا جمعه و در خط دوم روز یکشنبه را وارد کرد :

R1(config-time-range)#periodic sunday 13:00 to 14:00
R1(config-time-range)#periodic weekdays 13:00 to 14:00

و در روش سوم میتوان یک خط دستور نوشت و تمامی روزهای مورد نظر را تعریف کرد :

R1(config-time-range)#periodic sunday monday tuesday wednesday thursday Friday 13:00 to 14:00

در مثال بعدی میخواهیم اجازه عبور ترافیک خاصی را از ساعت 7 صبح تا 7 شب در روزهای تعطیل تعریف کنیم :

R1(config-time-range)#periodic weekend 07:00 to 19:00

در اخرین مثال قصد داریم یک Time Range با بازه زمانی از 5 بعدازظهر شنبه تا 7 صبح دوشنبه تعریف کنیم که میتوان بشکل زیر پیاده سازی کرد :

R1(config-time-range)#periodic weekends 17:00 to 24:00
R1(config-time-range)#periodic Monday 00:00 to 7:00

برای تعیین بازه های زمانیکه پیوسته نیستند حتما باید از چند خط دستور periodic استفاده کرد.
بدلیل اینکه در این سرویس، زمان نقش اساسی دارد، باید ساعت روتر دقیق باشد. نکته دوم استفاده همزمان دستورات absolute و periodic در یک Time Range است. در این شرایط دستورات periodic بعد از رسیدن زمان start time در دستور absolute، بررسی میشوند. یعنی اول باید زمان مشخص شده start time در دستور absolute فرا برسد سپس دستورات periodic در نظر گرفته میشود.
بطور مثال یک مدیر شبکه قصد دارد یک بازه زمانی از ساعت 8 صبح شنبه تا 6 عصر یکشنبه و از تاریخ June 15,2000 تا تاریخ December 31,2000 را تعریف کند.به این شکل این Time Range مشخص میشود :

R1(config)#time-range allow-http
R1(config-time-range)#absolute start 08:00 15 June 2000 end 31 December 2000
R1(config-time-range)#periodic weekdays 08:00 to 18:00

سناریو
در این سناریو بر اساس شکل زیر قصد داریم پکت های icmp را در ساعت کاری از 9 صبح تا 6 بعدازظهر از host به سمت server، بلاک کنیم.

Router
Router(config)#time-range ICMPDENY
Router(config-time-range)#periodic daily 9:00 to 18:00
Router(config-time-range)#exit
Router(config)#ip access-list extended 100
R1(config-ext-nacl)#deny icmp host 10.0.10.2 host 10.0.0.2 time-range ICMPDENY
R1(config-ext-nacl)#permit ip any any
Router(config)#interface fastEthernet 0/1
Router(config-if)#ip access-group 100 in

از host، سرور رو پینگ میکنیم :

Host
Host#ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/33/64 ms
#Host

ارتباط پینگ برقرار میباشد زیرا هنوز ساعت 9 نشده است :

Router#show time-range
(time-range entry: ICMPDENY (inactive
periodic daily 9:00 to 18:00
used in: IP ACL entry

Router#show ip access-lists 100
Extended IP access list 100
(10 deny icmp host 10.0.10.2 host 10.0.0.2 time-range ICMPDENY (inactive
(20 permit ip any any (5 matches

ملاحظه میشود که خط اول acl غیر فعال است اما خط دوم match اتفاق افتاده است.

Router
Router#show clock
09:01:25.927 UTC Sun Apr 14 2013
Host
Host#ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
UUUUU
(Success rate is 0 percent (0/5

بدلیل اینکه ساعت به 9 صبح رسید ارتباط پینگ بین مبدا و مقصد دیگر برقرار نیست.

Router
Router#show time-range
(time-range entry: ICMPDENY (active
periodic daily 9:00 to 18:00
used in: IP ACL entry

Router#show ip access-lists 100
Extended IP access list 100
(10 deny icmp host 10.0.10.2 host 10.0.0.2 time-range ICMPDENY (active) (5 matches
(20 permit ip any any (5 matches

همانطور که مشخص است برای خط اول نیز match اتفاق افتاده است.

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

پاسخ دهید

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

18 − هفده =