Time-Based ACL در سیسکو؛ محدود کردن دسترسی شبکه بر اساس زمان

گاهی لازم نیست یک دسترسی شبکه همیشه باز باشد. مثلاً ممکن است تیم پشتیبانی فقط در ساعت مشخصی اجازه SSH یا دسترسی به یک سرور داخلی را داشته باشد، یا بخواهیم یک مسیر موقت فقط در بازه کاری فعال شود. در تجهیزات سیسکو این کار را می‌توان با Time-Based ACL انجام داد؛ یعنی ACL معمولی را به یک بازه زمانی وصل کنیم.

خلاصه کاربرد: با time-range در Cisco IOS می‌توانیم تعیین کنیم یک rule در ACL فقط در ساعت‌ها یا تاریخ‌های مشخص active باشد. وقتی خارج از آن بازه هستیم، همان entry در خروجی show به حالت inactive دیده می‌شود و عملاً match نمی‌شود.

Time-Based ACL چیست؟

Time-Based ACL همان Access List معمولی است، با این تفاوت که به یک time-range وابسته می‌شود. این قابلیت بیشتر برای کنترل دسترسی‌های موقت، دسترسی پیمانکار، باز کردن سرویس در ساعت اداری، یا محدود کردن ارتباطات حساس کاربرد دارد.

قبل از ادامه، اگر با ACL آشنا نیستید بهتر است اول مطلب راهنمای Access List در سیسکو را ببینید. این مقاله روی بخش زمانی ACL تمرکز دارد.

سناریوی نمونه

فرض کنیم در شبکه زیر، هاست 10.0.0.2 فقط هر روز بین ساعت ۸ تا ۹ صبح اجازه دسترسی به سرور 192.168.1.2 را داشته باشد. خارج از این بازه، دسترسی باید بسته باشد.

توپولوژی نمونه برای Time-Based ACL در سیسکو
توپولوژی نمونه برای محدود کردن دسترسی با ACL مبتنی بر زمان

مرحله اول: تعریف time-range

اول باید یک بازه زمانی بسازیم. در Cisco IOS دو مدل اصلی داریم:

  • absolute: برای بازه‌ای با تاریخ شروع و پایان مشخص.
  • periodic: برای بازه‌های تکرارشونده؛ مثلاً هر روز، روزهای کاری، یا یک روز خاص هفته.
نمونه تنظیم و بررسی Time-Based ACL در Cisco
R2(config)# time-range RemoteTime
R2(config-time-range)# ?
Time range configuration commands:
  absolute  absolute time and date
  periodic  periodic time and date

در این مثال می‌خواهیم بازه هر روز از ساعت ۸ تا ۹ فعال باشد:

نمونه تنظیم و بررسی Time-Based ACL در Cisco
R2(config)# time-range RemoteTime
R2(config-time-range)# periodic daily 8:00 to 9:00
R2(config-time-range)# exit

مرحله دوم: اتصال time-range به ACL

حالا ACL را می‌نویسیم و در انتهای entry، عبارت time-range RemoteTime را اضافه می‌کنیم:

نمونه تنظیم و بررسی Time-Based ACL در Cisco
R2(config)# access-list 100 permit ip host 10.0.0.2 host 192.168.1.2 time-range RemoteTime
نکته مهم: اگر قرار است خارج از این بازه همه چیز deny شود، باید ترتیب ACL و implicit deny را درست در نظر بگیرید. در ACLها ترتیب ruleها مهم است و اولین match اعمال می‌شود.

مرحله سوم: اعمال ACL روی اینترفیس

در این سناریو ACL را روی اینترفیس ورودی اعمال می‌کنیم:

نمونه تنظیم و بررسی Time-Based ACL در Cisco
R2(config)# interface FastEthernet0/1
R2(config-if)# ip access-group 100 in

جهت in یا out بستگی به مسیر ترافیک در طراحی شبکه شما دارد. اگر ACL را روی اینترفیس اشتباه یا در جهت اشتباه اعمال کنید، ممکن است rule درست باشد اما نتیجه‌ای که انتظار دارید دیده نشود.

بررسی وضعیت ACL و time-range

برای دیدن وضعیت ACL:

نمونه تنظیم و بررسی Time-Based ACL در Cisco
R2# show access-lists
Extended IP access list 100
  10 permit ip host 10.0.0.2 host 192.168.1.2 time-range RemoteTime (inactive)

وقتی عبارت inactive را می‌بینید یعنی آن entry در این لحظه فعال نیست. دلیلش معمولاً این است که ساعت فعلی دستگاه خارج از بازه تعریف‌شده است.

برای بررسی خود time-range:

نمونه تنظیم و بررسی Time-Based ACL در Cisco
R2# show time-range
time-range entry: RemoteTime (inactive)
  periodic daily 8:00 to 9:00
  used in: IP ACL entry

چک‌لیست عیب‌یابی Time-Based ACL

اگر Time-Based ACL کار نکرد، معمولاً مشکل از خود ACL نیست؛ از ساعت، جهت اعمال، یا ترتیب ruleهاست. این موارد را چک کنید:

  • ساعت روتر: با show clock مطمئن شوید زمان دستگاه درست است.
  • NTP: بهتر است روی روتر یا سوئیچ، NTP تنظیم باشد تا زمان drift نکند.
  • Timezone: اختلاف timezone باعث می‌شود ACL در ساعت اشتباه active شود.
  • جهت ACL: بررسی کنید ACL را روی اینترفیس و جهت درست اعمال کرده‌اید.
  • ترتیب ruleها: یک permit یا deny قبل از این entry ممکن است ترافیک را زودتر match کند.
  • implicit deny: انتهای ACL همیشه deny ضمنی دارد؛ اگر permitهای لازم را ننوشته باشید، ترافیک قطع می‌شود.

نمونه کاربردهای واقعی

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

نکات امنیتی مهم

Time-Based ACL ابزار خوبی است، اما نباید جایگزین طراحی امنیتی درست شود. اگر دسترسی حساس است، بهتر است کنار آن از روش‌های دیگری مثل VPN، احراز هویت قوی، لاگ‌گیری، محدود کردن source IP و مانیتورینگ استفاده شود.

در شبکه‌های بزرگ‌تر، به جای اینکه صرفاً روی ACL تکیه کنیم، بهتر است دسترسی‌ها در قالب policy مشخص، مستند و قابل مانیتور تعریف شوند. برای مثال در فایروال‌هایی مثل فورتیگیت یا Cisco Firepower معمولاً کنترل زمان‌بندی در policyها با visibility بهتری انجام می‌شود.

در اجرای Time-Based ACL در سیسکو چه چیزی مهم‌تر است؟

Time-Based ACL در سیسکو برای زمانی مناسب است که بخواهیم یک rule فقط در ساعت یا تاریخ خاصی فعال باشد. منطق کلی ساده است: اول time-range می‌سازیم، بعد آن را به ACL وصل می‌کنیم و در نهایت ACL را روی اینترفیس درست اعمال می‌کنیم. بخش مهم‌تر کار، عیب‌یابی ساعت دستگاه، جهت اعمال ACL و ترتیب ruleهاست.

پرسش‌های رایج درباره Time-Based ACL در سیسکو

آیا Time-Based ACL فقط برای روترهای سیسکو است؟

این قابلیت در Cisco IOS برای ACLها استفاده می‌شود. در محصولات دیگر هم معمولاً مفهوم مشابهی با نام scheduled policy یا time schedule وجود دارد.

اگر ساعت روتر اشتباه باشد چه می‌شود؟

ACL بر اساس ساعت خود دستگاه active یا inactive می‌شود؛ بنابراین اگر clock یا timezone اشتباه باشد، rule در زمان اشتباه فعال می‌شود.

چطور بفهمم rule فعال است یا نه؟

با دستورهای show access-lists و show time-range می‌توانید وضعیت active یا inactive بودن rule را ببینید.

برچسبها
مطالب مرتبط

دیدگاهی بنویسید.

بهتر است دیدگاه شما در ارتباط با همین مطلب باشد.