定义防御TCP SYN拒绝服务攻击的策略

在TCP/IP网络中,当一个正常的TCP连接建立时,目标主机会从源主机收到一个SYN(同步/开始)数据包,并返回一个SYN ACK(同步确认)数据包.目标主机在连接建立之前,必须要“听到”一个SYN ACK的ACK(确认)。此过程称之为“TCP三次握手”。
在TCP/IP网络中,当一个正常的TCP连接建立时,目标主机会从源主机收到一个SYN(同步/开始)数据包,并返回一个SYN ACK(同步确认)数据包.目标主机在连接建立之前,必须要“听到”一个SYN ACK的ACK(确认)。此过程称之为“TCP三次握手”。如图1:
图1

在等待SYN ACK的ACK时,目标主机上限定大小的连接队列将跟踪等待完成的连接。这个队列典型情况下会很快腾空,因为ACK在SYN ACK的几毫秒 之后就会到达。

TCP SYN攻击就利用了这种设计,其中攻击源主机生成随机源地址的TCP SYN数据包发往受害主机。受害者主机向某个随机源地址返回一个SYN ACK数据包,并向连接队列增加一个条目。因为SYN ACK被设计来用于一个不正确的或非存在的主机,所以“三次握手”的最后部分绝不可能完成,而此条目一直位于连接队列中直至计时器超时,典型情况下也就是大约一分钟的时间。通过以极高的速率生成来自随机IP地址的欺诈性TCP SYN数据包,就能够填满连接队列并对合法用户拒绝TCP服务(如电子邮件、文件传输、Web服务)。如图2:

图2

并没有什么简单方法来跟踪攻击的始作俑者,因为源地址攻击是伪造的。

这种问题的外部体现包括无法接收电子邮件,不能接收与WWW或FTP服务的连接,或者是主机上在SYN_RCVD状态中有大量的TCP连接。

防御对网络设备的攻击

1.防火墙之后的设备

TCP SYN攻击以大量的源自随机IP地址的SYN数据包的涌入为特征,如果配置防火墙使其可以阻止进入的SYN 数据包,那么防火墙之后的任何设备已经受到了保护,不需要采取进一步的保护。这种防火墙的例子很多,如思科的PIX防火墙,也可采用配置有访问列表的路由器。许多媒体上都有这方面的很多材料,在此不再赘述。

2.提供公共服务的设备

对于一个公共的web服务器或一台面向互联网的邮件服务器来说,没有什么方法可以决定哪些进入的IP源地址是友好的,哪些是恶意的。因此,并没有万能的防御手段可以对付来自随机IP地址的攻击。
对于主机来说,可以采用如下的一些选择:

增加连接队列(SYN ACK队列)的大小

减少等待三次握手的超时时间长度

如果可能,采用专用软件补丁来检测并解决问题。

用户应当查看相关的厂商是否开发了对付TCP SYN ACK攻击的特定补丁。

注意:在服务器上过滤IP地址是无效的,因为攻击者可以改变其IP地址,而且某个被禁止的地址可能与某台合法主机的IP地址相同。

那么,如何防止某个网络在不知情的情况下成为攻击的“窝点”呢?

既然这种拒绝服务攻击的一个主要机理就是生成源自随机IP地址的通信,那么我们可以这样建议,过滤那些目的地是互联网的通信。基本的理念是在拥有非法的源IP地址的数据包进入互联网之前,就丢弃之。这样做,并不会防止针对本地网络的拒绝服务攻击,但这却有助于被攻击的网络将你排除在攻击源范围之外。此外,这还使得你的网络不易成为这种攻击的基地。

1.防止传输非法的IP地址

通过在与互联网连接的路由器上过滤数据包,用户就可以仅准许那些拥有合法源地址的数据包离开本地网络进入互联网。

例如,如果用户的本地网络是172.16.0.0,用户的路由器使用serial 0/1接口连接到ISP,那么,用户就可以像下面这样运用访问列表:

access list 111 permit ip 172.16.0.0 0.0.255.255 any
access list 111 deny ip any any log
interface serial 0/1
ip access group 111 out

注意:上述访问列表的最后一行可以决定是否有非法源地址的任何通信进入互联网。这一行并非关键性的,不过它有助于定位可能的攻击源。

2.防止接收非法的IP地址

对于向终端网络提供服务的ISP来说,我们强烈建议其确认、验证来自客户端的进入型数据包。这可在在边界路由器上运用转入型数据包过滤器而实现。例如,如果客户端通过一个称为serial 1/0的接口连接到你的路由器,那么你就可以创建下面的访问列表:

网络号为192.168.0.0 to 192.168.15.0, 172.18.0.0.
access list 111 permit ip 192.168.0.0 0.0.15.255 any
access list 111 permit ip 172.18.0.0 0.0.255.255 any
access list 111 deny ip any any log
interface serial 1/0
ip access group 111 in

注意:访问列表的最后一行决定了是否有任何非法源地址的通信进入互联网。这一行并非关键性的,不过它却有助于定位可能的攻击源。
当然,这些措施并不是灵丹妙药,但却有助于减缓攻击。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP SYN Flood攻击是一种常见的拒绝服务(DoS)攻击方式,攻击者通过发送大量的TCP SYN请求来消耗目标服务器的资源,导致正常用户无法访问该服务器。为了防御TCP SYN Flood攻击,可以采取以下几种方法: 1. SYN Cookie技术:当服务器收到一个TCP SYN请求时,不立即分配资源,而是根据请求的源IP地址和端口号生成一个加密的cookie,并将其发送给客户端。客户端在后续的请求中需要携带这个cookie才能建立连接。这样可以有效防止伪造的TCP SYN请求。 2. SYN Proxy:使用SYN Proxy可以将服务器的负载分散到多个代理服务器上,代理服务器负责接收和验证TCP SYN请求,并将合法的请求转发给目标服务器。这样可以减轻目标服务器的负载压力。 3. 防火墙设置:通过在防火墙上设置规则,限制对服务器的TCP SYN请求的数量和频率,可以有效减少攻击的影响。可以设置防火墙规则来限制每个IP地址的连接数或者限制每秒钟接收的TCP SYN请求的数量。 4. 流量清洗设备:流量清洗设备可以对进入服务器的流量进行实时监测和分析,识别并过滤掉恶意的TCP SYN请求,保护服务器免受攻击。 5. 负载均衡器:使用负载均衡器可以将流量分发到多个服务器上,从而分散攻击的影响。当一个服务器受到攻击时,负载均衡器可以将流量转发到其他正常的服务器上,确保服务的可用性。 6. 更新操作系统和应用程序:及时更新操作系统和应用程序的补丁可以修复已知的漏洞,提高服务器的安全性,减少受到攻击的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值