一、半连接攻击(SYN攻击)

1.1 定义

  发生在TCP 3次握手中。

  如果A向B发起TCP请求,B也按照正常情况进行响应了,但是A不进行第3次握手,这就是半连接攻击。

  SYN攻击数据DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。

1.2 检测半连接攻击(SYN攻击)

  1. netstat -n -p TCP 

      很多连接处于SYN_RECV状态(Windows下是SYN_RECEIVED),原IP地址都是随机的,表面这是一种带有IP欺骗的SYN攻击。

  2. netstat -n -p TCP | grep SYN_RECV | grep 22 | wc -l    324

      显示TCP端口22的未连接数有324个。

1.3 防范半连接攻击(SYN攻击)

  过滤网关防护:

  1. 网关超时设置

        防火墙计数器到时,还没收到第3次握手包,则往服务器发送RST包,以使服务器从对列中删除该半连接。

        网关超时设置,不宜过小也不宜过大。过小影响正常通讯,过大,影响防范SYN攻击的效果。

  2. SYN网关

        SYN网关将数据包转发给服务器,需要第3次握手包时,SYN网关以客户端名义给服务器发第3次握手包。

        这会增加连接队列数目,一般服务器所承受的连接数量比半连接数量大得多。可以减轻SYN攻击。

  3. SYN代理

        SYN代理不转发SYN包,而是以服务器名字主动回复SYN/ACK包给客户。SYN代理代替了服务器去处理SYN攻击,此时要求过滤网关自身有很强的防范SYN攻击能力。

  加固TCP/IP协议栈:

  4. SynAttackProtect机制

  5. SYN cookies技术

  6. 增加最大半连接数

        backlog队列需要大量的内存资源,不能被无限的扩大。

  7. 缩短超时时间

        timeout超时时间,即半连接存活时间,是系统所有重传次数等待的超时时间总和,这个值越到,半连接数占用backlog队列的时间越长,系统能处理的SYN请求越少。

        为缩短超时时间,可以通过缩短重传超时时间和减少重传次数来实现。

1.4 参考资料

  TCP漏洞,半连接:http://blog.csdn.net/cpk154505/article/details/8768241
二、全连接攻击

2.1 定义

  客户端仅仅“连接”到服务器,然后再也不发送任何数据,直到服务器超时处理或者耗尽服务器的处理进程。

  为何不发送任何数据呢? 因为一旦发送了数据,服务器检测到数据不合法后就可能断开此次连接;如果不发送数据的话,很多服务器只能阻塞在recv或者read调用上。

  半连接攻击是耗尽全局的内存;全连接攻击耗尽的是主机的处理进程和连接数量。

2.2 参考资料

 TCP的半连接攻击和全连接攻击:http://blog.csdn.net/zhangxinrun/article/details/7619234
三、RST攻击

3.1 定义

  假设一个合法用户(1.1.1.1)已经同服务器建立的正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为1.1.1.1,并向服务器发送一个带有RST位的TCP数据包。

  TCP收到这样的数据后,认为从1.1.1.1发送的连接有错误,就会清空缓冲区中建立好的连接。

  这时,如果合法用户1.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户必须重新开始建立连接。
四、IP欺骗

4.1 定义

  行动产生的IP数据包为伪造的源IP地址,以便冒充其他系统或发件人的身份。
五、DNS欺骗

5.1 定义

  攻击者冒充域名服务器的一种欺骗行为。

5.2 原理

  如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。

  DNS欺骗其实并不是“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。
六、DOS攻击、DDOS攻击

6.1 定义

  DOS攻击:拒绝服务。                 制造大量数据,使受害主机或网络无法及时接收并处理外界请求,或无法及时回应外界请求。

  DDOS攻击:分布式拒绝服务。   多台傀儡机(肉鸡)同时知道大量数据。

————————————————

最后修改:2021 年 05 月 21 日 11 : 18 PM
如果觉得我的文章对你有用,请随意赞赏