目录
4、实现对Web-Server和Ftp-Server访问的控制
原理概述
访问控制列表(ACL: Access Control List)是一种常用的网络技术,它的基本功能是对经过网络设备的报文进行过滤处理。ACL是由permit和 deny 语句组成的一个有序规则的集合,它首先通过报文匹配过程来实现对报文的分类识别,然后根据报文的分类信息和相关的执行动作来判断哪些报文可以放行,哪些报文不能放行,从而实现对特定报文的过滤处理。除此之外,ACL还有其他一些功能,这些功能常常被Route-Policy、QoS (Quality of Service)、IPSec(IP Security)、Firewall等技术结合起来使用。
ACL的常见类型:基本ACL、高级ACL、二层ACL、用户自定义ACL等,其中应用最为广泛的是基本ACL和高级ACL。基本 ACL可以根据源IP地址、报文分片标记和时间段信息来定义规则:高级ACL可以根据源/目的P地址、TCP源/目的端口号、UDP源/目的端口号、协议号、报文优先级、报文大小、时间段等信息来定义规则。高级ACL可以比基本ACL定义出精细度更高的规则。
类型 | 编号范围 |
基本ACL | 2000-2999 |
高级ACL | 3000-3999 |
二层ACL | 4000-4999 |
用户自定义ACL | 5000-5999 |
实验目的
掌握基本ACL和高级ACL在安全策略中的应用
掌握基于时间信息的ACL配置
掌握使用基本ACL保护路由器的VTY 线路
实验内容
本实验模拟了一个简单的公司网络,基本组成:一台Ftp-Server,一台 Web-Server,一台HR部门的终端PC-1,一台SALES部门的终端PC-2,一台IT部门的终端PC-3,一台路由器R1和一台交换机SW1。为了满足公司的安全需求,要求在R1上使用ACL对部门之间的互访,以及用户对服务器的访问进行控制。另外,只允许SW1的 VLANIF 1接口的IP地址作为源地址远程登录到R1,以实现对R1的远程控制和管理。
实验拓扑
实验编址
设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
R1(AR1220) | Ethernet 1/0/0 | 172.16.1.254 | 255.255.255.0 | N/A |
Ethernet 1/0/1 | 172.16.2.254 | 255.255.255.0 | N/A | |
Ethernet 2/0/0 | 172.16.3.254 | 255.255.255.0 | N/A | |
Ethernet 2/0/1 | 192.168.1.254 | 255.255.255.0 | N/A | |
SW1 | Vlanif 1 | 192.168.1.1 | 255.255.255.0 | N/A |
Web-Server | Ethernet 0/0/0 | 192.168.1.30 | 255.255.255.0 | 192.168.1.254 |
Ftp-Server | Ethernet 0/0/0 | 192.168.1.10 | 255.255.255.0 | 192.168.1.254 |
PC 1 | Ethernet 0/0/0 | 172.16.1.1 | 255.255.255.0 | 172.16.1.254 |
PC 2 | Ethernet 0/0/0 | 172.16.2.1 | 255.255.255.0 | 172.16.2.254 |
PC 3 | Ethernet 0/0/0 | 172.16.3.1 | 255.255.255.0 | 172.16.3.254 |
实验步骤
1、基本配置
根据实验编址进行相应的基本IP配置,并使用ping命令测试直连网段之间的连通性
[R1]int e1/0/0
[R1-Ethernet1/0/0]ip add 172.16.1.254 24
[R1-Ethernet1/0/0]int e1/0/1
[R1-Ethernet1/0/1]ip add 172.16.2.254 24
[R1-Ethernet1/0/1]int e2/0/0
[R1-Ethernet2/0/0]ip add 172.16.3.254 24
[R1-Ethernet2/0/0]int e2/0/1
[R1-Ethernet2/0/1]ip add 192.168.1.254 24
其余直连路段连通性测试省略。
1.1、设置Ftp-Server
用鼠标右键单击拓扑图中的Ftp-Server图标,选择“设置”选项,出现配置界面。注意,在配置之前不要启动设备。在“基础配置”页面设置IP地址、子网掩码、网关。本实验直接采用IP地址方式访问服务器,所以无需设置域名服务器。
点击进入“服务器信息”页面,在左侧选择栏中选中“FtpServer",设置端口号为21,设置文件根目录为F:\ftp。根目录下的ftptest.zip文件将作为测试文件在后续测试中使用。
设置完成后,关闭设置窗口,右键点击Ftp-Server 图标,选择“启动”选项,然后再次进入“服务器信息”页面,点击“启动”选项。“日志信息”页面中出现“设备启动”提示,表明Ftp-Server 已正常启动,此时关闭该窗口即可。
1.2、设置Web-Server
设置过程与Ftp-Server设置类似。
然后,点击进入“服务器信息”页面,在左侧选择栏中选中“HttpServer”选项,设置端口号为80,设置文件根目录为 F:\web。在根目录下创建文件hello.htm,文件内容为“Hello!Everyone。 This is Web-Server!”。
设置完成后,关闭窗口,右键点击Web-Server 图标,选择“启动”选项,然后再次打开“服务器信息”页面,点击“启动”选项,“日志信息”页面中会出现“设备启动”的提示信息,表明Web-Server已经正常启动。
2、为各部门创建安全区域
公司希望使用华为AR系列路由器的域间防火墙特性来提高安全性,所以需要在R1上为HR、SALES、IT这3个部门分别创建安全区域。区域的名称和部门名称一致,HR区域的安全级别设置为12,SALES区域的安全级别设置为10,IT区域的安全级别设置为8。另外,还需要创建Trust区域,设置Trust区域的安全级别为 14,Ftp-Server 和Web-Server都属于Trust区域。AR系列路由器默认可以设置16种安全级别,取值范围为0~15,15保留给Local区域使用。
将R1上连接不同部门的接口加入到相应部门的安全区域中,Ethernet 2/0/1接口加入到Trust区域中。
[R1]firewall zone HR
[R1-zone-HR]priority 12
[R1-zone-HR]firewall zone SALES
[R1-zone-SALES]priority 10
[R1-zone-SALES]firewall zone IT
[R1-zone-IT]priority 8
[R1-zone-IT]firewall zone trust
[R1-zone-trust]priority 14
//不同接口加入到相应部门的安全区域
[R1]int e1/0/0
[R1-Ethernet1/0/0]zone HR
[R1-Ethernet1/0/0]int e1/0/1
[R1-Ethernet1/0/1]zone SALES
[R1-Ethernet1/0/1]int e2/0/0
[R1-Ethernet2/0/0]zone IT
[R1-Ethernet2/0/0]int e2/0/1
[R1-Ethernet2/0/1]zone trust
使用命令display firewall zone查看相应区域的优先级,区域内包含接口名称、接口数量等信息。
从上面的显示信息可以看到,所有区域的配置工作已经完成。当把接口加入到相应的区域后,就可以实施基于安全区域的ACL了。
在配置AR系列路由器的防火墙特性时需要注意流量的方向。从较高安全级别区域去往较低安全级别区域的报文称为Outbound 报文,从较低安全级别区域去往较高安全级别区域的报文称为Inbound 报文。AR系列路由器的防火墙特性允许管理员在不同的区域之间进行报文的过滤处理。
3、禁止SALES部门和HR部门之间的互访
由于SALES 和HR之间目前没有任何业务往来,为了保证部门信息安全,需要在R1上使用ACL来禁止这两个部门之间的互访。
启用SALES区域和HR区域的域间防火墙,命令中的HR和SALES的先后次序没有关系。
//开启域间防火墙
[R1]firewall interzone SALES HR
[R1-interzone-HR-SALES]firewall enable
命令firewall enable的作用是启用域间防火墙。缺省情况下,当域间防火墙启用之后,安全级别较高的区域能够访问安全级别较低的区域,并且应答的报文也能够返回到安全级别较高的区域,但是安全级别较低的区域无法访问安全级别较高的区域。注意,这条命令在这里只开启了HR区域和SALES区域之间的防火墙特性,不会对HR区域和SALES区域与其他区域之间的报文运动有任何影响。
使用命令display firewall interzone HR SALES查看区域间的默认策略。
可以看到,区域间的默认策略为Inbound 报文被拒绝通过,而Outbound 报文被允许通过。由于HR区域的安全级别为12,SALES区域的安全级别为10,所以从HR区域到SALES区域的报文是Outbound报文,而从SALES区域到HR区域的报文是Inbound报文。
接下来,测试PC1与PC2的连通性:
从图显示的信息可以判定,Outbound方向的报文是被放行的,返回的Inbound方向的报文也是被放行的。
右键单击拓扑图中的 PC-2,选择“设置”选项,然后在“基础配置”页面上进行ping测试,目的IP地址输入172.16.1.1,次数为5,点击“发送”,结果如图所示。
可以看到,结果显示为失败,其原因可以推断为Inbound方向的报文被拒绝通行。为了禁止HR和SALES这两个部门之间的互访,管理员可以在它们之间使用ACL达到目的。由于默认SALES区域不能访问HR区域,因此,只需在Outbound方向上将HR去往SALES 的报文全部过滤掉即可。
创建高级ACL 3000来定义从HR到SALES 的报文,步长设置为10。如果在配置ACL时没有给规则指定序列号,则起始序列号将为步长值,且后续序列号将以步长值的间隔进行累加递增。然后,在 Outbound方向上引用ACL 3000。
[R1]acl 3000
[R1-acl-adv-3000]step 10
[R1-acl-adv-3000]rule deny ip source 172.16.1.0 0.0.0.255 destination 172.16.2.0 0.0.0.255
[R1-acl-adv-3000]firewall interzone SALES HR
[R1-interzone-HR-SALES]packet-filter 3000 outbound
配置完成后,在R1上使用命令display acl 3000查看ACL的配置。
可以看到,ACL 3000中只有1个规则,步长为10,规则序列号也为10。
查看SALES和 HR的域间Firewall 策略。
可以看到,ACL 3000已经被应用在SALES和HR的域间Outbound方向上了。
在PC-1上重新测试与PC-2的连通性。
可以看到,在PC-1上现在无法ping通PC-2,说明相应的安全需求已经得到实现。
4、实现对Web-Server和Ftp-Server访问的控制
接下来的安全需求:SALES 部门的用户可以访问公司的 Web-Server,但禁止访问Ftp-Server。
开启SALES区域和Trust区域间的防火墙。由于SALES区域的安全级别为10,Trust区域的安全级别为14,因此,访问流量的方向为Inbound方向。根据区域间防火墙默认规则,SALES部门的用户是无法访问Trust区域中的服务器的。因此,创建ACL 3001,在 Inbound方向上明确放行SALES区域访问Trust区域的Web-Server 的报文,其他访问报文被默认规则拒绝通行,如此便可实现相应的安全需求。
[R1]firewall interzone SALES trust
[R1-interzone-trust-SALES]firewall enable
在 PC-2的“客户端信息”页面中进行Web 服务的测试,在地址栏中输入“http://192.168.1.30/hello.htm”,发现无法访问Web-Server,如图所示。
创建ACL 3001,允许SALES部门的用户访问Web-Server,并应用在SALES和Trust的区域之间。
[R1]acl 3001
[R1-acl-adv-3001]rule 10 permit tcp source 172.16.2.0 0.0.0.255 destination 192.168.1.30 0 destination-port eq 80
[R1-acl-adv-3001]firewall interzone SALES trust
[R1-interzone-trust-SALES]packet-filter 3001 inbound
配置完成后,再次测试PC2能否访问Web-Server,然后测试能否访问Ftp-Server。
可以看到,结果是PC-2可以访问Web-Server,但是无法访问Ftp-Server,说明安全需求已经得到满足。
现在有个新的安全需求:IT部门的用户可以随时访问 Ftp-Server,但只能在每天的14: 00 至16:00 才能访问 Web-Server,另外还要求IT部门的用户能够随时ping 通Ftp-Server和 Web-Server。
开启IT和Trust之间的域间防火墙。
创建ACL3003,放行IT到Trust的 Inbound方向的FTP、HTTP、ICMP的ECHO报文,步长设置为10。
[R1]firewall interzone IT trust
[R1-interzone-trust-IT]firewall enable
[R1]time-range access-web 14:00 to 16:00 daily
[R1]acl 3003
[R1-acl-adv-3003]step 10
[R1-acl-adv-3003]rule permit tcp source 172.16.3.0 0.0.0.255 destination 192.168
.1.30 0 destination-port eq 80 time-range access-web
[R1-acl-adv-3003]rule permit tcp source 172.16.3.0 0.0.0.255 destination 192.168
.1.10 0 destination-port eq 21
[R1-acl-adv-3003]rule permit icmp source 172.16.3.0 0.0.0.255 destination 192.168.1.10 0
[R1-acl-adv-3003]rule permit icmp source 172.16.3.0 0.0.0.255 destination 192.168.1.30 0
配置完成后,查看ACL设置。
可以看到,规则的序列号是以10为步长递增的。ACL 3003的 rule 10后面的Inactive说明当前这条规则没有被激活,这是因为这条规则只在设备时间为time-range所指定的范围时才会被激活。由于默认规则的存在,所以IT部门的用户只有在每天14:00-16: 00才能访问 Web-Server,而访问Ftp-Server 则无时间上的限制。当ACL有多条规则时,默认情况下路由器将按照规则的序列号从低到高依次将报文与规则进行匹配,一旦某个报文匹配上了某条规则,则按规则指定的动作进行处理,不会再继续往下匹配;对于没有匹配上任何规则的报文,则按默认规则进行处理。
将ACL 3003应用在IT区域和Trust区域之间的Inbound方向上,并查看配置情况。
[R1]firewall interzone IT trust
[R1-interzone-trust-IT]packet-filter 3003 inbound
现在可以测试PC-3是否能访问Web-Server和 Ftp-Server,以及是否能ping通这两个服务器。下图显示了在PC-3上ping Web-Server 的结果,其他测试请读者自行完成。注意,在测试Ftp-Server的时候,文件传输模式请选择PORT模式;正确的结果是能ping通,能以PORT模式访问Ftp-Server。如果时间点正好在 time-range范围内,则能访问Web-Server,否则无法访问。
5、实现对设备的安全控制和管理
为了实现对R1的安全控制和管理,现在只允许SW1上的VLANIF 1接口的IP地址192.168.1.1能够作为源地址登录到R1。
在SW1上创建VLANIF 1接口,配置IP地址为192.168.1.1/24,在Rl上配置VTY用户接口,允许远程主机通过Telnet管理R1。本例中的Telnet密码为 huawei。
[SW1]int vlanif 1
[SW1-Vlanif1]ip add 192.168.1.1 24
[R1]user-interface vty 0 4
[R1-ui-vty0-4]authentication-mode password
Please configure the login password (maximum length 16):huawei
使用基本ACL对路由器的VTY终端进行保护,只允许源地址为192.168.1.1的报文访问R1的VTY终端。
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.1.1 0
[R1-acl-basic-2000]user-interface vty 0 4
[R1-ui-vty0-4]acl 2000 inbound
在SW1上使用命令telnet,按照提示输入密码后,就可以登录到R1上了。
现在,将SW1的VLANIF1接口的IP地址修改为192.168.1.2。
测试结果显示,当SW1的VLANIF 1的IP地址更换后,便无法登录到R1。通过上面的方法,可以防止未被允许的IP地址登录到路由器,从而实现对路由器的安全控制和管理。
主要命令
[SW1]int vlanif 1
[SW1-Vlanif1]ip add 192.168.1.1 24
//创建安全区域及设置安全级别(0-15)
[R1]firewall zone HR
[R1-zone-HR]priority 12
//不同接口加入到相应部门的安全区域
[R1]int e1/0/0
[R1-Ethernet1/0/0]zone HR
//查看相应区域的优先级,区域内包含接口名称、接口数量等信息
display firewall zone
//开启域间防火墙
[R1]firewall interzone SALES HR
[R1-interzone-HR-SALES]firewall enable
//查看区域间的默认策略
display firewall interzone HR SALES
//创建高级ACL3000,且在Outbound方向引入ACL3000
[R1]acl 3000
[R1-acl-adv-3000]step 10
[R1-acl-adv-3000]rule deny ip source 172.16.1.0 0.0.0.255 destination 172.16.2.0 0.0.0.255
[R1-acl-adv-3000]firewall interzone SALES HR
[R1-interzone-HR-SALES]packet-filter 3000 outbound
//设置高级ACL控制访问时间段
[R1]firewall interzone IT trust
[R1-interzone-trust-IT]firewall enable
[R1]time-range access-web 14:00 to 16:00 daily
[R1]acl 3003
[R1-acl-adv-3003]step 10
[R1-acl-adv-3003]rule permit tcp source 172.16.3.0 0.0.0.255 destination 192.168
.1.30 0 destination-port eq 80 time-range access-web