如何防止IP Fragment攻击

IP Fragment攻击作为一种基于数据碎片的攻击手段,本篇文章通过叙述IP Fragment攻击的基本概念以及攻击形式从而通过利用扩展ACL防止IP Fragment攻击,提升企业在网络应用中的安全程度,也旨在提高企业安全管理员的技术程度。

1.基本概念

要说fragment的话,先说一下MTU(Maximum Transmission Unit,最大传输单元),这个是数据链路层的PDU(Protocol Data Unit,协议数据单元),也就是帧的大小。

不同的数据链路层协议, 帧的格式也不同, 但大致都会有目标MAC地址、源MAC地址、长度/类型、数据(有效载荷: Payload)这几个字段。 对最常见的以太网而言, 采用的是数据链路层协议是基于IEEE 802.2/802.3, 但与标准IEEE 802.2/802.3略有区别。以太网帧中的数据(有效)字段的长度范围是46-1500个字节。这个1500就是以太网的MTU。不同链路层协议, MTU值也不同, 对以太网, MTU是1500字节, 而对令牌环(Token Ring)网, MTU是4482字节。当链路层的上层协议,比如IP协议所要传输的IP数据包(包括IP Header)大小超过这个长度范围时, IP数据包就必须分成多片传输, 这个过程就是分片(Fragmentating), 其中分割出来的每一个片断就是一个Fragment。

2.IP包中于分片有关的字段

注意;我们接着往下提到的IP包中的字段都是IPv4中的,IPv6的包中没有关于分片的字段,因为IPv6中采用了不同的关于MTU的机制,这个回头在IPv6中提到。

IP数据包在封装时, 在IP头的第8-9个字节(16bit)中, 存放关于分片的信息. 其中前3个bit表示分片的状态, 后13个bit表示当前片断在分片之前的整块待封装的数据包中的偏移量(因为IP数据包的最大可能长度为16bit, 而这13bit无法表示16bit的范围, 故实际使用时, 偏移量的计算是用这13bit的值乘8(3bit), 以实现表示16bit的范围)。

不分片标记(Don’t Fragment Flag)

IP头第8-9字节从左往右的第2bit表示当前IP数据包是(1)否(0)不分片, 缺省值为0, 就是不不分片, 即允许分片. 因为默认允许分片, 所以我们平常使用Ping命令时, 加参数-l 65500(指定IP包大小)Ping一台机器也不会有问题。

是否有后续分片标记(More Fragments Flag)

IP头第8-9字节从左往右的第3bit表示当前数据包里的数据是否为某块数据的最后一个分片, 若为0, 则说明当前数据包内的数据没有分片或者是最后一个分片, 若为1, 则表示后面还有属于同一块数据的分片。

最后可以做个测试;

之前一直说以太网MTU是1500,那么我们在主机上运行这样一个命令:

ping 192.168.0.1 -l 1500 -f      ‘-f参数是不允许分片,也就是将Don’t Fragment Flag设置为1。

这是提示;Packet needs to be fragmented but DF set.(包需要分片,但是不允许分片。)

这是因为,帧中封装的是 IP Head+IP Data, IP Head大小20字节,而且ping命令所使用的ICMP协议会有8个字段的首部信息,1500-20-8=1472,你会发现;

ping 192.168.0.1 -l 1472 -f

这个是能ping通的。

ICMP比较特殊,一般情况下:

各分片具有分片数据长度,其中20字节IP包头不包含在该数据长度中。即,传输1500字节的数据时,实际数据长度为1480(1500-20)字节。

3.利用扩展ACL防止IP Fragment攻击

说正题了;fragment攻击是指通过恶意操作,发送极小的分片来绕过包过滤系统或者入侵检测系统的一种攻击手段。攻击者通过恶意操作,可将TCP报头(通常为20字节)分布在2个分片中,这样一来,目的端口号可以包含在第二个分片中。

对于包过滤设备或者入侵检测系统来说,首先通过判断目的端口号来采取允许/禁止措施。但是由于通过恶意分片使目的端口号位于第二个分片中,因此包过滤设备通过判断第一个分片,决定后续的分片是否允许通过。但是这些分片在目标主机上进行重组之后将形成各种攻击。通过这种方法可以迂回一些入侵检测系统及一些安全过滤系统。

我们利用扩展ACL即可对IP Fragment攻击进行控制,命令如下:

access-list 101 permit/deny <协议> <源> <目的> fragment    ‘在命令后加个fragment就行了。

加不加这个fragment是有很大区别的,下面这段借鉴了雪山飞鹄的学习笔记;

(1) 当一个ACL只含有三层信息时(不含端口号),对所有的包都进行控制。

(2) 当不使用frament 选项时,一个包含三层和四层信息的acl 条目将对所有的数据包进行以下控制:

如果是未分片数据包(nonfragmented)或者分片数据包的第一个分片(initial fragment) ,都将按正常的ACL 进行控制(permit 或deny)。

如果是分片数据包的后续分片(noninitial fragment),则只检查ACL 条目中的三层部分(协议号、源、目的)。如果三层匹配而且是permit 控制,则允许该分片通过;如果三层匹配而且是deny 控制,则继续检查下一个ACL条目(和正常的ACL 控制顺序不同)。

(3)当使用fragment 选项时,一个acl 条目将只对分片数据包的后续分片(noninitial fragment)进行控制;并且ACL条目中不能包含四层信息。

这里还是不好理解,说一下我的看法;

早期的IOS中,ACL中deny只拒绝匹配丢份的未分片和初始(第一个)分片,而对后续分片不拒绝。其实这个现在的IOS中已经会都拒绝掉了。

而加上fragment的话,这句ACL就只会对后续分片进行控制了。

早期的IOS中我们一般会写两句ACL,一句不带Fragment,一句带。

但现在的IOS中,一句不带fragment的ACL也可以deny掉后续分片。那么带fragment的ACL还有什么用呢?记住,带fragment的ACL只会对后续分

片进行控制!我们可以在这样一种情况下使用;如果不分片的话我就让你通过,但是你分片了我就不让你过!从而防止fragment攻击。

大致是这样吧,把带有四层信息的ACL和带Fragment的ACL结合在一起用效果会更好的!
 

【编辑推荐】

  1. 浅析局域网监听技术
  2. 浅析如何预防DDOS攻击
  3. 如何防止网络监听与端口扫描
  4. ARP病毒攻击原理及破解方案解析
  5. 无线路由器ARP攻击故障排除方法共享

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/136628.html<

(0)
管理的头像管理
上一篇2025-03-02 04:25
下一篇 2025-03-02 04:26

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注