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

گاهی لازم نیست یک دسترسی شبکه همیشه باز باشد. مثلاً ممکن است تیم پشتیبانی فقط در ساعت مشخصی اجازه SSH یا دسترسی به یک سرور داخلی را داشته باشد، یا بخواهیم یک مسیر موقت فقط در بازه کاری فعال شود. در تجهیزات سیسکو این کار را میتوان با Time-Based ACL انجام داد؛ یعنی ACL معمولی را به یک بازه زمانی وصل کنیم.
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-range
اول باید یک بازه زمانی بسازیم. در Cisco IOS دو مدل اصلی داریم:
- absolute: برای بازهای با تاریخ شروع و پایان مشخص.
- periodic: برای بازههای تکرارشونده؛ مثلاً هر روز، روزهای کاری، یا یک روز خاص هفته.
R2(config)# time-range RemoteTime
R2(config-time-range)# ?
Time range configuration commands:
absolute absolute time and date
periodic periodic time and date
در این مثال میخواهیم بازه هر روز از ساعت ۸ تا ۹ فعال باشد:
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 را اضافه میکنیم:
R2(config)# access-list 100 permit ip host 10.0.0.2 host 192.168.1.2 time-range RemoteTime
مرحله سوم: اعمال ACL روی اینترفیس
در این سناریو ACL را روی اینترفیس ورودی اعمال میکنیم:
R2(config)# interface FastEthernet0/1
R2(config-if)# ip access-group 100 in
جهت in یا out بستگی به مسیر ترافیک در طراحی شبکه شما دارد. اگر ACL را روی اینترفیس اشتباه یا در جهت اشتباه اعمال کنید، ممکن است rule درست باشد اما نتیجهای که انتظار دارید دیده نشود.
بررسی وضعیت ACL و time-range
برای دیدن وضعیت ACL:
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:
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 را ببینید.

عیبیابی Deploy نشدن Policy در Cisco FMC/FTD
طراحی Health Monitor درست در F5 BIG-IP؛ فقط TCP کافی نیست
هاردنینگ چیست و چرا باید امنسازی سیستمها را جدی بگیریم؟
امنسازی پیکربندی سختافزار و نرمافزار؛ Baseline قابل دفاع برای شبکه
هاردنینگ Cisco؛ کنترل IP Fragments در مرز شبکه
کنترل امنیت شماره ۱۶: پایش و کنترل حسابهای کاربری