前言
此白皮书解释这不同的访问控制表(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。
access-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的第一条线路对于第三层信息,但因为片段关键字 存在,下ACL条目(第二条线路) 被处理。因为他们匹配ACL 线路为第三层和第四层信息,ACL的第二条线路允许首字母或不分片。 非初始片段被注定对其他主机TCP 端口在171.16.23.0网络由此ACL阻拦。第三层信息在这些信 息包在第一条ACL线路不匹配第三层信息,因此下条ACL线路被处理 。第三层信息在这些信息包在第二条ACL线路不匹配第三层信 息二者之一,因此第三条ACL线路被处理。第三条线路是含蓄 的并且否决所有数据流。 因为允许 仅不可成片断的HTTP流到服务器,网络管理员在此方案决定实现 ACL 101 。
方案2
用户有互联网连通性在二个不同的站点,并且也有二 个站点的之间背后连接。 网络管理员的制度是允许组A在站 点1访问HTTP服务器在站点2。路由器在两个站点使用专用地 址(RFC 1918 )和网 络地址转换(NAT)转换通过互联网路由的信息包。
网 络管理员在站点1是制度路由专用地址分配到组A,因此他们使用背 后通过路由器A Serial0 (s0)当访问HTTP服务器在站点2时。 路由器在站点2有静态路由到172.16.10.0,因此回程数据流 对组A通过背后也被路由。 其他数据流由NAT处理并且通过互 联网被路由。网络管理员在此方案必须决定哪应用程序或流 工作如果信息包分段。因为你或其他中断,同时做HTTP和文 件传输协议(FTP)流水作业是不可能的。
参见 ACL规则流程图 和 信息包如何能匹 配 ACL部分当您跟随方案。
网络管理员的选项的解释
在以下示例,称为 FOO的路由映射在路由器A发送匹配ACL 100到路由器B至s0的信息包 。不配比的所有信息包由NAT处理和采取默认路由通过互联网 。
注意: 如果 信息包跌下ACL 的底部或者由它拒绝,则不策略路由。
下列是 部分路由器配置A,表示,制度路由映射告诉的FOO被应用于接口e0 ,数据流从组A其中输入路由器:
hostname Router_A
int e0
ip policy route-map FOO
route-map FOO permit 10
match ip address 100
set ip next-hop 10.1.1.2
access-list 100 permit tcp 172.16.10.0 0.0.0.255 host 192.168.10.1 eq 80
access-list 100 deny ip any any
ACL 100在两提供策略路由首字母,不分片并且HTTP 的非初始片段流到服务器。 因为他们在第一条ACL线路,匹 配第三层和第四层信息HTTP流的首字母和不分片到由ACL和制度允许 路由的服务器。因为第三层信息在信息包也匹配第一条ACL线 路,由ACL和制度允许路由的非初始片段; ACL逻辑假设,第 四层信息在信息包也配比如果是可用的。
注意: 因为最初和非初始片段 达到对服务器通过不同的路径,ACL 100 中断分段的TCP流的其他 类型在组A和服务器之间; 初始分段由NAT处理并且通过互联 网路由,但同一流的非初始片段是路由的制度。
分段的FTP流帮助在此方案说明问题。FTP流 匹配的初始分段第三层信息,但不是第四层信息,第一条ACL线路和 他们由第二条线路随后拒绝。这些信息包由NAT处理并且通过 互联网路由。
FTP流匹配的非初始 片段第三层信息在第一条ACL线路和ACL逻辑在第四层信息假设正匹 配。是制度路由的这些信息包,并且重新组装这些信息包的 主机不认可初始分段作为流一部分和策略路由非初始片段一样因为 NAT更改了初始分段的源地址。
ACL 100在如下配置解决FTP问题。ACL 100第 一条线路拒绝最初和非最初的FTP片段从组A对服务器。
hostname Router_A
int e0
ip policy route-map FOO
route-map FOO permit 10
match ip address 100
set ip next-hop 10.1.1.2
access-list 100 deny tcp 172.16.10.0 0.0.0.255 host 192.168.10.1 fragments
access-list 100 permit tcp 172.16.10.0 0.0.0.255 host 192.168.10.1 eq 80
access-list 100 deny ip any any
初始分段在第一条ACL线路在第三层 信息,但片段关键字原因的 出 现 配比将被处理的下条ACL线路。初始 分段不匹配第二条ACL线路对于第四层信息,和因此ACL的下条含蓄 线路被处理,丢弃信息包。非初始片段在ACL 的第一条线路 匹配第三层信息,因此他们被拒绝。标注姓名起首字母并且 非初始片段由NAT处理并且通过互联网路由,因此服务器没有问题重 新组装。
修理FTP流中断分段HTTP流 因为现在是制度路由的最初的HTTP段,但非初始片段由NAT处理并且 通过互联网路由。
当HTTP流的一个 初始分段从组A到服务器遇到ACL的第一条线路时,在ACL在第三层信 息配比,但由于 片段 关 键字,ACL的下条线路被处理。 ACL的第二条线路允许并且制 度路由信息包到服务器。
当从组注 定了的非最初的HTTP段A到服务器遇到ACL的第一条线路,第三层信 息在信息包匹配ACL线路并且信息包被丢弃。 这些信息包由 NAT处理并且横断互联网达到对服务器。
第一个ACL在此方案允许分段的HTTP流并且中断分段 的FTP流。第二个ACL允许分段的FTP流并且中断分段的HTTP流 。因为最初和非初始片段采取不同的路径对服务器,TCP流在 每个案件中断。因为NAT更改了非初始片段的,源地址重新组 装不是可能的。
修建允许流他想要 工作。的两分段的流到服务器的ACL是不可能的,因此网络管理员必须选择。
上一篇:解析防御TCP SYN拒绝服务攻击的策略
下一篇:访问列表大解密


