前言
此 白皮书解释这不同的访问控制表(ACL)条目并且什么发生当不同的种 类信息包遇到这些多种条目。用于ACLs阻拦IP信息包从被路 由器转发。
RFC 1858 报道IP段过滤的安 全注意事项并且突出显示对介入TCP信息包、微小的碎片攻击和交迭 的碎片攻击的IP段的主机的二次攻击。拦截这些攻击是理想 的因为他们能攻陷主机,或者阻塞所有其内部资源。
RFC 1858 也描述二个方法保卫这些攻 击,直接和间接。在直接方法,最小长度小于的初始分段被 丢弃。如果开始8个字节原始IP数据报,间接方法介入丢弃片 段集的第二个片段。请参阅 RFC 1858 关于更详细的细节。
传统上, 信息包过滤器类似ACLs被应用于不分片和IP信息包的初始分段因为 他们包含第三层和4 ACLs能匹配为允许或拒绝决策的信息。因为他们在信息包,可以被阻拦根据第三层信息非初始片段通过ACL 传统上允许; 然而,因为这些信息包不包含第四层信息,他 们在ACL条目不匹配第四层信息,如果存在。因为收到片段的 主机不能重新召集原始IP数据报没有初始分段,允许IP数据包的非 初始片段通过是可接受的。
防火墙可 能也使用对阻拦信息包通过维护信息包碎片表源和目的地IP地址、 协议和IP标注的ID。Cisco PIX防火墙和 ® Cisco IOS防火墙能过滤特定数据流的所有片段通过 维护信息此表,但它是太消耗大的以至于不能执行此在一个路由器 为基本的ACL功能。 防火墙的主要工作是对阻拦信息包,并 且其辅助角色是路由信息包; 路由器的主要工作是路由信息 包,并且其辅助角色是阻拦他们。
二 个变化做在Cisco IOS软件版本上12.1(2) 和12.0(11)解决包围TCP 片段的一些安全问题。 间接方法,如所描述在 RFC 1858 ,是被实施 作为标准TCP/IP输入信息包充分检查一部分。变动也做了对 ACL 功能关于非初始片段。
ACL表项的类型
有六不同种类的ACL线路 ,并且其中每一有一个后果如果信息包执行或不配比。 在以 下列表,FO = 0指示不分片或一个初始分段在TCP流,FO > 0表明信 息包是一个非初始片段,L3意味着第三层,并且L4意味着第四层。
注意: 当有时第 三层和第四层信息在ACL线路和 片段 关键字存在,ACL活动为许可证是保守的并且拒绝动作 。动作是保守的因为您不想要偶然地拒绝流的一个分段的部 分因为片段不包含充足的信息匹配所有过滤器属性。 在拒绝 事例,而不是拒绝一个非初始片段,下ACL条目被处理。在许 可证事例,假设第四层信息在信息包,如果可用,在ACL 线路匹配 第四层信息。
许可证ACL线路带有L3仅信息
如果信息包的L3信息在ACL线路匹配 L3 信息,允许。
如果信息包的L3信 息在ACL线路不匹配L3信息,下ACL条目被处理。
拒绝ACL线路带有L3仅信息
如果信息包的L3信息 在ACL线路匹配L3 信息,它否认。
如果信息包的L3信息在ACL线路不匹配L3信息,下ACL条目被处理。
允许ACL线 路带有L3仅信息,并且片段关键字存在
如果信息包的L3信息在ACL线路匹配L3 信息,信息 包碎片偏移被检查。
如果信息包的 FO > 0,信息包允许。
如果信息包 的FO = 0,下ACL条目被处理。
拒绝ACL线路带有L3仅信息 ,并且片段关键字存在
如果信息包的L3信息在ACL线路匹配L3 信息,信息包碎片偏移被检 查。
如果信息包的FO > 0,信息包被 丢弃。
如果信息包的FO = 0,下条 ACL线路被处理。
允许ACL线路带有L3和L4信息
如果信息包的L3和L4信息匹配ACL线 路和FO = 0,信息包允许。
如果信息 包的L3信息匹配ACL线路和FO > 0,信息包允许。
拒绝ACL线路带有L3和L4信 息
如果信息包的L3和 L4信息匹配ACL条目和FO = 0,信息包被丢弃。
如果信息包的L3信息匹配ACL线路和FO > 0,下ACL 条目被处理。
ACL规则流程图
当不分片、初始分段和非初始片段被检查ACL时,以 下流程图说明ACL规则。
注意: 非初始片段包含仅第三层,从未第四层信息, 虽然ACL可能包含第三层和第四层信息。
信息包如何能匹配 ACL
示例 1
以下五个可能的情况介 入遇到ACL 100的不同种类的信息包。参见表和流程图您跟随 什么在每个情况发生。网络服务器的IP地址是171.16.23.1。
aclearcase/" target="_blank" >ccess-list 100 permit tcp any host 171.16.23.1 eq 80
access-list 100 deny ip any any
信息包是为 服务器或不分片注定的初始分段在端口80:
ACL的第一条线路包含第 三层和第四层信息,在信息包匹配第三层和第四层信息,因此信息 包允许。
信 息包是为服务器或不分片注定的初始分段在端口21:
ACL的第一条线路包含第 三层和第四层信息,但第四层信息在ACL不匹配信息包,因此下条 ACL线路被处理。
ACL的第二条线路丢 弃所有信息包,因此信息包被丢弃。
信息包是非初始片段到服务 器在端口80流:
ACL的第 一条线路包含第三层和第四层信息,第三层信息在ACL匹配信息包, 并且ACL 活动是允许,因此信息包允许。
信息包是非初始片段到服务 器在端口21流:
ACL的 第一条线路包含第三层和第四层信息。第三层信息在ACL匹配 信息包,没有第四层信息在信息包,并且ACL活动是允许,因此信息 包允许。
信息包是初始分段、不分片或者非初始片段到另一台主机在服务器 子网:
ACL的第一条 线路包含在信息包的第三层信息(目的地地址)不匹配第三层信息, 因此下条ACL线路被处理。
ACL的第 二条线路丢弃所有信息包,因此信息包被丢弃。
示例 2
下列同样五个可能的 情况介入遇到ACL 101的不同种类的信息包。再次,参见表 和流程图您跟随什么在每个情况发生。网络服务器的IP地址 是171.16.23.1。
access-list 101 deny ip any host 171.16.23.1 fragments
access-list 101 permit tcp any host 171.16.23.1 eq 80
access-list 101 deny ip any any
信息包是为服务器或不分片注定的初始分段在端口 80:
ACL的第一条线路 包含在信息包匹配第三层信息的第三层信息。ACL活动是拒绝 ,但因为 片段 关键字存 在,下ACL条目被处理。
ACL的第二 条线路包含第三层和第四层信息,匹配信息包,因此信息包允许。
信息包 是为服务器或不分片注定的初始分段在端口21:
ACL的第一条线路包含 第三层信息,匹配信息包,但ACL条目也有 片 段 关键字,不匹配信息包因为FO = 0 ,因 此下ACL条目被处理。
ACL的第二条 线路包含第三层和第四层信息。在这种情况下,第四层信息 不配比,因此下ACL条目被处理。
ACL的第三条线路丢弃所有信息包,因此信息包被丢 弃
信息包 是非初始片段到服务器在端口80流:
ACL的第一条线路包含在信息包匹配第三层信息的第 三层信息。切记即使这是端口80流的一部分,没有第四层信 息在非初始片段。因为第三层信息配比,信息包被丢弃。
信息包是 非初始片段到服务器在端口21流:
ACL的第一条线路包含仅第三层信息,并且匹配信息包,因此信息包被丢弃。
信息包是初始分段、不分片或者非初始片段到另一 台主机在服务器子网:
ACL的第一条线路包含仅第三层信息,并且不匹配信 息包,因此下条ACL线路被处理。
ACL的第二条线路包含第三层和第四层信息。第四层信息在信息包不匹配那ACL,因此下条ACL线路被处理。
ACL的第三条线路丢弃此信息包
分段关键字情形
方案1
路由器B接通到网络服务器,并且网络管理员不想要 允许任何片段到达服务器。 此方案显示发生了什么如果网络 管理员实现ACL 100与ACL 101。ACL是应用Inbound在路由器 Serial0 (s0)接口并且应该允许仅不可成片断的信息包到达网络服 务器。参见 ACL规则流程图 和 信息包如何能匹配 ACL部分当您跟随方案。
使用片段关键字的后果
下列是 ACL 100:
access-list 100 permit tcp any host 171.16.23.1 eq 80
access-list 100 deny ip any any
ACL 100的第一条线路允 许仅HTTP对服务器,但在服务器也允许非初始片段对所有TCP端口。 它允许这些信息包因为非初始片段不包含第四层信息,并且 ACL逻辑假设那如果第三层信息匹配,然后第四层信息也配比,如果 是可用的。第二条线路是含蓄的并且否决其他数据流。
请注意,自Cisco IOS软件版本 12.1(2)和12.0(11),新的ACL代码投下在ACL不匹配其他线路的片段 。如果他们不匹配ACL的其他线路,更早版本通过允许非初始 片段。
下列是ACL 101:
access-list 101 deny ip any host 171.16.23.1 fragments
access-list 101 permit tcp any host 171.16.23.1 eq 80
access-list 101 deny ip any any
ACL 101通过不允许非初始片段对服 务器由于第一条线路。一个非初始片段到服务器被拒绝当遇 到第一条ACL线路时因为第三层信息在信息包在ACL线路匹配第三层 信息。
首字母或不分片对端口80在 服务器也匹配ACL的第一条线路对于第三层信息,但因为片段关键