配色: 字号:
9Dynamic ACL
2015-09-25 | 阅:  转:  |  分享 
  
Lock-and-Key?Security?(Dynamic?ACL)





概述



有一种特殊的需求,比如一台连接了内网和外网的路由器,某些时候想限制内网的用户访问外网,如果用户想要获得访问外网的权限,就必须通过认证。

路由器在最初阻挡用户的数据通过,在用户通过认证后,再放行。

要实现这样的功能,可以使用?Dynamic?ACL。Dynamic?ACL?在一开始拒绝用户相应的数据包通过,当用户认证成功后,就临时放行该数据,但是在会话结束后,再将?ACL?恢复最初的配置。要定义?Dynamic??ACL?什么时候恢复最初的配置,可以定义会话超时,即会话多久没有传数据,就断开,也可以定义绝对时间,即无论会话有没有结束,到了规定时间,也要断开。



Dynamic?ACL?给用户提供的认证方法有多种,最常用的可以使

用?AAA,本地用户数据库。只要用户提供了正确的用户名和密码,就可以获得网络访问权。用户要向路由器提供用户名和密码以获得认证,就必须?telnet?配置了?Dynamic?ACL?的路由器,当?telnet?到路由器时,输入了正确的用户名和密码之后,认证就算通过。而要注意的是,用户输入的用户名,并不是普通的用户名,必须是具有访问功能的用户名,如果用户输入的用户名是普通的,那么等于普通的???telnet,并不能成为认证,只有输入的用户名是具有访问功能的,才能通过认证并获得网络访问权。要赋即一个用户名网络访问权的功能,就需要配置?autocommand?来实现。当使用?AAA?认证时,用户名要有?autocommand,也可以在配置本地用户数据库时为用户名添加,并且还可以加在?VTY?接口下。



会话结束的时间以分钟为单位,有空闲时间和绝对时间,如果两个时间同时配,空闲时间必须小于绝对时间,如果两个时间都不配,Dynamic??ACL??打开的访问缺口必须手工清除。



因为??Dynamic??ACL??在认证时是依靠用户??telnet???自己,所以一定要为用户打开telnet???访问权限,某些数据也可以让其默认通过,比如路由协议的数据。认证通过之后,就可以访问相应的服务,在认证通过之后,具体可以访问哪些,需要配置?ACL来定义,也就是配置了?dynamic?的条目,这样的动态条目只能配置一条,如果配多条动态?ACL,IOS?只认第一条,要注意?Dynamic?ACL?只支持扩展的?ACL。

说明:



R2?和?R3?为内网,R4?为外网,配置?R1,默认允许所有?telnet?通过,因为要使用?telnet做认证,然后只有当认证通过之后,ICMP?才可以通过。



1.配置?Dynamic?ACL



(1)配置默认不需要认证就可以通过的数据,如?telnet



r1(config)#access-list?100?permit?tcp?an?an?eq?telnet



(2)配置认证之后才能通过的数据,如?ICMP,绝对时间为?2?分钟。



r1(config)#access-list?100?dynamic?ccie?timeout?2?permit?icmp?any?any



(3)应用?ACL



r1(config)#int?f0/0



r1(config-if)#ip?access-group?100?in



2.测试访问



(1)测试内网?R2?telnet?外网?R4



r2#telnet?14.1.1.4



Trying?14.1.1.4?...? Open

r4>



说明:从结果中看出,telnet?不受限制。



(2)测试测试内网?R2?ping?外网?R4



r2#ping?14.1.1.4



Type?escape?sequence?to?abort.



Sending?5,?100-byte?ICMP?Echos?to?14.1.1.4,?timeout?is?2?seconds:



U.U.U



Success?rate?is?0?percent?(0/5)



r2#



说明:内网在没有认证之前,ICMP?是无法通过的。



3.配置本地用户数据库



r1(config)#username?ccie?password?cisco



4.配置所有人的用户名具有访问功能



r1(config)#line?vty?0?181



r1(config-line)#login?local



r1(config-line)#autocommand?access-enable 这条必加



5.内网?R2?做认证



r2#telnet?10.1.1.1



Trying?10.1.1.1?...? Open



User?Access?Verification

Username:?ccie



Password:



[Connection?to?10.1.1.1?closed?by?foreign?host]



r2#



说明:当?telnet?路由器认证成功后,是会被关闭会话的。



6.测试内网到外网的?ICMP?通信功能



r2#ping?14.1.1.4



Type?escape?sequence?to?abort.



Sending?5,?100-byte?ICMP?Echos?to?14.1.1.4,?timeout?is?2?seconds:



!!!!!



Success?rate?is?100?percent?(5/5),?round-trip?min/avg/max?=?1/2/4?ms



r2#



说明:认证通过之后,ICMP?被放行。



7.查看?ACL?状态



r1#sh?ip?access-lists



Extended?IP?access?list?100



10?permit?tcp?any?any?eq?telnet?(105?matches)



20?Dynamic?ccie?permit?icmp?any?any



permit?icmp?any?any?(5?matches)



r1#



说明:可以看到动态允许的流量已放行。

8.host?功能



有配置访问功能时,命令有



r1(config-line)#autocommand?access-enable



r1(config-line)#?autocommand access-enable?host



两种,并且后面可以跟时间,这里的时间为空闲时间,必须比之前的绝对时间要小,在配置访问功能时,如果没有加?host,那么内网一台主机通过认证之后,所有主机都能访问外网,加了?host,就变成谁通过了认证,谁才能访问外网。









献花(0)
+1
(本文系记得笑啊123...首藏)