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

网络 网络管理
在以前的文章中,我们已经向大家介绍了Unix类操作系统的TCP/IP堆栈加固方法中的ICMP协议和IP协议部分,本文将会继续向大家介绍TCP协议部分。

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

【编辑推荐】

  1. UNIX系统安全危机评估
  2. 采取针对性措施保障Unix服务器的安全
  3. 浅析Unix主机系统安全漏洞存在的必然性
  4. Unix类操作系统的TCP/IP堆栈加固之TCP协议部分
  5. Unix类操作系统的TCP/IP堆栈加固之ARP协议部分
责任编辑:佚名 来源: 中国教育网
相关推荐

2011-03-23 09:12:38

2011-03-23 10:45:29

2011-03-23 10:35:07

2010-06-01 14:55:31

2010-04-20 15:36:02

Unix操作系统

2010-06-09 13:49:13

重置TCP IP协议

2010-09-08 15:15:12

TCP IP协议栈

2010-06-12 15:54:09

TCP IP协议

2010-06-08 14:43:48

2013-09-17 13:10:17

TCP协议网络协议

2021-07-06 21:29:16

TCPIP协议栈

2010-09-17 16:38:41

TCP IP协议

2010-06-09 16:28:50

TCP IP传输协议

2014-11-21 09:16:23

TCPIP

2010-06-08 13:32:19

TCP IP协议基础

2010-09-08 15:11:36

TCP IP协议栈

2010-06-08 14:23:47

TCP IP协议概念

2010-05-07 17:41:36

BSD Unix

2010-06-18 14:37:20

TCP IP协议

2020-12-03 08:37:38

TCPIPARP协议
点赞
收藏

51CTO技术栈公众号