您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 模板/表格 > 利用访问控制列表提高网络安全及实例
利用访问控制列表提高网络安全及实例禹龙田生伟(新疆大学网络中心,新疆乌鲁木齐830046)摘要:本文以cisco路由器为例,结合实际网络结构,详细介绍了如何利用访问控制列表来提高网络安全性能。关键词:网络安全包过滤access-listStrengtheningthesecurityofnetworkbyusingaccesscontrollistandinstanceYulong(networkofcenterofXinjiangUniversity,XinjiangUrumqr830046)Abstract:Withciscorouterandaccordingthematerialnetworkstructure,howtostrengthenthesecurityofnetworkbyusingaccesscontrollistisdiscussedindetail.Keywords:securityofnetworkpacketfilteringaccess-list1.引言网络安全问题一般包括网络系统安全和数据安全。网络系统安全是防止网络系统遭到未经授权的非法访问、存取或破坏;数据安全主要是防止重要、敏感数据被窃取等。网络安全的防护手段多种多样,例如,密码技术、安全协议、防火墙、安全WEB服务器等等。但是,单纯依靠防御是不够的,我们必须重视网络的整体安全。实际上,每一种设备对网络的安全管理方面都有一定的作用,完全可以结合整个网络的拓扑结构和网络设备的特性制定多层次、全方位的安全解决方案,通过网络路由过滤、虚拟子网的划分、服务器实时监控、口令和访问权限的限制等多项技术,最大可能的保障网络安全。2.通过路由器提高网络安全性路由器工作在tcp/ip模型的第三层(即网络层),是Intranet和Internet的连接处,是信息出入的必经之路,对网络的安全具有举足轻重的作用。而现在大多商业路由器都提供了基于协议、IP等标准的包过滤的能力,能有效地防止外部用户对局域网的安全访问,同时可以限制网络流量,也可以限制局域网内的用户或设备使用网络资源。下面我们以Cisco路由器为例,讨论如何利用路由器来提高网络的安全性。2.1数据包过滤简而言之,基于协议特定的标准,路由器在其端口能够区分包和限制包的能力叫作包过滤(packetfiltering)。包过滤路由器可以通过检查数据流中每个数据包的源地址、目的地址、所有的端口号、协议状态等因素,或它们的组合来确定是否允许该数据包通过。当然,利用路由器实现的数据包过滤安全机制不需要增加任何额外的费用。Cisco路由器是通过访问列表access-list命令来完成包过滤规则的设置,故包过滤器又被称为访问控制列表(AccessControlList)。它将访问列表定义为应用于Internet地址的一系列允许和拒绝条件的组合。2.2访问列表的基本概念Cisco访问列表缺省进行静态分组过滤,其提供了标准访问列表和扩展访问列表。标准访问列表的语法如下:access-list[1-99]permit|deny{address}{wildcard-mask}扩展访问列表的语法如下:access-list[100-199]permit|deny{protocol}{source}{source-mask}{destination}{destination-mask}{operator}{port}est(shortforestablishifapplicable)其中,protocol为协议,如TCP、IP、UDP、ICMP等;因为IP封装TCP、UDP和ICMP包,所以它可以用来与其中任一种协议匹配。Operator有效操作符为:It(小于),gt(大于),eq(等于),neq(不等于)。Est参数表示将检测数据包中TCP标志,防止不可信主机对建立TCP会1)SYN=1,ACK=0(打开连接)2)SYN=1,ACK=1(打开连接确认)3)SYN=0,ACK=1(确认打开连接确认)话的要求,而允许已建立TCP会话的数据包通过。TCP标志是用来表示TCP包的类型,如:打开连接包(SYN=1,ACK=0),打开连接确认包(SYN=1,ACK=1),打开连接确认包的确认(SYN=0,ACK=1)。TCP打开连接从上图可以看出,SYN=1,ACK=0这种情况只发生在一个系统要建立与另一个系统的连接时。分组过滤利用这个独特的标志设置控制TCP会话,只要阻止了初始连接请求,就无法建立两个系统之间的对话。2.3利用访问列表实现安全控制实例2.3.1实例网络模型2.3.2实现步骤及方法以下我们建立的access-list101将应用于cisco7206的s0接口上,并且是对进入的包进行过滤(in)。1.防地址欺骗对进入的包进行过滤可以阻止一类叫做地址欺骗的攻击,即从外部端口进入的包是不可能来自于内部网络的。Access-list101denyip202.201.252.00.0.0.255any2.对访问DNS-server、telnet-server的控制为了允许外部主机向DNS-server发出DNS查询,必须让目标地址指向服务器1且UDP端口为53的数据包通过。由于两个DNS—server交换信息时,用源和目标端口号53,而不象许多其它服务一样用大于1023的答复端口。Access-list101permitudpanyhost202.201.252.1eq53Access-list101permittcpanyhost202.201.252.1eqtelnet3.对访问MAIL-server的控制access-list101permittcpanyhost202.201.252.2eqsmtpaccess-list101permittcpanyhost202.201.252.2eqpop34.对、FTPserver的访问控制access-list101permittcpanyhost202.201.252.3eq其中,端口21用来传输FTP命令,而端口20用来传输数据。5.建立网络连接由于没有限制内部主机和服务器对外部的访问,所以必须让外部服务器返回的数据答复包进入,此时,返回包的目的端口号都将大于1023。Access-list101permittcpanyeq20202.201.252.00.0.0.255gt1023CLIENTSERVERCisco7206InternetDNS-server202.201.252.1Mail--server202.201.252.2(202.201.252.10/24)(202.112.0.22/30)S0主机1主机nAccess-list101permittcpany202.201.252.00.0.0.255gt1023establish由于内部主机使用外部FTP-server时,返回的数据没有置ack位的,所以上面两条语句不能颠倒。6.对OA-server的访问控制因为OA-server为供局域网内部使用的办公自动化系统,所以不允许外部访问access-list101denyipanyhost202.201.252.47.保护内部所有winx环境的机器现在微软采取了netbiosoverTCP/IP的方法来解决通过IP地址搜索主机的问题,使用的是445,139,137,138几个端口。为了防止外部对内部机器的搜索和共享,应该在路由器上拒绝进入内部的搜索请求包。access-list101denytcpanyany4458.保护路由器不允许外部通过telnet和snmp来访问路由器本身。Access-list101denyipanyhost202.112.0.22eq23Access-list101denyipanyhost202.201.252.10eq1619.阻止探测要阻止向内的探测,最常见的命令是ping过滤如下:access-list101denyicmpanyanyecho10.拒绝一切不必要的UDP通信流access-list101denyudpanyany11.隐含拒绝cisco访问表的处理过程是从上到下进行匹配检测,并且在访问表的最后总由一个隐含的”denyall”表项。这样,所有不能和显式表项匹配的数据包都会自动被拒绝。从上述步骤可以分析出:第6至第10步的所有表项可以综合成一条,即:access-list101denyipanyany因为这正好是隐含的denyall表项,所以可以不用写成显式表项。12.限制局域网内用户使用网络资源在一些单位经常会有限制局域网内的用户使用网络资源的要求,例如希望局域网内的机器只能访问一些免费的网址,而不能访问收费的网址。对于这种要求,我们学校以前是通过代理服务器进行限制的,随着用户数量的增大,代理服务器的瓶颈显得更为严重。我们把这种限制转移到路由器上去做,效果很好。以下建立的access-list102将应用于cisco7206的E0接口上,并且是对进入的包进行过滤(in)。(假设需要限制的主机是:202.201.252.128---202.201.252.254)access-list102permitip202.201.252.1280.0.0.127x.x.x.xy.y.y.yx.x.x.x为允许访问的外部网络。access-list102denyip202.201.252.1280.0.0.127anyaccess-list102permitipanyany2.3.3利用反射性访问表实现安全控制从上面的访问列表的控制中,我们可以看出,能进入到网络内部的数据包只有允许进入的数据请求包,和所有的数据答复包,这样看来内部网络似乎已经很安全了,但是由于静态分组过滤没有维护状态,单纯依赖于对TCP标志的检测,因此不能保证允许进入的通信流就是合法的数据答复,例如无法阻止FIN扫描这一类的攻击。而动态分组过滤弥补了这个漏洞,它用一个连接表监视通信对话的状态,而不止是利用标志设置,这使路由器能更好地进行通信流量控制。在IOS11.2以后,cisco路由器支持反射性访问表(reflexiveaccesslist),其适用于任何IP传输。使用反射性访问表时,路由器生成所有活动对话的动态状态表,提供了远远优于静态过滤的通信控制,增强了安全可靠性。下面仍以上述2.3.1中的网络模型为例,给出使用反射性访问表进行安全控制的实现方法:ipaccess-listextendedfilterindenyip202.201.252.00.0.0.255anypermitudpanyhost202.201.252.1eq53reflexdnsfilterpermittcpanyhost202.201.252.1eq23reflextelfilterpermittcpanyhost202.201.252.2eq25reflexsmtfilterpermittcpanyhost202.201.252.2eq110reflexpopfilterpermittcpanyhost202.201.252.3eq80reflexhttfilterpermittcpanyhost202.201.252.3eq20reflexftpdatafilterpermittcpanyhost202.201.252.3eq21reflexftpfilterevaluatefilterallipaccess-listextendedfilteroutpermitip202.201.252.00.0.
本文标题:利用访问控制列表提高网络安全及实例
链接地址:https://www.777doc.com/doc-1034733 .html