博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
演示:动态访问控制列表(带锁的ACL)
阅读量:7069 次
发布时间:2019-06-28

本文共 3483 字,大约阅读时间需要 11 分钟。

演示:动态访问控制列表

技术交流与答疑请加入群:1952289

动态ACL是对传统ACL的一种应用扩展;动态ACL要求某些非安全区域的主机访问受保护网络资源之前,首先经过身份验证,然后,它自动创建动态访问控制项来允许访问会话的传入;传统的标准访问控制列表和扩展的访问控制列表不能做到这一点。现在需要理解的是动态ACL的工作过程,如下图10.19所示:

第一步:客户机如果需要访问服务器192.168.2.2,如果在路由器上实施了动态ACL的配置,那么客户机将首先偿试telnet到配置了动态ACL的路由器R1,此时,Telnet进程会要求客户端主机输入用户名与密码,事实上,动态ACL正是使用这个用户输入的用户名和密码完成对远程主机的身份验证,注意:这里的Telnet只是一种假像,其实真正的目的是在于身份验证。

第二步:当完成身份验证后,如果用户合法,那么配置动态ACL的路由器会添加一条临时的允许访问内部网络某项服务器的ACL语句,这条语句的生效时间是有限制的,以用户配置的生效时间来作做为这条语句的生效时间。

第三步:此时,切断Telnet会话,客户端开始正式访问服务器192.168.2.2上的相关服务,直到配置的超时时间到期前都成功的获得访问。

第四步:当允许的最长连接时间到期时,被增加的临时ACL条目被删除。

在什么情况下使用动态ACL?

传统ACL主要作用是控制访问行为,但是在很多情况下使用传统的ACL并不是最佳方案,比如:网络边界路由器面对广泛安全来源时,传统的ACL就显得非常力不从心了,所谓广泛的安全来源发生在这样一种情况下:网络边界路由器只允许某些特点的访问来源,进入安全区域访问服务器,但是访问来源可能是通过拨号的形式来连接Internet,而通常拨号形式的Internet接入,每次所获得的IP地址都不同,在这种情况下,如何使用传统的ACL,可能您每次都要重新书写ACL的语句,因为控制来源的IP地址随时都会变化,或者您需要输写相当冗长的ACL列表,当然你可以使用一条any语句来替代这些广泛来源的不同IP地址,但是,这无疑增大了安全隐患,为***提供了非法访问的机会。所以,在这种情况下动态ACL是一种可取的方案,因为在增加临时ACL语句(允许访问)之前,对访问来源进行了身份验证。

演示:动态ACL的配置

演示目标:

n演示动态ACL的配置。

n演示动态ACLTelnet同时使用的案例。

演示环境:使用如上图 10.19描述动态ACL工作原理的环境。

演示背景:在路由器R1上配置动态ACL,对客户机访问服务器的行为进行身份认证,如果身份合法,则允许客户机访问服务器,反之,则不能。然后,要求再为路由器R1配置动态ACL后,要求同时可以通过Telnet路由器R1执行网络管理,这就提出一个问题:动态ACL使用Telnet形式来完成身份验证,路由器R1需要被真正的Telnet执行远程管理时,怎么办?

演示步骤:

第一步:在路由器R1上配置动态ACL,并将其应用到相关的接口上,具体配置如下:

关于动态ACL的配置:

R1(config)#usernameccna password good * 配置要验证的用户名与密码。

R1(config)#usernameccna autocommand access-enable host timeout 10

* 为ccna用户配置动态ACL的空闲超时时间为10分钟,也就是指示如果动态ACL插入临时条目后,10分钟没有匹配流量的情况下,该临时条目将被删除;host关键字指示,动态ACL插入的临时条目只对激活身份验证的主机生效,如果没有host关键字,一旦某一台主机认证成功激活后,其它主机就不需要再做认证,就可以访问资源,这样存在安全隐患的。

R1(config)#access-list101 permit tcp any host 192.168.3.1 eq telnet

* 配置扩展ACL允许任何源IP地址telnet路由器R1(192.168.3.1),这是必须的,因为动态ACL的生存是使用Telnet的形式完成身份验证,所以必须允许Telnet协议。

R1(config)#access-list101 dynamic ccna timeout 120 permit ip any host 192.168.2.2

* 配置动态ACL的具体内容,动态ACL是在扩展ACL101的基础上构造起来的,所以它使用扩展ACL101所使用的ACL号码,以关键字dynamic申明这是一条名为ccna的动态ACL,该语句中的timeout指示动态ACL的绝对超时时间,所谓绝对超时时间,指示当这个时间到期时,无论有无匹配的数据,临时条目都将被删除,用户必须重新进行认证;permit ip any host 192.168.2.2指示动态ACL对用户认证成功后,插入临时条目的具体内容,这里的内容是认证成功后允许任何源IP地址访问目标主机192.168.2.2。

R1(config)#line vty0 4 * 进入Vty 0、1、2、3、5的线路配置模式。

R1(config-line)#loginlocal * 使用本地安全数据库完成Telnet登陆认证。

R1(config)#interfacee1/0 * 进入路由器R1的外部接口E1/0接口模式。

R1(config-if)#ipaccess-group 101 in * 在R1的E1/0接口的入方向上应用ACL101。

第二步:完成上述配置后,现在来体会动态ACL的效果,并验证动态ACL是否生效,首先到路由器R1上执行show access-lists查看现有的ACL条目,可以发现如下图 10.20所示,目前验证未被激活,所以在显示的结果中,只有一条先前所配置的传统扩展ACL条目和动态ACL的申明语句,暂时没明被插入的临时ACL语句。

在完成上述配置后,此时,到路由器R1上再次使用show access-lists查看ACL的语句,如下10.24所示,现在可以看到出现了临时ACL语句,并且有4个与该语句匹配的数据包,以及空闲倒计时。

第三步:在完成上述过程后,现在提出一个问题:路由器为了实现动态ACL的功能使用Telnet形式来完成身份验证,当动态ACL要集成正常的telnet时该怎么办?出就是说在路由器R1上要同时使用动态ACL与正常Telnet的解决方案,具体的配置如下:

配置动态ACL与正常的Telnet集成:

R1(config)#line vty0 4

R1(config-line)#nologin local * 取消在vty0到4的线路模式下的认证配置。

R1(config)#line vty0 3 * 进入vty0、1、2、3线路模式。

R1(config-line)#loginlocal * 使用本地安全数据库完成身份验证。

注意:现在的配置中,没有完全使用vty的所有线路,一般情况下路由器有5条vty线路0、1、2、3、4;现在只使用了0-3的线路来用作动态ACL;余下4号线路供给正常的telnet使用。

R1(config)#line vty4 * 进入Vty 4号线路模式。

R1(config-line)#login * 进行登陆验证。

R1(config-line)#passwordccna * 配置telnet登陆的密码。

R1(config-line)#rotary1 * 将telnet的端口移向端口3001。

R1(config)#enablepassword ccna * 配置Enable的密码。

R1(config)#access-list101 permit tcp any host 192.168.3.1 eq 3001

* 注意,此时必须在ACL列表101中增加一条允许telnet 3001的语句,否则正常的telnet将无法完成,因为它会被ACL最后的隐式拒绝语句Deny掉。

现在,在主机就可以同时使用动态ACL的身份验证和正常的Telnet远程管理,可以在主机的CMD提示符下执行如下指令:

C:\>telnet192.168.3.1 * 这是动态ACL的身份验证,完成后会立即切断Telnet会话。

C:\>telnet 192.168.3.1 3001 * 这是正常的telnet管理,不会切断telnet会话。

转载地址:http://roqll.baihongyu.com/

你可能感兴趣的文章
Android源码学习之接着浅析SystemServer
查看>>
CentOS系统如何设置服务开机自动运行
查看>>
mybatis-generator 代码自动生成工具
查看>>
本地包含和远程包含
查看>>
android 双击返回按钮退出程序。
查看>>
git报错--RPC failed; curl 18 transfer closed with outstanding read data remaining
查看>>
oracle 分区表和分区索引
查看>>
springCloud的使用04-----熔断器hystrix的使用
查看>>
asp.net中异步调用webservice
查看>>
Oracle数据库——SQL高级查询
查看>>
BigDecimal 使用浅析
查看>>
分享按钮网站
查看>>
初识三层架构
查看>>
类型转换
查看>>
经典面试题:如何保证缓存与数据库的双写一致性?
查看>>
你真的了解Netty中@Sharable?
查看>>
DELPHI 初学.
查看>>
C# .net基于Http实现web server(web服务)
查看>>
一天一个设计模式(18)——状态模式
查看>>
Codeforces Round #337 Alphabet Permutations
查看>>