基于时间的访问控制列表在学校网络管理中的应用
2023-12-04唐磊
唐 磊
(重庆三峡职业学院网络安全信息中心 重庆 404155)
0 引言
随着计算机技术快速发展,网络对社会影响日益广泛。 目前,高等院校为我国网络用户最密集的区域之一,随着高校数字化校园建设的推进,高校已建立了网络中心、数字化图书馆、计算中心等信息化部门,学生可以在多种场所接触网络,更容易吸收多种有利的信息,进而更加自觉地提高和完善自己。 然而,网络是一把双刃剑,在为学习提供便利的同时也会带来负面影响。 网络游戏和娱乐较多,学生容易沉迷其中,对学习负面影响十分明显。基于以上原因本文提出使用基于时间访问控制列表(access control list,ACL)来控制学生上网。
1 ACL
ACL 是一种访问控制技术,主要应用于路由器或三层交换机等[1]。 ACL 应用于路由器或交换机接口的指令列表,指定哪些数据包可以接收转发或拒绝,过滤进出接口的数据包,保护路由器、交换机和网络的安全。
ACL 的作用是限制网络流量、提高网络性能,可以提供对通信流量的控制手段。 可以提供网络安全访问的基本手段。 能够在路由器或交换机的端口处决定哪种类型的通信流量能够被转发或被阻塞。
ACL 技术的基本原理是基于已定义的规则,在网络出入口处对数据包进行过滤,从而实现网络访问控制、安全控制和流量控制。 一个数据包由接口进行路由交换设备后,首先查看路由表,看数据包的目的地址是否在路由表条目中,再根据路由表送至相应的接口,否则将数据包丢弃;当数据到达相应的接口后,查看接口上是否有ACL 配置,有则根据ACL 的规则,对比数据报文,判断是否允许该数据包通过,如果不符合ACL 所有规则,就不能通过设备,需被丢弃;如果没有配置ACL,则数据包直接通过[2]。
ACL 分为基本访问控制列表和高级访问控制列表[3]。 基本访问控制列表仅根据分组内的源IP 地址进行过滤,优点是占用网络设备资源较少,不足之处是可控制功能较少。 高级访问控制列表不但检查数据包源地址,而且检查数据包协议类型。 目的地址以及传输控制协议(transmission control protocol,TCP)/用户数据报协议(user datagram protocol,UDP)协议族的端口号,具有更强的灵活性和扩展性。
2 基于时间的ACL 概述
基于时间的ACL 可以根据某天的不同时间段、某个星期固定时间段,或某个固定的日期和时间,或三者相结合来实现对网络访问的控制。 基于时间的访问控制列表允许管理员定义不同的安全规则,对包含网络协议和端口的数据包进行控制。 这种基于时间的数据包过滤方法使管理员对网络安全策略更具有可控性。
2.1 配置时间段time-range
配置时间段如下。
周期时间段:每天配置固定时间段,例如星期一至星期五的8:00 至18:00。
绝对时间段形式为:日期1 时间1 至日期2 时间2(日期格式为:YYYY-MM-DD,时间格式为:HH:MM:SS),例如从2022 年10 月1 日0:00 起至2022 年10 月7 日23:59 结束。
配置时间段命令格式如下[4]:
time-range 时间段名称{ 开始时间to 结束时间[from时间1 日期1] [to 时间2 日期2] | from 时间1 日期1[to 时间2 日期2] | to 时间2 日期2 } 例如:
time-range work_time 8:00 to 18:00 working-day,其意思为定义周期时间段work_time,时间范围为每周一至周五早上8:00 至晚上18:00。
其意思为定义周期时间段net_time,时间范围为前一天晚上21:00 至当日凌晨3:00。
from time1 date1 为从某个日期某个时间开始,to time2 date2 为到某个日期某个时间结束。 例如:time-range gqj from 0:00 2022/10/1 to 23:59 2022/10/7,其意思为定义绝对时间段gqj,时间范围为从2022 年10 月1 日0:00 起至2022 年10 月7 日23:59 结束。
days 为星期一(Mon),星期二(Tue),星期三(Wed),星期四(Thu),星期五(Fri),星期六(Sat)和星期日(Sun)中的某一天,也可为每天(daily),工作日(working-day)和周末(off-day)。
2.2 校正系统时钟
在使用基于时间的ACL 之前,必须确认路由器提供可靠的系统时钟,网络管理员使用用户模式命令clock datetime HH:MM:SS YYYY-MM-DD 来设置路由器本地时间[5]。 例如:在路由器AR 上设定时间:<AR >clock datetime 11:14:51 2022-09-27,显示路由器当前时间:<AR>display clock。
2.3 关联ACL 与时间段time-range
在访问控制列表中,可以使用rule 命令定义规则允许或者阻止用户访问报文或者协议,在rule 命令中可通过time-range 参数关联时间段名称,从而使规则实现基于时间的访问控制功能。
3 基于时间的ACL 应用案例
场景:某学校使用三层交换机实现各楼栋互联,各楼栋通过路由器访问外网。 办公楼计算机使用VLAN 2001,IP 段为10.1.0.0,学生宿舍计算机使用VLAN 2002,IP 段为10.2.0.0,教学楼计算机使用VLAN 2003,IP 段为10.3.0.0,服务器使用VLAN 3006,IP 段为10.0.1.0,网络拓扑如图1 所示。 配置ACL 规则,允许学生宿舍在工作日7:00-23:00 可访问外网,工作日其余时间禁止访问外网,但可访问内网服务器。 学生宿舍在周末全天可访问外网,在清明节2023 年4 月4 日23:01—2023 年4 月5 日23:00 可访问外网,其他楼栋不受限制。
图1 网络拓扑图
3.1 创建时间段
#配置周期时间段trname_work,时间范围为每周一至周五的7:00 到23:00
[AR] time-range trname _ work 07: 00 to 23: 00 working-day
#配置周期时间段trname_week,时间范围为每周六至周日的0:00 到23:59
[AR]time-range trname_week 00:00 to 23:59 off-day
#配置周期时间段trname_work_deny,时间范围为每周一至周五的23:01 到23:59,0:00 到6:59
[AR]time-range trname_work_deny 23:01 to 23:59 working-day
[AR]time-range trname_work_deny 00:00 to 06:59 working-day
#配置绝对时间段trname_qmj,时间范围为2023 年4月4 日23:01—2023 年4 月5 日23:00
[AR]time-range trname_qmj from 23:01 2023/4/4 to 23:00 2023/4/5
3.2 创建ACL 规则并将时间段与之绑定
#创建访问控制列表ACL
[AR]acl 3000
#创建规则,允许学生宿舍访问内网服务器
[AR-acl-adv-3000] rule permit ip source 10.2.0.0 0.0.1.255 destination 10.0.1.0 0.0.0.255
#创建规则,允许学生宿舍在清明节期间访问外网
[AR-acl-adv-3000] rule permit ip source 10.2.0.0 0.0.1.255 destination any time-range trname_qmj
#创建规则,禁止学生宿舍在周一至周五的23:01 到次日早上6:59 访问外网
[AR-acl-adv - 3000] rule deny ip source 10.2.0.0 0.0.1.255 destination any time-range trname_work
_deny
#创建规则,允许学生宿舍在周一至周五7:00-23:00访问网站
[AR-acl-adv-3000] rule permit ip source 10.2.0.0 0.0.1.255 destination any time-range trname
_work
#创建规则,允许学生宿舍在周六至周日0:00-23:59访问网站
[AR-acl-adv-3000] rule permit ip source 10.2.0.0 0.0.1.255 destination any time-range trname
_week
[AR-acl-adv-3000]quit #退出
3.3 将创建的ACL 规则应用到指定端口
#进入G0/0/1 端口
[AR]interface GigabitEthernet 0/0/1
#在G0/0/1 端口流量入口方向上配置基于ACL 3000流量过滤策略
[ AR-GigabitEthernet0/0/1 ] traffic-filter inbound acl 3000
3e 1H NMR(CDCl3) δ:8.11-8.06(m,2 H),7.81-7.77(m,1 H),7.61-7.57(m,1 H),7.44-7.25(m,4 H),2.44(s,3 H).
[AR-GigabitEthernet0/0/1]quit #退出
4 测试结果
测试使用Ping 命令来检测网络的连通性。
首先,查看系统当前时间,命令如下:
<AR>display clock #查看系统时间
2023-04-07 00:38:42
Friday
Time Zone(China-Standard-Time) : UTC-08:00
显示此时为00:38:42,即非工作时间,测试PC1(办公楼) 和PC2 (学生宿舍) 能否访问外网IP 地址114.114.114.3,测试结果如图2 和图3 所示;测试PC1 和PC2 能否访问Web 服务器10.0.1.2,测试结果如图4 和图5 所示。
图2 创建ACL 后PC1 访问外网结果
图3 创建ACL 后PC2 访问外网结果
设置ACL 访问规则后,在非工作时间23:01-6:59内,学生宿舍无法访问外网,但可访问内网,办公楼则可正常访问内网和外网,达到案例预期目的。
其次,使用clock datetime 更改系统时间,命令如下:
<AR>clock datetime 8:00 2023-04-07 #更改系统时间
<AR>display clock #查看系统时间
2023-04-07 08:00:24
Friday
Time Zone(China-Standard-Time) : UTC-08:00
此时系统时间已修改为工作时间,测试PC1 和PC2能否访问外网IP 地址114.114.114.3,测试结果如图6 和图7 所示。
图6 更改系统时间后,PC1 访问外网结果
图7 更改系统时间后,PC2 访问外网结果
更改系统时间后,学生宿舍和办公楼均可正常访问外网,以同样的方法更改系统时间为周末和清明节,测试结果与图6 和图7 一致,结果符合案例预期。
5 结语
综上所述,本文通过在路由器上配置基于时间的ACL规则,以解决学校网络管理中存在的学生通宵上网问题。测试结果表明,配置ACL 规则可以有效控制访问者权限,保障网络安全,给网络管理员工作带来极大便利。