《2022年网络安全实验 .pdf》由会员分享,可在线阅读,更多相关《2022年网络安全实验 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络安全实验一实验目的:1 理解 Lock-and-Key 的主要用途及配置方法;2 理解 Reflexive access list 的主要用途; Reflexive access list 的配置步骤;3 掌握 CBAC 的主要用途和配置方法;4 比较三种访问控制的优缺点,所用场合的差异,以便根据不同的环境灵活选择不同的配置策略;二实验设备:1700 系列路由器两台,装有超级终端的计算机三台,集线器两个,网线等。三实验拓扑:RouterA RouterB s0 172.32.3.1/24s0 172.32.3.2/24172.32.4.1/24 f0 f0 172.32.2.1/24 Ho
2、st A 172.32.4.2/24 Host B 172.32.2.2/24 四实验内容:(一) . Lock-and-Key配置实验1配置 Lock-and-Key的常用命令:Lock-and-Key 常用的命令有以下几个:access-list,ip access-group, login tacacs ,username,password&login local ,show ip interface, show access-lists 。我们简单介绍一下:access-list access-list-numberdynamicdynamic-nametimeoutminutes d
3、eny|permit protocol source-address source-wildcard destination-address destination-wildcard:该命令使用关键字“ dynamic ” ,它创建一个动态访问控制列表。“timeout minutes”参数指定了动态访问控制列表的绝对超时值,它代表该动态访问控制列表中每个条目的最大时间限制(以分为单位),时间到后,就算连接仍在传输数据,我们也需要重新认证。ip access-group access-list-number in|out : 把一个 ACL 表应用于路由器的具体的端口。 “in”是入方向,“o
4、ut”是出方向。username username password password: “ username”参数配置一个用户名,以标识用户的身份,它可以保证对用户的验证更为有效。“password ”参数配置一个认证密码。“login local ”一个注册命令,它将所有线路配置为根据本地用户名/口令数据库对用户进行认证。autocommand access-enable host timeout minutes:该命令用于自动创建一个临时性访问控制列表条目, 关键字 “host” 使该临时性条目不包括我们所在子网的其他地址,“ timeout minutes”参数指定连接的闲置时间,如果
5、连接闲置超过该时间,我们不得不重新进行认证。qingdove 制作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - show ip interface:这个命令不是ACL 的特有命令,但是它可以看到一个端口上的ACL 的配置信息。show access-lists:这个命令用于查看某个ACL 表里的访问控制规则。2 注意事项:A ACL 规则路由器是根据ACL 里面的规则对数据包进行检验的,如果发现一个数据包不符合表里定义的所有规
6、则,路由器就会把数据包丢弃。所以在写ACL 规则时,如果前面几条规则是deny某种类型的数据包通过的话,那么一定要在最后加上一条perimt any,让其它不满足条件的数据包通过。BLock-and-Key使用的是IP 的扩展 ACL ,所以你在配置Lock-and-Key 之前必须对ACL访问控制的原理有一个深入的理解。C在开始这个实验之前,建议删除各路由器的初始配置后再重新启动路由器,这样可以防止由残留配置所造成的问题。D在配置中带关键字“dynamic”的语句是同一个扩展ACL100 的一部分。记住,对于一种协议,一个接口和一个方向只能有一个访问控制列表。3.实验步骤1按上面实验拓扑图连
7、接好设备,并配置好各设备的ip 地址;2使用RIP 协议作为该网络的路由协议,实现网络的动态路由配置。完成配置后使用show ip route,show interface,show running-configuration查看路由配置的正确性或者使用ping 命令验证网络之间是否完全互连。3 Router-A 上配置动态访问控制列表:(1)建立一个访问控制列表号为100 的访问控制列表:Router-A#config t Router-A(config)#access-list 100 permit tcp any host 172.32.3.1 eq telnet Router-A(co
8、nfig)#access-list 100 dynamic CISCO timeout 5 permit ip any any ( 2)将建立的访问控制列表100 应用在 Router-A 的 f0 端口上,一切从该端口进入的数据流都需要通过ACL 的验证: Router-A(config)#int f0 Router-A(config-if)# ip access-group 100 in Router-A(config-if)#exit ( 3)定义将使用Lock-and-Key 的虚拟终端:单台主机: Router-A(config)#line vty 0 4 Router-A(conf
9、ig-line)#login local Router-A(config-line)#autocommand access-enable host timeout 2 Router-A(config-line)#exit 整个子网: Router-A(config)#line vty 0 4 Router-A(config-line)#login local Router-A(config-line)#autocommand access-enable timeout 2 Router-A(config-line)#exit (4)为所有需要通过Router-A 而访问外部网络的用户配置用户的
10、验证名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 证明(包括用户名和密码):Router-A(config)#username CISCO password CISCO Router-A(config)#z 4 验证 Lock-and-Key配置是否成功:1)使用了host 命令,仅允许单台主机通过:(1) 试着从 HostB 去 ping HostA ,到主机的ping 应该失败。(2) 在确认了防火墙阻止我们到达172.3
11、2.4.0 网段之后,我们可以从HostB telnet到 Router-A,我们会被提示输入用户名和密码以进行认证,输入正确的登陆信息后, telnet 会话立刻被切断。这时 RouterA 已经在防火墙上打开了一个通道,让数据报通过。(3) 再试着从HostB ping 一下 172.32.4.0 网段主机,该ping 是成功的。从RouterB上 ping 172.32.4.0 网段主机, ping 不成功, 因为我们用host 参数规定了只有单台主机能够使用这个通道传输数据(4) 此时可以使用show ip access lists 来查看 lock and key 的配置:Route
12、r-A#show ip access_lists Extended IP access list 100 permit tcp any host 172.32.3.1 eq telnet (94 matches) Dynamic cisco permit ip any any permit ip host 172.32.4.2 any (19 matches) (time left 52) 可见其数据包头源地址被动态的替换为了172.32.4.2,这就是参数host 的作用2)不使用host 命令,允许整个子网的所有主机通过:(1)试着从Host_2 去 ping Host_1,到主机的pin
13、g 应该失败。(2)在确认了防火墙阻止我们到达172.32.4.0 网段之后,我们可以从HostB telnet到 Router-A ,我们会被提示输入用户名和密码以进行认证,输入正确的登陆信息后, telnet 会话立刻被切断。这时RouterA 已经在防火墙上打开了一个通道,让数据报通过。(3) 再试着从HostB ping 一下 172.32.4.0 网段主机, 该 ping 是成功的, 从 RouterB上 ping 172.32.4.0 网段主机, ping 也是成功的, 因为我们没有使用host 参数,这使得该网段内的所有主机都能够使用这个通道传输数据(4)此时可以使用show i
14、p access lists 来查看 lock and key 的配置:Router-A#show ip access_lists Extended IP access list 100 permit tcp any host 172.32.3.1 eq telnet (94 matches) Dynamic cisco permit ip any any permit ip any any (20 matches) (time left 45) 可见路由器还是让任何ip 包通过。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
15、名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - (二) . Reflexive Access List 配置实验 1 概述:按上图拓扑, 在该实验中, 我们在两个路由器之间启动rip路由协议。其中 RouterA担当防火墙的角色 , 即将Reflexive access list放在 RouterA 的 f0 口处,在RouterB的 f0 口处连接的是172.32.2.0网段。 HostB 上安装 FTP服务器软件, 作为外部网络的一台 FTP服务器 . Reflexive access list 的放置有两种方法:放在internal接
16、口处或者放在external接口处, 要弄清出两种放置方法有什么不同之处,他们分别用于什么场合上。该实验可分别以ping 命令,telnet,ftp请求三种方式来验证配置的可行性: A: 以 ping 命令来证明配置是否可行:当配置完成后, 在 HostA 上 ping RouterB的 f0 网段内的主机ip 地址, 都可以有icmp 包返回;但在防火墙外ping RouterA内部的网络设备时,则不能ping 通。 B:以 FTP方式来验证 : 注意, 由于FTP的控制端口为21, 而传输数据的端口为20, 因此, 当 FTP client以普通方式尝试与FTP server建立会话时 ,
17、 会发现虽然双方已经在控制与同步方面都磋商完毕, 但当FTP server开始发送第一个数据包过来时, 由于它是以端口20 传输的 , 而基于这个端口的会话的发起方属于防火墙外部, 因此reflexive access list会认为该会话非法 , 从而不允许通过 . 因此在FTP client方看来 , 尽管已经连上了 FTP server, 但却看不到任何服务器的FTP目录上的内容;要想得到FTP服务,必须将 client的 FTP工作方式设为passive模式( 这是 FTP的两种工作方式之一 , 详细内容可参考RFC1635,RFC1579). 2实验步骤: 按拓图连接好设备并打开电源
18、; 按图配置好各设备地址,并在两个路由器之间启动默认路由; 验证路由配置的正确性:以ping 命令分别在各设备上ping 其他网段的设备 , 应保证整个网络都能互通; 在 RouterA 上配置 Reflexive access list: (1) 首先,定义一个名为FILTER-IN 的 inbound access list,该ACL将运行在RouterA 的 f0 口处检查所有进入的数据包,并在其上定义了一条entry ,该 entry允许所有 ip 包通过,并且创建了一个名为IPTraffic的 reflexive access list,当一个 inbound packet 第一次通
19、过该接口和外面建立起会话的时候,路由器就会相应的在 IPTraffic中加入一条entry ,以便双方能通过该路由器对话。 RouterA(config)#ip access-list extended FILTER-IN RouterA(config-ext-nacl)#permit ip any any reflect IPTraffic RouterA(config-ext-nacl)#exit (2) 然后,定义一个名为 FILTER-OUT 的outbound access list,并将IPTraffic嵌套在该ACL 中; RouterA(config)#ip access-li
20、st extended FILTER-OUT RouterA(config-ext-nacl)#evaluate IPTraffic RouterA(config-ext-nacl)#exit (3)将两个 ACL 应用在 f0 口上; RouterA(config)#int f0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - RouterA(config-if)#ip access-group FILTER-IN in Ro
21、uterA(config-if)#ip access-group FILTER-OUT out 用show 命令确认配置正确后,在在防火墙外部ping 防火墙内部的设备时,这时是不能 ping 通的;而在防火墙内部设备上(如 Host A)ping 外部的设备 ,这时 icmp 包则可返回,想想原因。同样,telnet 方式的结果也一样需要注意的就是FTP 访问时的问题 .如果想防火墙内部的client 能访问外部的 FTP server, 可以有两种方案选择:第一 ,将client 的 FTP访问方式设为passive 模式 ,如果用 ftp软件的话 (如leapftp) 一般可以设置 ,或
22、者在比较高版本的ie下,在internet 选项下的高级子菜单 ,选中 ”enable folder view for FTP sites”,则可以正确访问.但这需要 client 方懂得设置的方法 ;另外一种方案就是在作为防火墙的路由器端口上加上一条entry, 让所有原端口为 20而目的端口大于1024 的包通过 ,比如在上面的实验中,我们可以在控制表FILTER-OUT 中加入这样一条: permit tcp any eq 20 any gt 1024 , 则可以让所有从原端口为20且目标端口大于1024 的数据包通过,相当于开了一道后门,当然 ,这也会存在着安全隐患. 3注意事项: R
23、eflexive access list只能定义成扩展的命名ACL, 不能定义成数字的或者是标准的命名 ACL; 由于 Reflexive access list的内容是动态生成的,所以开始的时候它是一个空表,而cisco路由器对于空的ACL它是不显示出来的,因此当没有会话建立起来时,用show 命令是看不到你所定义的reflexive access list的;但当实验过程中内部与外部之间建立起对话后,再用show 命令查看的时候,你就会发现存在该表了;必须注意,reflexive access list并不直接应用到端口上,而是嵌套在应用于该端口的另一个扩展的命名ACL上,因此它并不象其他
24、的ACL那样,在最后用缺省的deny anyany 的条项;弄清楚一般的ACL中关键词 established与reflexive access list的区别:虽然他们表面上都似乎完成相同的功能,但事实上他们的实现原理和安全程度都不同: established是通过检查数据包中的 ACK 和RST 位来决定该数据包是否合法;而reflexive access list不仅仅检查这个,而且检查数据包的源地址,目标地址,端口号等,并且它有可调节的 timeout ,因此它比 established更安全。 由于自反访问控制表的作用是为防火墙内部的设备提供安全保护并能正确访问外部网络,因此它必须保
25、持内外路由信息的正确交换,换句话说,就是reflexive access list既要有效阻止外部网络设备的非法访问,也应保证路由包能在正常通过该路由器,而不被访问表所拦截由于 rip 协议包是有路由器内部发出传到相邻路由器的,因此reflexive access list 不能将它所在的路由器上所发出的rip 包过滤掉 . 因此, 对于运行 rip 协议的网络中,reflexive access list不须做额外的配置 ; 而对于 igrp,eigrp,ospf等路由协议来说,由于他们是可以跨路由器转发的, 因此, 当在防火墙外部的路由器想将其路由信息跨过运行reflexive acces
26、s list的路由器送给防火墙内部的路由器时,reflexive access list将把该路由包视为由外面初始的数据包, 因此会被过滤掉 , 从而造成路由信息交换失败. 因此, 要避免这种情况的出现 , 我们必须在用于控制进入防火墙内部的扩展访问控制表中( 该实验中为FILTER-OUT) 加入相应的条目 , 如permit eigrp any any , permit ospf any any 等. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - -
27、 - - - - - - (三) . CBAC (Context-Based Access Control)配置实验 ( 选做) 注意:由于当前所用的2600 系列路由器的IOS 仍未升级,因此不支持CBAC ,所以以1720 路由器作为 CBAC 的配置平台。 配置步骤:1 主要的配置命令: 应用层协议审查配置: Router(config-if)# ip inspect name inspection-name protocol timeout seconds 在接口上应有检查规则命令: Router(config)#int e0 Router(config-if)#ip inspect FIREWALL out 2. 一个简单例子:一个审查HTTP协议的 CBAC 配置: 审查 HTTP协议 Router(config-if)# ip inspect name checkhttp http在接口上应用检查规则命令: Router(config)#int e0 Router(config-if)#ip inspect checkhttp out 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -
限制150内