项目二 网络安全防护技术习题及解答.docx
《项目二 网络安全防护技术习题及解答.docx》由会员分享,可在线阅读,更多相关《项目二 网络安全防护技术习题及解答.docx(14页珍藏版)》请在冰豆网上搜索。
项目二网络安全防护技术习题及解答
项目二网络安全防护技术习题及解答
任务一访问控制列表(ACL)
1)思考如何禁止PC0访问服务器Server0的FTP、TELNET和SSH服务,并在2.1.4任务完成的基础上实现该需求。
解答:
在R0上建立ACLNO_ACCESS,该ACL内容如下
ipaccess-listextendedNO_ACCESS
denytcpany192.168.2.00.0.0.255eqftp
denytcpany192.168.2.00.0.0.255eqtelnet
denytcpany192.168.2.00.0.0.255eq22
permitipanyany
实现时,在interfaceSerial0/3/0下应用即可,
interfaceSerial0/3/0
ipaccess-groupNO_ACCESSout
2)思考在2.1.4任务实施结束后,PC2能访问服务器的WEB服务吗?
如果不能,思考故障原因,并修改配置使PC2能够访问服务器的WEB服务。
解答:
不能。
原因是原acl中的denytcpany192.168.2.00.0.0.255eqwww命令没有针对PC0做限制,而是对任意地址做了限制。
讲该命令修改为denytcphost192.168.1.1192.168.2.00.0.0.255eqwww即可。
3)思考如何仅在R1上设置ACL实现此任务的两个需求,请写出相应的ACL并上机测试。
如果你对R0和R1这两台路由器都能进行控制,请思考并重新设置ACL的放置位置。
解答:
针对需求1,参考ACL为:
R1(config)#access-list2denyhost192.168.1.1
R1(config)#access-list2permitany
根据前面所述的ACL放置原则,标准ACL不指定目的地址,所以其位置应该尽可能靠近目的地,所以选择接口intf0/0。
由于要检查的数据流是从接口f0/0流出的,所以检查方向为out。
配置命令如下:
R1(config)#interfacef0/0
R1(config-if)#ipaccess-group2out
针对需求2,参考ACL为:
R1(config)#ipaccess-listextendedNO_ACCESS_WWW
R1(config-ext-nacl)#denytcpany192.168.2.00.0.0.255eqwww
根据前面所述的ACL放置原则,扩展ACL放置在尽可能靠近需要过滤的流量源的位置上,所以选择接口s0/3/0。
由于要检查的数据流是从接口s0/3/0流入的,所以检查方向为in。
配置命令如下:
R1(config)#ints0/3/0
R1(config-if)#ipaccess-groupNO_ACCESS_WWWin
如果对R0和R1这两台路由器都能进行控制,请思考并重新设置ACL的放置位置。
根据ACL放置原则,针对需求一,标准ACL不指定目的地址,所以其位置应该尽可能靠近目的地,所以选择路由器R1的接口intf0/0,方向是out。
针对需求二,扩展ACL应放置在尽可能靠近需要过滤的流量源的位置上,所以选择路由器R0的接口f0/0,方向为in。
4)假设你实现了一个访问列表可以阻止外部发起的TCP会话进入到你的网络中,但是你又想让内部发起的TCP会话的响应通过,那应该怎么办?
思考并在2.1.4任务的网络拓扑结构上进行验证。
解答:
在需要这样控制的访问控制列表规则后加上established关键字即可。
结合2.1.4任务,可在R0上设置
access-list101permittcpany192.168.2.00.0.255.255established
ints0/3/0
ipaccess-group101in
该配置可以实现:
外网只能回应内网的TCP连接,而不能发起对内网的TCP连接。
加上established选项后,ACL会对外网访问内网的TCP段中的ACK或RST位进行检查,如果ACK或RST位被设置(使用)了,则表示数据包是正在进行的会话的一部分,那么这个数据包会被permit。
也就是说,在外网向内网发起TCP连接的时候,由于ACK或RST位未设置,这时请求是不会被permit的。
任务二NAT
1)在NAT配置与应用的第5)步PAT配置完成后,使用PC0PING192.168.2.2能通吗,思考原因并查看NAT映射关系。
仿照R0的配置,设置内网2的路由器R1的NAT功能,配置完成后,PC0PINGPC5能通吗,为什么?
PC5PINGPC0能通吗,思考原因并查看NAT映射关系。
解答:
不能通。
原因是模拟ISP的路由器设置了access-list1
access-list1deny172.16.0.00.15.255.255
access-list1deny192.168.0.00.0.255.255
access-list1deny10.0.0.00.255.255.255
access-list1permitany
PC0PING192.168.2.2,经过ISP路由器的echo包源地址是58.1.1.1(NAT映射过)有影响,但返回的时候echoreply包源地址是192.168.2.2(无NAT),符合access-list1的拦截条件deny192.168.0.00.0.255.255,被拦截。
设置内网2的路由器R1的NAT功能,配置完成后,PC0PINGPC5也不能通。
因为echoreply目标地址是58.1.1.1,到达路由器R0后,由于NAT屏蔽了内网细节,所以被丢弃。
PC5PINGPC0也不能通,原因同上。
2)通过2.2.3任务实施,思考NAT是如何实现内网保护的。
在本任务完成的基础上,思考如何实现内网1和内网2的互通。
解答:
在本任务实施完成后,内网1和内网2的PC不能互通,原因是NAT屏蔽了内网细节,通过NAT转换后的公有地址无法达到对应的私有地址。
在本任务基础上,如果要实现内网1和内网2的互通,可以通过配置GREVPN或者IPSecVPN来实现。
3)在NAT配置与应用的第3)步中,最初使用了R0(config)#ipnatinsidesourcestatic192.168.1.158.1.1.1进行静态NAT映射,此处直接使用接口地址58.1.1.1作为PC0映射的公网地址会不会出现问题?
如果多台主机都静态映射到58.1.1.1可以吗?
请完成测试,并思考原因。
如果接口地址是动态分配的,需求又要求使用接口地址作为NAT公网地址,请思考能否实现。
解答:
使用静态NAT映射,不会出现问题。
多台主机也可以,测试中可以发现多台主机经过NAT进行了端口映射。
如果接口地址是动态分配的,需求又要求使用接口地址作为NAT公网地址,也可以实现,只要采用基于接口的PAT方式即可,参考命令如下:
ipnatinsidesourcelist1interfaceSerial0/3/0overload
4)在任务实施的测试中使用showipnatstatistics查看nat统计信息,并思考显示信息的各项含义。
解答:
以基于IP的PAT为例,配置完成用PC0pingPC3,在本任务的路由器R0上使用该命令查看到的信息有:
(//后面为注释)
R0#showipnatstatistics
Totaltranslations:
4(0static,4dynamic,4extended)
//处于活动转换的条目公有4条,0条静态,4条动态,4条扩展
OutsideInterfaces:
Serial0/3/0//nat外部接口
InsideInterfaces:
FastEthernet0/0//nat内部接口
Hits:
0Misses:
7//共计转换0个数据包,其中7个失败
Expiredtranslations:
0//nat超时的转换条目为0
Dynamicmappings:
//动态映射情况
--InsideSource//InsideSource转换
access-list1poolwxitpoolrefCount4//超时的转换条目是4条
poolwxitpool:
netmask255.255.255.252//地址池名字和掩码
start58.1.1.1end58.1.1.1//起始地址和终止地址
typegeneric,totaladdresses1,allocated1(100%),misses0
//地址池的使用情况,总计1个地址可以完成转换,已经使用1个地址进行转换,转换率100%,没有失败转换
5)NAPT不仅转换IP包中的IP地址,还对IP包中TCP和UDP的Port进行转换。
这使得多台私网主机可用1个公共IP就可以同时和公共网进行通信。
在任务测试中,多次使用了ping命令,但其基于的ICMP协议并没有Port,NAPT又是如何进行处理的?
解答:
ICMP会使用SEQNUMBER来代替Port进行映射,下图右下角处就是SEQNUMBER字段,当前取值为5。
下面是当前echo包经nat转换后的映射信息:
R0#shipnattranslations
ProInsideglobalInsidelocalOutsidelocalOutsideglobal
icmp58.1.1.1:
5192.168.1.1:
5192.168.2.1:
5192.168.2.1:
5
可见IP地址后跟的就是SEQNUMBER。
任务三服务质量(QoS)
1)在例2-22创建策略这一步骤中,修改R1(config-pmap-c)#setprecedence3,分别使用setipdscpaf31和setipdscpcs3代替setprecedence3,在新的策略基础上再重新进行任务实施,观察实验结果并说明原因。
解答:
setipdscpaf31后TOS字段8位内容为01101000。
使用permitipanyanyprecedence3检测,因为precedence3对应的TOS字段取值为01100000,不能匹配,数据无法通过。
使用permitipanyanydscpaf31检测,因为dscpaf31对应的TOS字段取值为01101000,能匹配,数据通过。
使用permitipanyanydscpcs3检测,因为dscpcs3对应的TOS字段取值为01100000,不能匹配,数据无法通过。
setipdscpcs3后TOS字段8位内容为01100000。
使用permitipanyanyprecedence3检测,因为precedence3对应的TOS字段取值为01100000,能匹配,数据通过。
使用permitipanyanydscpaf31检测,因为dscpaf31对应的TOS字段取值为01101000,不能匹配,数据无法通过。
使用permitipanyanydscpcs3检测,因为dscpcs3对应的TOS字段取值为01100000,能匹配,数据通过。
2)将本任务实施中对QoS标记数据的放行(permit)改成拒绝(deny)通过,思考如何使用三种不同的方式使路由器R2对其流经的数据进行QoS标签匹配。
解答:
根据任务,依旧对setprecedence3进行测试
对方式一中的主要命令修改如下:
R2(config)#ipaccess-listextendedacl-dscp#创建基于名称的扩展ACL
R2(config-ext-nacl)#denyipanyanyprecedence3
R2(config-ext-nacl)#permitospfanyany
R2(config)#interfaceSerial0/3/1#进入接口,应用ACL
R2(config-if)#ipaccess-groupacl-dscpin
数据将被拦截。
对方式二中的主要命令修改如下:
R2(config)#ipaccess-listextendedacl-dscp#创建基于名称的扩展ACL
R2(config-ext-nacl)#denyipanyanydscpaf31
R2(config-ext-nacl)#permitospfanyany
R2(config)#interfaceSerial0/3/1#进入接口,应用ACL
R2(config-if)#ipaccess-groupacl-dscpin
数据将被放行。
对方式三中的主要命令修改如下:
R2(config)#ipaccess-listextendedacl-dscp#创建基于名称的扩展ACL
R2(config-ext-nacl)#denyipanyanydscpcs3
R2(config-ext-nacl)#permitospfanyany
R2(config)#interfaceSerial0/3/1#进入接口,应用ACL
R2(config-if)#ipaccess-groupacl-dscpin
数据将被拦截。
任务四GREVPN
1)GREVPN配置时需要对数据进行分流吗?
思考在上例中对哪些数据进行了GREVPN的封装,具体又是如何实现的?
解答:
需要进行数据分流。
上例中内网1去往内网2的数据流和内网1的数据流进行了区分。
实现的方法是通过两条静态路由。
一条是默认路由,另一条是去往对端内网的静态路由,其下一条地址为对端tunnel口地址58.1.2.2。
R0(config)#iproute0.0.0.00.0.0.0Serial0/3/0
R0(config)#iproute192.168.2.0255.255.255.058.1.2.2
2)GREVPN可以跨设备形成ospf邻居吗?
为什么?
请查阅相关资料,说明原因。
解答:
GREVPN可以跨设备形成ospf邻居。
因为tunnel口有独立的网段可以发布ospf路由。
以本章任务为例,只需要在R0上配置:
routerospf1
log-adjacency-changes
network192.168.1.00.0.0.255area0
network58.1.2.00.0.0.3area0
在R1上配置:
routerospf1
log-adjacency-changes
network192.168.2.00.0.0.255area0
network58.1.2.00.0.0.3area0
任务五SitetoSiteIPSecVPN配置
1)思考在上述任务中IPSecVPN与NAT业务并存后数据是如何封装及传输的。
解答:
上述任务对IPSecVPN与NAT业务并存后的数据进行了分流。
分流的方法是通过下面的ACL:
access-list110permitip192.168.1.00.0.0.255192.168.2.00.0.0.255
access-list100denyip192.168.1.00.0.0.255192.168.2.00.0.0.255
access-list100permitip192.168.1.00.0.0.255any
access-list110分出的是走IPSecVPN的数据,这些数据会进行IPSec封装,走IPSec隧道传输。
access-list100分出的是不走IPSecVPN的数据,这些数据会进行NAT转换,走S0/3/0对应物理链路传输。
2)使用showcryptoisakmppolicy,showcryptoipsectransform-set,showcryptoisakmpsa查看VPN建立情况,思考显示信息的含义。
解答:
以上述任务配置完成后的R0为例,含义用注释说明。
R0#showcryptoisakmppolicy
GlobalIKEpolicy//通用IKE策略
Protectionsuiteofpriority100//保护套件优先级为100
encryptionalgorithm:
DES-DataEncryptionStandard(56bitkeys).//DES加密
hashalgorithm:
MessageDigest5//hash算法为MD5
authenticationmethod:
Pre-SharedKey//预共享秘钥验证
Diffie-Hellmangroup:
#1(768bit)//DH组长度768位
lifetime:
86400seconds,novolumelimit//有效期86400,无卷限制
Defaultprotectionsuite//默认保护套件
encryptionalgorithm:
DES-DataEncryptionStandard(56bitkeys).//DES加密
hashalgorithm:
SecureHashStandard//hash算法为SHA
authenticationmethod:
Rivest-Shamir-AdlemanSignature//RSA验证
Diffie-Hellmangroup:
#1(768bit)//DH组长度768位
lifetime:
86400seconds,novolumelimit//有效期86400,无卷限制
R0#showcryptoipsectransform-set
Transformsetwxitvpn:
{{esp-desesp-sha-hmac}
//交换集名称wxitvpn,封装和加密方式为esp-des,封装和验证方式为esp-sha-hmac
willnegotiate={Tunnel,},
//工作模式为隧道模式
R0#showcryptoisakmpsa
IPv4CryptoISAKMPSA//IPv4秘密ISAKMPSA
dstsrcstateconn-idslotstatus
210.28.144.258.1.1.1QM_IDLE10380ACTIVE
//目标地址210.28.144.2,源地址58.1.1.1,状态QM_IDLE,conn-id为1038,slot为0,status为status。
IPv6CryptoISAKMPSA
//IPv6秘密ISAKMPSA,当前不存在
3)对于静态NAT,数据包就不是通过ACL来匹配,而是通过NAT里面的配置的地址来匹配,此时该如何解决IPSec与NAT的冲突问题?
解答:
对于静态NAT,数据包就不是通过ACL来匹配,而是通过NAT里面的配置的地址来匹配,所以就需要通过其它模块来避免NAT处理。
NAT要生效,除了数据要匹配外,还需在在接口上定义输入输出接口,两个条件只要有一个不符合,那么NAT就不会处理。
解决办法可以用策略路由把数据送到路由器环回口来避免地址转换。
配置举例:
interfaceloopback0//创建一个环回口
ipaddress2.2.2.2255.255.255.0
exit
ipaccess-listextended1001
permitip10.0.2.00.0.0.25510.0.1.00.0.0.255//匹配IPSEC的数据流
exit
route-mapdialpermit10//配置策略路由,使IPSEC数据流从环回口发出
matchipaddress1001
setinterfaceloopback0
exit
任务六RemoteAccessIPSecVPN配置
1)在上述任务实施中观察反向路由,并与开始时的情况进行对比,找出不同,并思考原因。
解答:
PC1与PC3成功连通后在VPNServer上查看路由表,通过VPN拨号前后的路由表比较可以发现VPN拨号成功后产生的反向路由。
如下图所示,VPN拨号成功后多了一条反向路由(S10.35.1.1[1/0]via172.16.1.1),该路由以静态路由的形式注入到了路由表中。
(a)VPN拨号成功前的路由表
(b)VPN拨号成功后的路由表
2)上述任务配置成功后,PC1tracertPC3有几跳,原因是什么?
解答:
如下图所示:
只有两跳。
原因是PC1发出的数据包直接通过建立的IPSec隧道达到路由器R2,不在经过R1跳转到R2了。
3)观察PC1在开始VPN拨号直到拨号成功后这段时间内的所有数据包格式,思考isakmp是如何进行工作的。
解答:
通过仿真功能单步抓包即可观察所有数据包的格式。
在RemoteAccessIPSecVPN工作时,isakmp一共要经历三个阶段,分别是IKE第1阶段,IKE第1.5阶段和KE第2阶段。
任务七GREOverIPSecVPN配置
1)在上面的任务实施中对从内网-内网的VPN数据和从内网-外网的NAT数据是如何进行区分的?
还有没有其它分流的方法?
解答:
在上面的任务实施中对从内网-内网的VPN数据和从内网-外网的NAT数据的区分是通过配置静态路由进行的。
需要走GREOverIPSecVPN的数据通过静态路由指定下一条是对端gretunnel口地址。
例如:
上个任务中设置了静态路由:
R0(config)#iproute192.168.2.0255.255.255.058.1.2.2
其他非VPN数据走默认路由。
例如上个任务中设置了R0(config)#iproute0.0.0.00.0.0.0Serial0/3/0
有,还可以通过PBR(基于策略的路由)实现分流。
2)思考access-list110permitgre58.1.1.00.0.0.3210.28.144.00.0.0.3的作用。
解答:
access-list110permitgre58.1.1.00.0.0.3210.28.144.00.0.0.3的作用是设置感兴趣流。
命令中的gre代表感兴趣流控制的是gre流,感兴趣流对应的网段是从58.1.1.00.0.0.3到210.28.144.00.0.0.3。
在ipsec配置中该ACL被应用,例如R0(config-crypto-map)