TCP协议的安全问题及防护措施

传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的的传输层通信协议。

第一类攻击:攻击前
针对TCP连接建立阶段的三次握手过程的SYN FLOOD攻击。
连接过程描述:TCP连接是一个3步握手过程。在服务器收到初始的SYN数据包后,该连接处于半开放状态。最后,服务器返回自己的序号,并等待第3个数据包确认。最后,客户机发送使TCP连接开放,在客户机和服务器之间建立连接。
SYN Flood攻击:攻击者不断向服务器的监听接口发送建立TCP连接的请求SYN数据包,使服务器一直处于半开放连接状态,无法接受其他正常的连接请求。这种攻击属于拒绝服务(DoS)攻击。
防护措施:在服务器前端部署网络安全设备(***)进行数据包过滤。

第二类攻击
针对TCP协议不对数据包加密和认证的漏洞的TCP会话劫持攻击。
攻击描述:TCP协议确认数据包的真实性主要依据是判断数据包中独有的32位序列号是否正确。如果攻击者能够预测目标主机的起始序号,就可以欺骗该目标主机。
防护措施:在TCP连接建立时采用一个随机数作为初始序列号。

第三类攻击
针对TCP的拥塞控制机制的特性,在TCP连接建立后的数据阶段攻击
攻击描述:拥塞控制功能旨在防止过多的数据注入网络。有经验的攻击者可以利用拥塞机制的特性,周期性地制造网络关键节点的拥塞,不断触发拥塞窗口的慢启动过程,最终达到降低正常传输能力目的。
防护措施:网管实时监测网络异常流量。

UDP协议的安全问题及防护措施

用户数据报协议(User Datagram Protocol,UDP)是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
它具有如下优点:
  • 无需连接传输高效
  • 无拥塞控制的不可靠交付
  • 数据报首部仅8字节
  • 网络拥塞不会降低发送速率
安全问题:最常见的UDP攻击为DoS攻击,而UDP Flood攻击又是DoS攻击中最普遍的流量型攻击。
攻击原理:攻击源发送大量的UDP小包到攻击目标,目标可以是服务器或网络设备,使其忙于处理和回应UDP报文,系统资源使用率飙高,最后导致该设备不能提供正常服务或者直接死机,严重的会造成全网瘫痪。
防护措施:使用UDP进行传输的应用层协议之间差异极大,因此不同情况下的UDP攻击需要采用不同的防护手段。
  1. 如果攻击包是大包,则根据攻击包大小设定包碎片重组大小,通常不小于1500。
  2. 当攻击端口为业务端口,根据该业务UDP最大包长设置UDP最大包以过滤异常流量。
  3. 当攻击端口为非业务端口,通常通过设置UDP连接规则,要求其首先建立TCP连接。