高 强,权循忠,葛先雷
(淮南师范学院电子工程学院,安徽淮南 232038)
ACL是物联网中保障系统安全的重要技术,ACL既可以在三层交换机和路由器上配置,也可以在具有ACL功能的业务软件上进行配置[1]。通过使用可编程方法指定访问规则,对设备间通信进行访问控制,可以允许特定设备访问、指定转发特定端口数据包,防止破坏系统安全,获取系统数据。
三层ACL主要基于源IP地址、目的IP地址、源端口号、目的端口号、协议类型、优先级、分片、生存时间、限速模板和时间段模板等信息对数据包进行分类定义[2-6]。通过接入控制列表,在三层交换机、路由器上进行网络安全属性配置,实现对进入和流出三层交换机、路由器数据流的控制,访问控制列表ACL的规则和动作来决定数据包的通过或拒绝,从而实现控制数据的传输、提高网络性能、保障业务安全[7]。
场景:公司企业网通过三层交换机实现各部门之间的互连。总裁办公室计算机使用VLAN 10,研发部门使用VLAN 20,市场部门使用VLAN 30,外部休闲娱乐服务器使用VLAN 40,配置ACL规则,禁止研发部门和市场部门在上班时间(8∶30—17∶30)访问外部休闲娱乐服务器(IP地址为10.164.9.9),而总裁办公室不受限制。下面以烽火S5800三层交换机为例进行叙述。
网络拓扑图如图1所示。
以PC1、PC2、PC3和PC4分别代表总裁办公室、研发、市场和外部休闲娱乐服务器,按照拓扑图连接设备并配置各PC,如表1所示。
图1 网络拓扑图
部门(PC)IP地址子网掩码默认网关总裁办公室(PC1)10.164.1.33255.255.255.010.164.1.1研发部门(PC2)10.164.2.33255.255.255.010.164.2.1市场部门(PC3)10.164.3.33255.255.255.010.164.3.1外部休闲娱乐服务器(PC4)10.164.9.9255.255.255.010.164.9.1
S5800#config //进入全局配置视图
S5800(config)#vlan 10,20,30,40 //创建valn 10、vlan 20、vlan 30和vlan 40
S5800(config)#interface gigaethernet 1/0/1 //进入1端口
S5800(config-ge1/0/1)#port link-type access //更改接口类型为access
S5800(config-ge1/0/1)#port default valn 10 //设置接口默认vlan为vlan 10
S5800(config-ge1/0/1)#quit //退出
S5800(config)#interface gigaethernet 1/0/2 //进入2端口
S5800(config-ge1/0/2)#port link-type access //更改接口类型为access
S5800(config-ge1/0/2)#port default vlan 20 //设置接口默认vlan为vlan 10
S5800(config-ge1/0/2)#quit //退出
S5800(config)#interface gigaethernet 1/0/3 //进入3端口
S5800(config-ge1/0/3)#port link-type access //更改接口类型为access
S5800(config-ge1/0/3)#port default vlan 30 //设置接口默认vlan为vlan 10
S5800(config-ge1/0/3)#quit //退出
S5800(config)#interface gigaethernet 1/0/12 //进入12端口
S5800(config-ge1/0/12)#port link-type access //更改接口类型为access
S5800(config-ge1/0/12)#port default vlan 40 //设置接口默认vlan为vlan 40
S5800(config-ge1/0/12)#quit //退出
S5800(config)#interface vlan 10 //进入vlan10
S5800(config-vlan-10)#ip address 10.164.1.1/24 //配置vlanif接口IP地址为10.164.1.1,掩码为/24
S5800(config-vlan-10)#quit //退出
S5800(config)#interface vlan 20 //进入vlan20
S5800(config-vlan-20)#ip address 10.164.2.1/24 //配置vlanif接口IP地址为10.164.2.1,掩码为/24
S5800(config-vlan-20)#quit //退出
S5800(config)#interface vlan 30 //进入vlan30
S5800(config-vlan-30)#ip address 10.164.3.1/24 //配置vlanif接口IP地址为10.164.3.1,掩码为/24
S5800(config-vlan-30)#quit //退出
S5800(config)#interface vlan 40 //进入vlan30
S5800(config-vlan-40)#ip address 10.164.9.1/24 //配置vlanif接口IP地址为10.164.3.1,掩码为/24
S5800(config-vlan-40)#quit //退出
测试结果如图2、图3和图4所示。
图2 创建ACL列表前,PC1访问PC4结果
由图2、图3和图4可以看出,在未创建ACL规则前,各个部门均能访问外部休闲娱乐服务器PC4。
S5800(config)#time-range list 1 //创建时间模板1
S5800(config-timerange1)#time-range 1 everyweekday 8∶30∶00 to 17∶30∶00 //模板时间设置为工作日的8∶30到17∶30
S5800(config-timerange1)#quit //退出
S5800(config)#filter-list 1001 //创建三层ACL规则1001
S5800(configure-filter-ipv4-1001)#filter 1 ip 10.164.1.0/24 10.164.9.9/32 //将该ACL规则应用于源IP地址段为10.164.1.0/24和目的IP地址为10.164.9.9/32
S5800(configure-filter-ipv4-1001)#filter 1 action permit //ACL动作为允许
S5800(configure-filter-ipv4-1001)#quit //退出
S5800(config)#filter-list 1002 //创建三层ACL规则1002
S5800(configure-filter-ipv4-1002)#filter 1 ip 10.164.2.0/24 10.164.9.9/32 //将该ACL规则应用于源IP地址段为10.164.2.0/24和目的IP地址为10.164.9.9/32
S5800(configure-filter-ipv4-1002)#filter 1 action deny //ACL动作为阻止
S5800(configure-filter-ipv4-1002)#filter 1 time-range 1 //在该ACL中应用时间模板1
S5800(configure-filter-ipv4-1002)#quit //退出
S5800(config)#filter-list 1003 //创建三层ACL规则1002
S5800(configure-filter-ipv4-1003)#filter 1 ip 10.164.3.0/24 10.164.9.9/32 //将该ACL规则应用于源IP地址段为10.164.3.0/24和目的IP地址为10.164.9.9/32
S5800(configure-filter-ipv4-1003)#filter 1 action deny //ACL动作为阻止
S5800(configure-filter-ipv4-1003)#filter 1 time-range 1 //在该ACL中应用时间模板1
S5800(configure-filter-ipv4-1003)#quit //退出
S5800(config)#interface gigaethernet 1/0/1 //进入1端口
S5800(config-ge1/0/1)#filter-list in 1001 //将创建的1001 ACL规则应用于1端口
S5800(config-ge1/0/1)#quit //退出
S5800(config)#interface gigaethernet 1/0/2 //进入2端口
S5800(config-ge1/0/2)#filter-list in 1002 //将创建的1002 ACL规则应用于2端口
S5800(config-ge1/0/2)#quit //退出
S5800(config)#interface gigaethernet 1/0/3 //进入3端口
S5800(config-ge1/0/3)#filter-list in 1003 //将创建的1003 ACL规则应用于3端口
S5800(config-ge1/0/3)#quit //退出
测试使用Ping命令来检测网络的连通性。
S5800(config)#show clock //查看系统时间信息
System Running Time: 2 hours,23 minutes,44 seconds
显示此时为13∶47∶11,即上班时间,此时测试PC1、PC2和PC3能否访问PC4,测试结果如图5、图6和图7所示。
设置ACL访问规则后,在规定的上班时间8∶30—17∶30内,研发部门和市场部门无法访问外部休闲娱乐服务器,而总裁办公室可正常访问外部休闲娱乐服务器,达到了预期的目的。
S5800#clock set 18∶28∶33 12 7 2017 //更改系统时间信息
S5800#show clock //查看系统时间信息
System Running Time: 2 hours,39 minutes,57 seconds
此时系统时间已修改为非工作时间,测试PC1、PC2和PC3能否访问PC4,测试结果如图8、图9和图10所示。
图5 创建ACL列表后,PC1访问PC4结果
图6 创建ACL列表后,PC2访问PC4结果
图7 创建ACL列表后,PC3访问PC4结果
图8 更改系统时间后,PC1访问PC4结果
图9 更改系统时间后,PC2访问PC4结果
图10 更改系统时间后,PC3访问PC4结果
由图8、图9和图10可以看出,更改系统时间为非工作时间后,研发部、市场部和总裁办公室均能正常访问外部休闲娱乐服务器,结果符合预期,此时因测试需要更改系统时间,正常使用时不允许无故更改系统时间。
ACL规则可以控制特定设备访问、指定转发特定端口数据包,防止破坏系统安全,获取系统数据。在企业通信中,可以配置ACL防止企业员工上班时间访问休闲娱乐网站而影响工作效率,以及上班时间访问不安全网站引起内部网络安全问题,从而达到访问控制的目的。测试结果表明,配置ACL规则可以有效控制访问者权限,保证网络安全。