`
brucectl
  • 浏览: 177241 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

减少SYN, ACK和CC攻击的影响

阅读更多
阻塞是攻击不同于侵入式攻击,是很难根除的。因为其主要来源是大量受黑客控制的肉鸡,而且可能是动态IP,所以没有办法通过封锁IP的方式彻底排除其影响,通常只能采取一定的措施减轻其影响,实在不行则只能加硬件防火墙。

如何减小SYN攻击的影响

1、扩大Backlog暂存数, 尽可能多的保留合法连接:

# sysctl -w net.ipv4.tcp_max_syn_backlog=2048   ( 默认:1024)
2、启用syncookies:

#sysctl -w net.ipv4.tcp_syncookies=1
启用syncookies可以大幅减小syn攻击带来的影响,但是却引入了新的安全缺陷

syncookie基本原理是:仔细处理连接的初始序列号而不是随机选择一个序列号。一旦server接收到SYN报文,将关键信息仔细编码并作为 state存储在SYN队列中。这种经过编码的信息是用一个秘钥进行加密hash,形成SYN-ACK报文中的序列号并发送给client。在合法握手的 第三个报文中,即从client返回给server的ACK报文中,在acknowledgment number字段中包含该序列号(加1). 这样,open双向连接所必须的所有信息又返回给server,而server在三次握手完成之前不必维护state。syn-cookies解决了 SYN的基本问题,但是随之带来一个新的问题,就是服务器需要对收到的ACK报文进行计算,提高了三次握手需要的系统资源。一种新的攻击方式随之而来,即 ACK攻击,发送大量的ACK数据报,导致服务器忙于计算最终导致服务器停止相应。Linux上的实际应用中,只有等待数被占满的时候才会启用 syncookies的方式

3、修改重试次数

#sysctl -w net.ipv4.tcp_syn_retries = 1 重传次数设置为1, (甚至设置为0, 即只要收不到客户端的响应,立即丢弃该连接) 默认设置为5次
4. 此外, 可以参考以下iptables的策略, 合并在一起控制并发连接数
减小ACK攻击影响
1. 使用iptables限制单个地址的并发连接数量:

#iptables -I INPUT -p tcp –dport 80 -m connlimit –connlimit-above 50 -j DROP
2. 使用iptables限制单个c类子网的并发链接数量:

#iptables -t filter -A INPUT -p tcp –dport 80 –tcp-flags FIN,SYN,RST,ACK ACK -m connlimit –connlimit-above 10 –connlimit-mask24  -j REJECT
限制并发ACK不大于50
可以按照C网来进行统计和封锁是connlimit模块非常独特的优势.
3.限制单位时间内的连接数:

#iptables -t filter -A INPUT -p tcp –dport 80 -m –state –state NEW -m recent –set –name access –resource#iptables -t filter -A INPUT -p tcp –dport 80 -m –state –state NEW -m recent –update –seconds 60 –hitcount 30 –name access -j DROP

由于connlimit模块还没有正式进入内核, 所以目前恐怕只有第三条比较实用.
减小CC攻击影响
普通的CC攻击特点是所有的连接都是正常的完整的连接,这样的连接一般的防火墙是很难预防的。但是既然是网络攻击必然也具有网络攻击的共同特点,也 就是每一个攻击源都会发起尽量多的连接,因此我们仍然可以使用限制单个地址并发链接数量的办法来实现对CC攻击的抵御。具体命令同上

webcc,想必之下似乎更加难以预防,但是由于所有的访问都是由相同的一个或几个网站中转而来,这些访问请求的http_reffer都会带有这 些中转站的地址。我们只要在web服务器上设置http_reffer过滤即可大幅减小webcc攻击的影响

[参考文章]

1. SYN攻击的原理,攻击工具,以及防护手段/使用iptables应对SYN攻击、CC攻击、ACK攻击

http://bbs3.chinaunix.net/thread-1627255-1-1.html

2. SYN Flood攻击、SYN Cookie防御和Linux/FreeBSD的内核参数修改

http://blog.csdn.net/JsuFcz/archive/2010/03/23/5407685.aspx

3. TCP SYN Flood攻击的原理机制/检测与防范及防御方法

http://hi.baidu.com/newrity/blog/item/76b6f8cec0e7250592457e0f.html

4. 一次dos事件的分析和处理办法 (Linux + iptables)

https://bbs.et8.net/bbs/showthread.php?t=671756
分享到:
评论

相关推荐

    Linux下基于SYN Cookie的防SYN Flood攻击的实现与改进.pdf

    如果攻击者发送大量的SYN报文,而不发送ACK报文,那么服务器将等待超时后重试,导致服务器的资源被大量占用,影响服务器的性能。 SYN Cookie实现机制 ------------------- SYN Cookie是一种防御SYN Flood攻击的...

    synack-proxy:代理应用

    Synack Proxy是一款基于Go语言开发的代理应用,它主要用于网络安全领域,特别是渗透测试和安全研究。Go语言,也被称为Golang,是Google开发的一种静态类型的、编译型的、并发型且具有垃圾回收功能的编程语言。Go语言...

    TCP SYN ACK FIN RST PSH URG.doc

    今天,我们将详细了解 TCP 中的 SYN、ACK、FIN、RST、PSH 和 URG 标志的作用。 SYN 标志 SYN(Synchronize Sequence Numbers,同步序列编号)标志是 TCP 连接建立过程中的关键标志。当客户端想与服务器建立连接时...

    TCP协议的SYN Flood攻击原理详细讲解

    1. **SYN Cookie**:服务器使用一种技术,将SYN请求的部分信息加密,并作为SYN+ACK响应的一部分返回,这样即使攻击者伪造SYN请求,也无法正确回应服务器的SYN+ACK,从而避免资源浪费。 2. **限速和连接限制**:设置...

    操作系统安全:防syn 攻击优化配置.docx

    3. **减少SYN重试次数**:减少`tcp_synack_retries`和`tcp_syn_retries`的值,限制SYN连接的重试次数,减少服务器的负担。例如,都设置为3,命令分别为`sysctl -w net.ipv4.tcp_synack_retries=3`和`sysctl -w ...

    SYN flood攻击的原理及其防御

    2. **第二次握手**:服务器接收到SYN报文后,会发送一个SYN+ACK报文段作为回应,同时包含自己的初始序列号ISN(server)和对客户端序列号的确认号ACK(client)+1。 3. **第三次握手**:客户端收到服务器的SYN+ACK报文后...

    awl-0.2.tar.gz TCP SYN洪水攻击 linux工具

    TCP SYN洪水攻击就是通过伪造源IP地址,大量发送SYN包,但不发送后续的ACK包,导致服务器为这些未完成的连接保留资源,直至耗尽其可用连接池,从而瘫痪服务。 "awl-0.2"这个工具允许攻击者在Linux环境下多线程运行...

    SYN flood C源代码

    但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中...

    syn攻击检测技术实现

    实现SYN攻击的工具种类繁多,例如Windows下的synkill.exe,可以设置随机源地址和端口,指定目标服务器和端口进行攻击。攻击者通常会选择服务器开放且易受攻击的端口,如Windows系统的TCP 139端口,UNIX系统的TCP 7、...

    srt_fw:Synack 红队防火墙脚本

    这篇博客描述了我在开始与 Synack 的 Red Team 进行渗透测试时编写的快速简单的 BASH 脚本。 我想在开始扫描目标之前编写一个简单明了的脚本。 一旦选择了一个项目,就会生成一个 VPN 配置并将其用于 VPN 进入 ...

    面向Web服务的SYN flood攻击防护算法.pdf

    综上所述,该文深入研究了SYN Flood攻击的防护策略,特别是针对SYN重传算法的优化,旨在提供一个既能有效防御攻击,又能尽量减少对正常用户影响的解决方案。这一研究对于Web服务的开发者和运维人员来说,具有重要的...

    syn flood测试工具

    为了了解和测试网络安全,开发者和研究人员创建了一些工具来模拟SYN Flood攻击,以检测网络防御机制的效能。这些工具通常允许用户设置不同的参数,如SYN包的数量、频率和源IP地址,以便于模拟不同强度的攻击场景。...

    SYNFlood_洪泛_攻击的检测与防范

    2. **防火墙配置**:利用防火墙限制进入服务器的SYN报文的数量,减少攻击的影响。 3. **连接超时设置**:合理设置SYN Timeout时间,避免长时间占用资源。 4. **IP信誉系统**:建立IP信誉评估机制,对经常发起可疑...

    详解tcp三次握手过程syn,ack

    这个过程涉及到SYN(Synchronize Sequence Numbers)和ACK(Acknowledgment)这两个关键标志位。 1. 第一次握手:主动发起连接的客户端(Client)发送一个带有SYN标志的数据段,其中包含一个随机生成的序列号x。这...

    关于网站的SYN_RECV攻击的防范措施.txt

    ### 关于网站的SYN_RECV攻击的防范措施 ...通过上述步骤,我们可以有效地检测和阻止SYN_RECV攻击的发生,保护服务器资源不受恶意消耗。需要注意的是,实际部署时还需根据具体环境和需求进行适当的调整和完善。

    在虚拟机中模拟DDoS攻击,并配置相应防御策略 考试题目如下: 模拟SYN 洪水攻击及防御,模拟Smurf攻击及防御,模拟do

    测试和验证防御措施的有效性,如修改TCP连接参数(如tcp_synack_retries和tcp_syncookies)、使用防火墙和入侵检测系统(IDS)等。 实验原理: SYN洪水攻击的原理在于利用TCP协议三次握手机制的缺陷。攻击者通过伪造...

    SYN Flood攻击防范技术白皮书.docx

    * SYN Flood 攻击防范综合组网应用:在企业网络中,使用 SYN Flood 攻击防范技术的组合,例如同时使用 SYN Cookie 技术和 Safe Reset 技术,以防范 SYN Flood 攻击行为。 SYN Flood 攻击防范技术是防范 SYN Flood ...

    SYN flood攻击

    在提供的压缩包中,`SYN.cpp`可能是实现SYN Flood攻击检测或防御的C++源代码文件,它可能会包含使用WinPcap库来捕获和分析网络封包的代码。`packet.h`可能是包含封包处理相关函数和结构体定义的头文件,提供了与封包...

    SYN flood攻击的原理及其防御.rar

    而在SYN Flood攻击中,攻击者只发送SYN报文,不发送ACK报文,使得服务器等待回应,占用连接资源。 **攻击过程详解** 1. 攻击者控制大量傀儡机(僵尸网络)或通过单个高带宽源发送大量带有随机源IP的SYN请求。 2. ...

    测试syn-flood等泛洪攻击的小软件

    可以模拟syn flood udp flood等泛洪攻击的一款小软件,360会报警。

Global site tag (gtag.js) - Google Analytics