Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 标准规范 > ACL技术,acl技术

ACL技术,acl技术

收藏

本作品内容为ACL技术,格式为 doc ,大小 1159680 KB ,页数为 29页

ACL技术


("ACL技术目录第1章简介...................................................................................................................3第2章ACL概述..........................................................................................................4第3章使用ACL阻止未经授权的访问.....................................................................6第4章使用ACL控制ICMP分组.............................................................................84.1ICMPECHO和ECHOREPLY......................................................................................................................84.2ICMP目的不可达.....................................................................................................................................84.3ICMP源站抑制.........................................................................................................................................94.4ICMP超时.................................................................................................................................................9第5章使用ACL实现网络入口过滤.......................................................................10第6章使用ACL识别拒绝服务攻击.......................................................................136.1SMURF攻击.............................................................................................................................................136.2FRAGGLE攻击..........................................................................................................................................146.3TCPSYNFLOOD攻击.............................................................................................................................16第7章使用ACL处理IP分片.................................................................................18第8章使用ACL实现病毒免疫...............................................................................21第9章使用自反ACL实现内网安全.......................................................................24第10章使用ACL编译提升性能.........................................................................27第1章简介访问控制列表(AccessControlList,ACL)是路由器上过滤流量的基本的控制机制。虽然访问控制列表经常与QoS、NAT等多种功能联合使用,在这一章只讨论访问控制列表最重要的功能——识别通过路由器的各种类型的流量并进行过滤。本章主要内容:\uf06cACL概述\uf06c使用ACL阻止未经授权的访问\uf06c使用ACL控制ICMP分组\uf06c使用ACL实现网络入口过滤\uf06c使用ACL识别拒绝服务攻击\uf06c使用ACL处理IP分片\uf06c使用ACL实现病毒免疫\uf06c使用自反ACL实现内网安全\uf06c使用ACL编译提升性能第2章ACL概述访问控制列表是路由器上的流量过滤器,它可以根据报文的属性,比如IP地址、端口号等来识别特定类型的流量。在识别出流量以后,访问控制列表可执行规定的操作,比如阻止它们通过某个接口。访问控制列表由一系列的规则组成,每条规则都用来匹配一种特定类型的流量,规则的序号(Sequence)决定了这条规则在访问控制列表中的位置。访问控制列表对报文按照规则序号从小到大的顺序进行检查,访问控制列表中第一条与报文相匹配的规则决定了该报文的处理结果:允许(permit)或拒绝(deny)。如果没有与报文相匹配的规则,那么该报文也被拒绝,也就是说,没有被允许的都会被拒绝掉。由此可见,规则的顺序很重要。下面的示例定义了一条IP标准访问列表。(config)#ipaccess-liststandard1(config-std-nacl)#10permit36.48.3.00.0.0.255(config-std-nacl)#20deny36.48.0.00.0.255.255(config-std-nacl)#30permit36.0.0.00.255.255.255(config-std-nacl)#exit下图显示了该访问列表各网段的访问权限。阴影部分的动作为deny,白色部分的动作为permit。图2-1标准访问列表网段分割示意图需要注意的是,在最后一条规则的后面(即上面的规则30之后),隐含了一条内容为denyany的规则,其序号比访问列表中所有规则的序号都要大,且这条隐含的规则是不可见的,它将与前面的所有规则都不能匹配的报文进行丢弃。如果不想让该隐含的规则起作用,那么必须手工配置一条内容为permitany的规则,以允许不符合其它所有规则条件的报文通过。常用的IP访问列表有两种类型:\uf06c标准型(standard)IP标准访问列表只能根据包含在IP报头的源IP地址对报文进行过滤。例如,下面的标准IP访问列表拒绝从主机171.69.198.102发来的报文,但是允许从其它主机发来的报文:(config)#ipaccess-liststandard1(config-std-nacl)#10denyhost171.69.198.102(config-std-nacl)#20permitany(config-std-nacl)#exit\uf06c扩展型(extended)IP扩展访问列表可以根据IP上层协议号、源IP地址、目的IP地址、源TCP/UDP端口号、目的TCP/UDP端口号、TCP标志、ICMP消息类型和代码、TOS优先级、IP分片标志等属性对数据包进行过滤。例如,下面的IP扩展访问列表显示了拒绝从网络171.69.198.0/24发往网络172.20.52.0/24的telnet报文,但是允许其它的TCP报文。(config)#ipaccess-listextended1001(config-ext-nacl)#10denytcp171.69.198.00.0.0.255172.20.52.00.0.0.255eqtelnet(config-ext-nacl)#20permittcpanyany(config-ext-nacl)#exit第3章使用ACL阻止未经授权的访问ACL的一个基本功能就是用来实现对网络资源的访问限制,即一组受限的IP地址访问一组受限的服务。使用ACL来控制访问权限最常用的方法是,创建ACL只允许合法的流量通过,而阻止其他所有不合法的、未经授权的流量。下面,举一个案例来描述ACL的这项功能。应用需求:在某公司的内部网络中,路由器接口gigaethernet1连接着新闻服务器和财务服务器,要求只允许会计部(网段范围172.20.128.64-95)访问财务服务器,市场营销部(网段范围172.20.128.0-31)不能访问财务服务器,但会计部和市场营销部都能访问新闻服务器。网络拓扑:图3-2使用ACL阻止未经授权访问案例组网图配置命令:(1)创建编号为1001的扩展IP访问列表,允许所有报文经gigaethernet1接口到达新闻服务器,只允许从会计部发来的报文经gigaethernet1接口到达财务服务器。router(config)#ipaccess-listextended1001router(config-ext-nacl)#permitipanyhost171.23.55.33router(config-ext-nacl)#permitip172.20.128.640.0.0.31host171.23.55.34router(config-ext-nacl)#exit(2)将该访问列表1001应用g1接口的输出方向上。router(config)#interfacegigaethernet1router(config-if-gigaethernet1)#ipaccess-group1001outrouter(config-if-gigaethernet1)#exit第4章使用ACL控制ICMP分组ICMP分组在管理IP网络中扮演着非常重要的角色。然而,它们也有可能被用作侦察工具,甚至被用作网络攻击的一部分。为了达到安全目的,在网络的边缘,通常丢弃大量的ICMP分组而不允许它们通过,这样做通常也是合适的。然而,因为一些ICMP消息对于网络正常发挥功能是很关键的,所以即使丢弃其他类型的ICMP分组也必须允许它们通过。下面的小节讨论需要得到允许通过的ICMP类型,通过建立ACL来阻止其他类型的ICMP消息。4.1ICMPEcho和EchoReply虽然ICMPEcho和EchoReply是很重要的管理工具,但是也可以在拒绝服务(DoS)攻击中轻松地使用它们。因此,虽然允许它们通过很重要,但是确保有限数量的这些消息通过访问控制机制也是必要的。在大部分网络中,管理员可以决定:几乎不需要echo消息从公用网络进入专用网络,而只允许echoreply消息从公用网络返回专用网络。在这种情况下,可以建立ACL来丢弃echo消息,并允许echoreply消息到达一组受限的IP地址。另外,当使用ICMPEcho和EchoReply的DoS攻击发生时,可以通过CAR(CommittedAccessRate)来控制它们的流量。4.2ICMP目的不可达在识别路由和网络的路径MTU发现中,“ICMP不可达”分组扮演着一个重要角色。如果路由器根据路由表认为分组的目的是不可达的,那么它就发送一个消息告诉分组的源。另外,如果一台主机将分组的“不分片”位设置为1,并且分组太大而不能通过一条链路传送,而路由器需要在该链路上发送分组,那么路由器就再发送一条ICMP不可达消息到主机,通知它或者减小分组或者在分组中不再设置“不分片”位。如果这条消息在到达主机之前就被配置在路由器上的访问控制列表丢弃,那么我们就说创建了一个MTU黑洞。因为就OSI模式的第三层而言,发送大分组的主机并不知道它的分组被丢弃了,它会继续发送大分组,而这些分组会继续被路由器丢弃,因为路由器在转发分组的链路上只有较小的分组才可以通过。这种情况是ACL过滤掉了本不该过滤的“ICMP不可达”消息的直接后果,这也是造成如今网络上MTU黑洞的主要原因。因此,在路由器上,ACL应该允许“ICMP不可达”消息通过。4.3ICMP源站抑制TCP/IP协议簇中,使用“ICMPsourcequench”消息可以控制TCP和UDP的流量。根据RFC792的规定,对到目的网络的路由器上输出的到下一个网络的数据包,如果网关上没有足够的缓冲空间让它们排队的话,网关就有可能将这些数据包丢弃。如果网关丢弃了一个数据包,它就会发送一个sourcequench消息到数据包的源主机。Sourcequench消息请求主机减慢发送流量的速度。网关可能为它丢弃的每一条消息发送一个sourcequench消息。当收到sourcequench消息时,源主机就应该减慢发送流量的速度直到它不再从网关接收sourcequench消息为止。然后源主机可以渐渐增加发送流量的速度直到它再一次收到sourcequench消息。因此,ICMPsourcequench消息也是重要的。如果被ACL丢弃,可能会使TCP和UDP协议丧失一些流量控制能力。4.4ICMP超时发送IP报文时,它的生存时间(TTL)被设置为某一个值。这个域的目的是当IP报文一直在进行路由循环时可以丢弃该IP报文。在每一跳,转发IP分组的路由器都会将该域的值减1。如果分组到达一个路由器时它的TTL域已经等于0,那么路由器就必须丢弃该分组并通知发送分组的主机。这可以帮助网络管理员查看网络中是否有路由回环。因此,ACL应该允许ICMP超时消息通过路由器。第5章使用ACL实现网络入口过滤互联网上越来越多的针对各种目标的拒绝服务(DoS)攻击对Internet服务提供商(ISP)产生了巨大的挑战,也促使网络安全业界不断寻找新的方法来避免或减轻攻击,RFC2267中所阐述的网络入口过滤正是其中一种简单且行之有效的方法。网络入口过滤并不能用来防止合法地址所产生的攻击,但是能够有效阻止伪源地址所发起的各种泛洪攻击。RFC2267强烈建议所有的ISP都尽快采用网络入口过滤来防止位于合法网段范围之外的非法伪源地址所发起的各种攻击。TCPSYNFlood是一种典型的伪源地址攻击。图5-3TCPSYNFlood攻击示意图上图中,targtet指被攻击的服务器,attacker指发起攻击的主机,它位于9.0.0.0/8网段内。进行攻击时,attacker所发出的TCP/SYN报文的源IP地址时随机产生的,并不是attacker的实际IP地址,也就是说,attacker使用的是伪源地址,因为整个网络中并不存在到这些伪源地址的路由,所以target所返回的SYN/ACK报文是不可达的。任何不可达的伪源地址都可能被用来实施TCPSYNFlood攻击。当被攻击的服务器接收到这些TCP/SYN请求后,会用SYN/ACK进行响应。但是,由于源地址是无效的伪源地址,TCP握手行为就永远都不能完成(只有在请求主机接收到SYN/ACK后再给服务器发送一个ACK,握手行为才能完成)。服务器等待着ACK,为了做到这一点,它必须分配资源和缓冲空间来记录它接收到的SYN报文中的信息,并发出SYN/ACK报文作为响应。基于服务器存储容量和CPU资源的限制,服务器只能分配有限的资源来维持这些半开的TCP连接,具体数量取决于TCP连接队列的大小。当队列中充满了大量的这种半开的连接时,服务器不能再对新的连接请求进行响应了。然而这些请求有的是来自于攻击者,有的却是来自于合法的用户。这样,服务器受攻击之后,这些合法用户对服务器的访问也就被拒绝了。RFC2267的基本思想就是:在网络的入口对报文进行检查,过滤掉源地址不属于本网段的报文,防止本网段的主机伪造非本网段的源地址而发起攻击。在上面的例子中,攻击者连接在router2上,位于网段9.0.0.0/8内。RFC2267要求在router2的输入接口上对报文进行过滤检查,只允许源地址在网段9.0.0.0/8内的报文进入该接口,源地址不在该网段的报文将被丢弃。RFC2267中对于该入口过滤的描述为:IFpacket'ssourceaddressfromwithin9.0.0.0/8THENforwardasappropriateIFpacket'ssourceaddressisanythingelseTHENdenypacket此外,RFC2267还建议对被丢弃的报文进行日志记录,以便于对可疑的行为进行监控分析。采用ACL语句描述如下:ipaccess-liststandard110permit9.0.0.00.255.255.25520denyanylogexit然后将该访问列表应用到router2的内部网络接口的输入方向即可。这样,攻击者所发起的伪源地址的攻击报文将被router2丢弃。需要注意是,RFC2267只能防止本网段发起伪造源地址攻击,但不能防止本网段不受攻击,即“自己的网络安全依赖于其他网络管理员的安全意识和能力”。而且,RFC2267不能防止攻击者伪造本网段的合法地址而发起攻击。第6章使用ACL识别拒绝服务攻击拒绝服务(DoS)攻击是一种网络攻击,在这种攻击中,攻击者通过耗尽网络资源的方式来尽力减少合法访问网络的数量。这些资源可以是连接目标网络到其它网络的链路上的带宽,也可以是路由器或服务器上用于处理网络连接的内存数量或者其它类似资源。6.1Smurf攻击Smurf攻击是DoS攻击的一种,攻击者发送一个pingecho请求到网络上的广播地址,其源地址是攻击者想要攻击的受害主机的IP地址。因为目的IP地址是一个广播地址,所以广播范围内的所有机器都发送echoreply到受害主机的IP地址。通过发送大量的echo请求,攻击者就能产生很大的分组泛洪到受害主机,因为对一个单一的echo请求的应答可能有上百个,受害主机所接收的流量就可能非常庞大。图6-4Smurf攻击示意图为了识别这种攻击,可以在服务提供商的边缘路由器上建立访问控制列表。ipaccess-listextended100110permiticmpanyanyecho20permiticmpanyanyecho-reply30permitipanyanyexitinterfaceserial1/1ipaccess-group1001inipaccess-group1001outexit正如我们看到的那样,这个访问列表不拒绝任何流量,它所做的所有工作就是查看一下进出serial接口的流量统计情况,判断是否发生了Smurf攻击。router#showaccess-list1001ipaccess-listextended100110permiticmpanyanyecho34matches20permiticmpanyanyecho-reply17508matches30permitipanyany377matches在正常情况下,访问控制列表中echo规则的统计流量与echo-reply规则的统计流量应该非常接近,也就是说,每个输入方向的echo报文产生一个输出方向的echo-reply报文。但是,在这种情况下,这两个数量之间有极大的不同,echo-reply的数量远远高出echo的数量。这意味这大量未被请求的echoreply已经通过这个访问控制列表发送出去,这正是Smurf攻击的信号。通过给访问控制列表增加log选项,可以发现echo-reply来自哪些IP地址,这些地址被称为reflector。Reflector网络的管理员可以使用ACL,阻止echo请求到达reflector主机,从而截断Smurf攻击。6.2Fraggle攻击Fraggle攻击是Smurf攻击的变种。Fraggle攻击没有使用ICMPecho,而是使用UDPecho和UDPechoreply来实施攻击。所采用的技术是相同的,即使用网络的广播地址。图6-5Fraggle攻击示意图可以采用类似的方法,来识别Fraggle攻击。ipaccess-listextended100210permitudpanyanyeqecho20permitudpanyeqechoany30permitipanyanyexitinterfaceserial1/1ipaccess-group1002inipaccess-group1002outexit然后查看该访问列表的流量统计情况:router#showaccess-list1002ipaccess-listextended100210permitudpanyanyeqecho56matches20permitudpanyeqechoany14552matches30permitipanyany341matches如果第二条规则比第一条规则的命中数多出很多,那么意味着发生了Fraggle攻击。同样,通过给访问控制列表增加log选项,可以发现UDPechoreply来自哪些reflector主机。Reflector网络的管理员可以使用ACL,阻止UDPechorequest请求到达reflector主机,从而截断Fraggle攻击。6.3TCPSYNFlood攻击在前面网络入口过滤一节中已经讲述了TCPSYNFlood的攻击原理,我们现在再看看如何使用ACL来识别TCPSYNFlood攻击。ipaccess-listextended100310permittcpanyanyestablished20permittcpanyanysyn30permitipanyanyexitinterfaceserial1/1ipaccess-group1003inexit每当一个报文到达这个访问控制列表时,如果它不是一个SYN请求而是其他类型的TCP报文,那么它就会与第一条规则相匹配,每一个带ACK标记或者带RST标记的TCP报文,都与第一条规则相匹配。如果报文是一个SYN请求,那么它就会与第二条规则相匹配。这个访问列表将所有的TCP报文分成两种类型:SYN报文和ESTABLISHED报文。在正常情况下,通过一个路由器去往一台服务器的SYN报文的数量,要比ESTABLISHED报文的数量的一半还少。通常,ESTABLISHED报文的数量会比SYN报文的数量高出3到4倍甚至更多。在发生TCPSYNFlood攻击的情况下,SYN报文的数量很容易超过ESTABLISHED报文的数量。router#showaccess-list1003ipaccess-listextended100310permittcpanyanyestablished2572matches20permittcpanyanysyn8633matches30permitipanyany530matches从上面的捕获信息可以判断出,TCPSYNFlood攻击正在进行。第7章使用ACL处理IP分片IP分片除了首片报文外,后续的分片都未包含L4信息(如TCP/UDP端口号、TCP标志等),这使得ACL很难适当地处理它们。用FO(FragmentOffset)表示分片偏移量,未分片报文和分片的首片的分片偏移量FO=0,后续分片的分片偏移量FO>0。在ACL配置中,将FO>0(即非首片的分片报文)用fragments选项来标识。ACL对分片报文的处理方式见下表:表7-1ACL对分片报文的处理方式举例来说,可能更容易理解一些:表7-2ACL对分片报文的处理示例下面再举几个例子来具体说明:举例1对下面的访问列表1001来说:ipaccess-listextended100110permittcpanyhost191.15.20.1eq8020denyipanyanyexit对于目的IP为主机地址191.15.20.1的TCP报文来说:(1)如果报文的是未分片报文,或者是分片报文的首片:当报文的目的端口为80时,与规则10相匹配,报文被允许通过;当报文的目的端口不是80时,与规则20相匹配,报文被拒绝通过。(2)如果报文是分片报文的非首片:由于规则10的动作为permit,因此认为报文与规则10相匹配,报文被允许通过。举例2对下面的访问列表1002来说:ipaccess-listextended100210denytcpanyhost191.15.20.1eq8020permitipanyanyexit对于目的IP为主机地址191.15.20.1的TCP报文来说:(1)如果报文的是未分片报文,或者是分片报文的首片:当报文的目的端口为80时,与规则10相匹配,报文被拒绝通过;当报文的目的端口不是80时,与规则20相匹配,报文被允许通过。(2)如果报文是分片报文的非首片:由于规则10的动作为deny,因此认为报文与规则10不匹配,转下一条规则,从而与规则20相匹配,报文被允许通过。从上面两个例子可以看出,ACL对非首片分片报文的处理中,permit规则是宽松匹配,而deny规则是严格匹配。举例3对下面的访问列表1003来说:ipaccess-listextended100310denytcpanyhost191.15.20.1fragments20permittcpanyhost191.15.20.1eq8030denyipanyanyexit对于目的IP为主机地址191.15.20.1的TCP报文来说:(1)如果报文的是未分片报文,或者是分片报文的首片:当报文的目的端口为80时,与规则20相匹配,报文被允许通过;当报文的目的端口不是80时,与规则30相匹配,报文被拒绝通过。(2)如果报文是分片报文的非首片,正好与规则10相匹配,报文被拒绝通过。第8章使用ACL实现病毒免疫目前,互联网上病毒泛滥,网络病毒是网络中最让人头痛的问题。网络病毒在网络上的传递速度是惊人的,24小时内就有可能感染到全球各个联网的计算机,造成网络阻塞、瘫痪或主机死机,其损失是无法估量的。影响较大的网络蠕虫病毒有冲击波、震荡波、RedCode、NIMDA、SQLSlammer等。冲击波病毒(Worm.MSBlast)自从2003年8月首次爆发以来,已经在全球造成了大范围影响,虽然各大杀毒软件公司都已推出专门的升级软件包,微软公司也推出了相应的补丁程序,但仍有许多疏于防范的用户电脑不断在遭受攻击。迄今该病毒在全球范围内已造成超过30亿美元的经济损失。冲击波病毒运行时会不停地利用IP扫描技术寻找网络上系统为Win2K或XP的计算机,找到后就利用DCOMRPC缓冲区漏洞攻击该系统,一旦攻击成功,病毒体将会被传送到对方计算机中进行感染,使系统操作异常。具体表现有,弹出RPC服务终止的对话框、系统反复重启、不能收发邮件、不能正常复制文件、无法正常浏览网页,复制粘贴等操作受到严重影响,DNS和IIS服务遭到非法拒绝服务等等,从而使整个网络系统几近瘫痪。另外,该病毒还会对微软的一个升级网站进行拒绝服务攻击,导致该网站堵塞,使用户无法通过该网站升级系统。可以看到,该病毒是利用微软操作系统的RPC(远程进程调用)漏洞进行快速传播的。RPC是微软发明的一个专门用户互联网远程服务的协议,该协议是建立在TCP/IP上的一个应用。我们知道IP网上的应用协议都必须借助TCP/UDP端口号才能提供服务,RPC的TCP端口号是135。攻击者正是通过编程方式来寻求利用此漏洞,在一台与易受影响的服务器通信的并能够通过TCP端口135的计算机上,发送特定类型的、格式错误的RPC消息。接收此类消息会导致易受影响的计算机上的RPC服务出现问题,进而使任意代码得以执行。接着病毒就会修改注册表,截获邮件地址信息,一边破坏本地机器一边通过EMAIL形式在互联网上传播。同时,病毒会在TCP的端口4444创建cmd.exe,并监听UDP端口69,当有服务请求,就发送Msblast.exe文件。震荡波病毒(Worm.Sasser)蠕虫是一个利用微软操作系统的LSASS缓冲区溢出漏洞进行传播的蠕虫。由于该蠕虫在传播过程中会发起大量的扫描,因此对个人用户使用和网络运行都会造成很大的冲击。如果一台PC被感染后,震荡波病毒在本地开辟后门。开启一个FTP服务在TCP5554端口,做为FTP服务器等待远程控制命令。病毒以FTP的形式提供文件传送。震荡波病毒产生随机的网络地址,尝试连接这些地址的TCP445端口并发送攻击程序,一旦攻击成功,蠕虫会在被攻击的机器的TCP9996端口上创建一个远程的shell,然后利用这个远程的shell执行命令让被攻击的机器连接到发起攻击的机器的FTP5554端口上下载蠕虫文件并运行。这个被下载来的蠕虫文件名是由4-5个随机的阿拉伯数字和_up.exe组成的(如23423_up.exe)。黑客可以通过这个端口偷窃用户机器的文件和其他信息。病毒开辟128个扫描线程,以本地IP地址为基础,取随机IP地址,疯狂的试探连接445端口,试图利用Windows的LSASS中存在一个缓冲区溢出漏洞进行攻击,一旦攻击成功会导致对方机器感染此病毒并进行下一轮的传播,攻击失败也会造成对方机器的缓冲区溢出,导致对方机器程序非法操作,以及系统异常等。微软的修补程序解决了RPC对错误格式报文的判断,从而阻止攻击进入。但对于网络管理者来说,不能把安全寄托在所管理的用户身上,在用户安装微软修补程序之前必须有切实可行的办法防止冲击波、震荡波等病毒对网络的冲击。从上面两个例子可以看出,病毒大多是通过TCP/UDP端口来传播的,而且,每种病毒都有自己的特定TCP/UDP传播端口,要想堵住消灭病毒,只靠杀毒软件是不够的,还要完全堵住病毒的传播途径——那就是针对某种病毒,堵上它的TCP/UDP传播端口,这样,才能从根本上防止病毒的传播。针对冲击波病毒,我们要阻止病毒的传播和入侵,我们只需要禁止掉目的端口是TCP135、TCP4444、UDP69的报文进入我们的网络,我们就能保证不受冲击波病毒的侵害。在路由器上配置如下的访问列表:ipaccess-listextendedanti-blast10denytcpanyanyeq13520denytcpanyanyeq444430denyudpanyanyeq6940permitipanyanyexit这样就能阻断冲击波的传播途径了。同样,我们可以通过下面的访问列表来阻断震荡波的传播途径。ipaccess-listextendedanti-sasser10denytcpanyanyeq44520denytcpanyanyeq999630denytcpanyanyeq555440permitipanyanyexit在路由器上,通过控制TCP/UDP端口能够阻断的常见病毒见下表:病毒名称防护端口冲击波(Worm.MSBlast)蠕虫关闭TCP4444、TCP135、UDP69端口震荡波(Worm.Sasser)蠕虫关闭TCP445、TCP9996、TCP5554端口Slammer蠕虫限制对UDP1434端口的访问MyDoom病毒关闭TCP3127端口Worm.DvLdr蠕虫关闭TCP445端口则恩斯(Worm.Zindos)病毒关闭1034端口Witty病毒关闭UDP4000端口Bvldr32病毒关闭TCP445、TCP6667端口表8-3控制TCP/UDP端口实现病毒免疫第9章使用自反ACL实现内网安全自反访问列表是在IP扩展访问列表的基础上,为安全特性而新增的一个功能。当内网的报文通过路由器发往外网时:(1)如果报文为TCP或UDP协议类型时,将创建一条把源IP地址与目的IP地址互换、源端口号和目的端口号互换的ACL子规则;(2)如果报文为ICMP协议类型时,将创建一条把源IP地址与目的IP地址互换,ICMP消息类型为相应应答报文的ACL子规则。当有报文从外网进入内网时,查找报文所对应的子规则是否存在,如果存在,则允许进入内网,如果不存在,则拒绝进入内网。也就是说,只有内网发起请求报文所对应的应答报文才可以进入内网,而外网发起的请求报文不能进入内网,从而实现了基于会话的过滤,保证了内网的安全。自反访问列表一个典型的应用示例如下图:图9-6自反ACL应用示意图局域网通过路由器的上联接口s1/1访问Internet,在该接口的输入和输出方向分别绑定访问列表inboundfilters和outboundfilters:interfaceserial1/1ipaccess-groupinboundfiltersinipaccess-groupoutboundfiltersoutexit定义输出方向的访问列表outboundfilters,允许OSPF路由协议报文出去,允许所有的TCP报文出去,并反射到自反访问列表tcptraffic中:ipaccess-listextendedoutboundfilters10permitospfanyany20permittcpanyanyreflecttcptrafficexit定义输入方向的访问列表inboundfilters,允许OSPF路由协议报文进来,禁止ICMP报文进来,最后一条规则引用自反访问列表tcptraffic。ipaccess-listextendedinboundfilters10permitospfanyany20denyicmpanyany30evaluatetcptrafficexit当内网中的主机192.168.60.185向外网中的服务器172.19.99.67发起telnet连接时,与访问列表outboundfilters中的规则相匹配,执行reflect自反操作,源IP地址与目的IP地址互换,源TCP端口号与目的TCP端口号互换,将结果写入到访问列表tcptraffic中:router#showaccess-listReflexiveIPaccesslisttcptrafficpermittcphost172.19.99.67eqtelnethost192.168.60.185eq11005(5matches)(timeleft225seconds)此后从外网服务器发来的telnet报文就可以顺利进入内网,而其他的报文会被丢弃,从而保证内网安全。第10章使用ACL编译提升性能默认情况下,ACL对报文采用顺序匹配的方式,自顶向下逐条规则进行检查。首先检查ACL顶端的规则,然后依次向下检查其他规则,直到找到一条相匹配的规则为止(如果所有的规则都不匹配,则执行缺省的丢弃策略)。这种顺序匹配的方式,当规则数目巨大且网络流量很大时,ACL可能会降低路由器的性能。因此,只要可能,在保证ACL语义一致的情况下,建议将最可能得到匹配的规则放在访问控制列表的顶端。ACL编译的目的是为了提升ACL的报文匹配速度,从而减轻ACL对性能的负面影响。ACL编译将访问控制列表编译成一组特殊的查找表,同时保证了ACL语义所规定的最先匹配的要求。ACL编译带来的好处包括:\uf06c编译后的查找表对报文的匹配非常快速高效,而且不受ACL规则数目多少的影响。也就是说,与传统的顺序搜索相比,ACL规则数越多,ACL编译所带来的好处就越多。一般可以认为,当ACL中的规则数目超过25条时,对这条ACL进行编译,性能提升效果明显。\uf06c编译后的查找表对报文的匹配时间是固定的,无论报文与ACL中的哪一条规则相匹配,处理开销都保持恒定。所以在大量ACL规则数目的情况下,编译ACL能够保证比较精确的传输时间,较小的延迟和抖动,维护了网络的稳定性。但是,需要说明的是,虽然编译后的ACL大幅提升了路由器的转发性能,但是编译过程本身是比较耗时的,根据ACL的复杂程度及规则数目的不同,编译过程需要几秒到几分钟的时间不等,而且,编译ACL需要占用较大的内存空间。使用ACL编译相当简单,与正常情况一样建立访问列表,建立完成之后,针对这条ACL输入一条命令就可以了:router(config)#access-listcompile{access-list-numberaccess-list-name}例如,下面显示了访问列表1001的创建和编译:router(config)#ipaccess-listextended1001router(config-ext-nacl)#10permittcp36.147.201.00.0.0.255host46.147.80.1eqtelnetrouter(config-ext-nacl)#20permittcp36.147.202.00.0.0.255host46.147.80.1eqtelnetrouter(config-ext-nacl)#30permittcp36.147.203.00.0.0.255host46.147.80.1eqwwwrouter(config-ext-nacl)#40permittcp36.147.204.00.0.0.255host46.147.80.1eqwwwrouter(config-ext-nacl)#exitrouter(config)#access-listcompile1001此后,对访问列表的配置每做一次改动,都会自动进行一次重新编译。由于编译过程的CPU开销是比较大的,为了避免不必要的开销,在修改访问列表的时候(无论是增加规则还是删除规则),最好先取消编译,待访问列表修改完成之后,再重新发出编译命令。例如,要往上面的访问列表中删除规则20,并增加规则50:router(config)#noaccess-listcompile1001router(config)#ipaccess-listextended1001router(config-ext-nacl)#no20router(config-ext-nacl)#50permittcp36.147.205.00.0.0.255host46.147.80.1eqwwwrouter(config-ext-nacl)#exitrouter(config)#access-listcompile1001另外,有些访问列表不能被编译,主要包含下面两种情况:(1)访问列表中,如果关于IP地址的通配符是非正常的,那么这条访问列表不能被编译。比如,下面这条访问列表中,通配符0.0.0.254是非正常的,因此不能被编译。ipaccess-liststandard110permit161.3.2.10.0.0.254exit(2)访问列表中,如果含有evaluate关键字,那么这条访问列表不能被编译。比如,下面这条访问列表中,规则30引用了自反访问列表,因此不能被编译。ipaccess-listextendedinboundfilters10permitospfanyany20denyicmpanyany30evaluatetcptrafficexit还有一点需要说明的是,启用ACL编译之后,ACL对非首片分片报文的处理中,无论是permit规则还是deny规则,都是严格匹配的。",)


  • 编号:1700877615
  • 分类:标准规范
  • 软件: wps,office word
  • 大小:29页
  • 格式:docx
  • 风格:商务
  • PPT页数:1159680 KB
  • 标签:

广告位推荐

相关标准规范更多>