快速业务通道

Unix类操作系统的TCP/IP堆栈加固之TCP协议部分

作者 佚名技术 来源 网络技术 浏览 发布时间 2012-07-03

TCP使用三次握手机制来建立一条连接,握手的第一个报文为SYN包;第二个报文为 SYN/ACK包,表明它应答第一个SYN包同时继续握手过程;第三个报文仅仅是一个应答,表示为ACK包。若A为连接方,B为响应方,其间可能的攻击威胁有:

攻击者监听B方发出的SYN/ACK报文。

攻击者向B方发送RST包,接着发送SYN包,假冒A方发起新的连接。

B方响应新连接,并发送连接响应报文SYN/ACK。

攻击者再假冒A方对B方发送ACK包。

这样攻击者便达到了破坏连接的作用,若攻击者再趁机插入有害数据包,则后果更严重。

针对ICMP协议的攻击包括:

TCP SYN 扫描属于端口扫描:TCP SYN 扫描是 端口扫描的变体。端口扫描用来检查给定主机上的端口是否打开。

SYN 扩散属于拒绝服务攻击:Smurf 攻击流行之前,SYN 扩散攻击是最具破坏性的拒绝服务攻击。

1.在TCP重负载下增加系统弹性(这使系统更能抵抗SYN洪水攻击)

有以下几个步骤:

购买更多的物理内存。

使用SYN Cookies (包括Linux2.4-2.6、BSD )技术 。当半连接队列满时,SYN cookies并不丢弃SYN请求,而是通过加密技术来标识半连接状态。限制同时打开的SYN 半连接数。?

增加最大半连接数:大量的SYN请求导致未连接队列被塞满,使正常的TCP连接无法顺利完成三次握手,通过增大未连接队列空间可以缓解这种压力。?

缩短SYN半连接的timeout时间

通过增大backlog队列能防范SYN攻击;另外减少超时时间也使系统能处理更多的SYN请求。timeout超时时间,也即半连接存活时间,是系统所有重传次数等待的超时时间总和,这个值越大,半连接数占用backlog队列的时间就越长,系统能处理的SYN请求就越少。为缩短超时时间,可以通过缩短重传超时时间(一般是第一次重传超时时间)和减少重传次数来实现。

  1. AIX5  
  2.  
  3. #no -o clean_partial_conns=1 
  4.  
  5. FreeBSD 5-7  
  6.  
  7. #sysctl -w kern.ipc.somaxconn=1024 
  8.  
  9. HP-UX 10  
  10.  
  11. #ndd -set /dev/tcp tcp_syn_rcvd_max 1024  
  12.  
  13. #ndd -set /dev/tcp tcp_conn_request_max 200  
  14.  
  15. #ndd -set /dev/tcp tcp_time_wait_interval 60000  
  16.  
  17. Linux2.4-2.6  
  18.  
  19. #sysctl -w net.ipv4.tcp_max_syn_backlog=2048 
  20.  
  21. #sysctl -w net.ipv4.tcp_syncookies=1 
  22.  
  23. #sysctl –w net.ipv4.tcp_synack_retries="0" 
  24.  
  25. OpenBSD3-4 已经是缺省设置  
  26.  
  27. Solaris8-10  
  28.  
  29. #ndd -set /dev/tcp tcp_conn_req_max_q 1024  
  30.  
  31. #ndd -set /dev/tcp tcp_conn_req_max_q0 4096  
  32.  
  33. #ndd -set /dev/tcp tcp_time_wait_interval 60000 

说明:关于SYN攻击防范技术,归纳起来,主要有两大类,一类是通过防火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范.但必须清楚的是,SYN攻击不能完全被阻止,我们所做的是尽可能的减轻SYN攻击的危害,除非将TCP协议重新设计。

2.增加TCP发送和接受窗口为至少32 kbytes不过不要超过64kbytes

  1. AIX5  
  2.  
  3. #no -o tcp_sendspace=32768 
  4.  
  5. #no -o tcp_recvspace=32768 
  6.  
  7. FreeBSD 5-7  
  8.  
  9. #sysctl -w net.inet.tcp.sendspace=32768 
  10.  
  11. #sysctl -w net.inet.tcp.recvspace=32768 
  12.  
  13. HP-UX 10 已经是缺省设置  
  14.  
  15. Linux2.4-2.6 内核支持RFC 1323和RFC 2018可以动态调整  
  16.  
  17. OpenBSD3-4 内核支持RFC 1323和RFC 2018可以动态调整  
  18.  
  19. Solaris8-10  
  20.  
  21. #ndd -set /dev/tcp tcp_xmit_hwat 32768  
  22.  
  23. #ndd -set /dev/tcp tcp_recv_hwat 32768 

TCP协议的攻击的内容就向大家介绍完了,希望大家已经掌握,我们还会在以后的文章中继续向大家介绍相关内容的。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号