DDOS 是一种通过大流量的请求对目标进行轰炸式访问,导致提供服务的服务器资源耗尽进而无法继续提供服务的攻击手段。这篇文章主要介绍了使用Nginx、Nginx Plus抵御DDOS攻击的方法,感兴趣的小伙伴们可以参考一下
DDOS 是一种通过大流量的请求对目标进行轰炸式访问,导致提供服务的服务器资源耗尽进而无法继续提供服务的攻击手段。

一般情况下,攻击者通过大量请求与连接使服务器处于饱和状态,以至于无法接受新的请求或变得很慢。

一、应用层DDOS攻击的特征

应用层(七层/HTTP层)DDOS 攻击通常由木马程序发起,其可以通过设计更好的利用目标系统的脆弱点。例如,对于无法处理大量并发请求的系统,仅仅通过建立大量的连接,并周期性的发出少量数据包来保持会话就可以耗尽系统的资源,使其无法接受新的连接请求达到 DDOS 的目的。其他还有采用发送大量连接请求发送大数据包的请求进行攻击的形式。因为攻击是由木马程序发起,攻击者可以在很短时间内快速建立大量的连接,并发出大量的请求。

以下是一些DDOS的特证,我们可以据此特征来抵抗 DDOS(包括但不限于):如何起名

攻击经常来源于一些相对固定的 IP 或 IP 段,每个 IP 都有远大于真实用户的连接数和请求数。(备注:这并不表明这种请求都是代表着 DDOS 攻击。在很多使用NAT的网络架构中,很多的客户端使用网关的 IP 地址访问公网资源。但是,即便如此,这样的请求数和连接数也会远少于 DDOS 攻击。) 因为攻击是由木马发出且目的是使服务器超负荷,请求的频率会远远超过正常人的请求。 User-Agent 通常是一个非标准的值 Referer 有时是一个容易联想到攻击的值
二、使用Nginx、Nginx Plus抵抗DDOS攻击

结合上面提到的 DDOS 攻击的特征,Nginx、Nginx Plus有很多的特性可以用来有效的防御 DDOS 攻击,可以从调整入口访问流量和控制反向代理到后端服务器的流量两个方面来达到抵御 DDOS 攻击的目的。

  1. 限制请求速度

设置 Nginx、Nginx Plus 的连接请求在一个真实用户请求的合理范围内。比如,如果你觉得一个正常用户每两秒可以请求一次登录页面,你就可以设置 Nginx 每两秒钟接收一个客户端 IP 的请求(大约等同于每分钟30个请求)。

limit_req_zone binaryremoteaddrzone=one:10mrate=30r/m;server...location/login.htmllimitreqzone=one;...‘limitreqzone‘命令设置了一个叫one的共享内存区来存储请求状态的特定键值,在上面的例子中是客户端IP(binary_remote_addr zone=one:10m rate=30r/m; server { ... location /login.html { limit_req zone=one; ... } } `limit_req_zone` 命令设置了一个叫 one 的共享内存区来存储请求状态的特定键值,在上面的例子中是客户端 IP(binaryr​emotea​ddrzone=one:10mrate=30r/m;server...location/login.htmllimitr​eqzone=one;...‘limitr​eqz​one‘命令设置了一个叫one的共享内存区来存储请求状态的特定键值,在上面的例子中是客户端IP(binary_remote_addr)。location 块中的 limit_req 通过引用 one 共享内存区来实现限制访问 /login.html 的目的。

  1. 限制连接数量

设置 Nginx、Nginx Plus 的连接数在一个真实用户请求的合理范围内。比如,你可以设置每个客户端 IP 连接 /store 不可以超过10个。

limit_conn_zone $binary_remote_addr zone=addr:10m; server { … location /store/ { limit_conn addr 10; … } }
limit_conn_zone 命令设置了一个叫 addr 的共享内存区来存储特定键值的状态,在上面的例子中是客户端 IP( $binary_remote_addr)。location 块中 limit_conn 通过引用 addr 共享内存区来限制到 /store/ 的最大连接数为10。

  1. 关闭慢连接

有一些 DDOS 攻击,比如 Slowlris,是通过建立大量的连接并周期性的发送一些数据包保持会话来达到攻击目的,这种周期通常会低于正常的请求。这种情况我们可以通过关闭慢连接来抵御攻击。

使用Nginx、Nginx Plus抵御DDOS攻击的方法相关推荐

  1. 服务器抵御ddos攻击的方法

    1,使用高性能服务器设备 高性能网络设备可以说是高防服务器的前提.我们必须确保网络设备不会成为瓶颈.因此,在选择路由器,交换机,硬件防火墙等时,应尝试使用信誉良好的产品.要求他们在网络联系人处进行流量 ...

  2. 使用Nginx抵御DDOS攻击

    DDOS是一种通过大流量的请求对目标进行轰炸式访问,导致提供服务的服务器资源耗尽进而无法继续提供服务的攻击手段. 一般情况下,攻击者通过大量请求与连接使服务器处于饱和状态,以至于无法接受新的请求或变得 ...

  3. TCP通过滑动窗口和拥塞窗口实现限流,能抵御ddos攻击吗

    tcp可以通过滑动窗口和拥塞算法实现流量控制,限制上行和下行的流量,但是却不能抵御ddos攻击. 限流只是限制访问流量的大小,是无法区分正常流量和异常攻击流量的. 限流可以控制本软件或者应用的流量大小 ...

  4. linux tcp限流脚本,TCP通过滑动窗口和拥塞窗口实现限流,能抵御ddos攻击吗

    tcp可以通过滑动窗口和拥塞算法实现流量控制,限制上行和下行的流量,但是却不能抵御ddos攻击. 限流只是限制访问流量的大小,是无法区分正常流量和异常攻击流量的. 限流可以控制本软件或者应用的流量大小 ...

  5. 互联网金融如何抵御DDOS攻击

    互联网金融如何抵御DDOS攻击?金融业依托互联网思维,以敏捷迭代.跨界融合.注重场景设计等特点快速赢得用户青睐,提升用户体验,使得我国金融业对于数字化转型更为积极主动.当然,金融业数字化转型中也出现了 ...

  6. 服务器怎么抵御DDOS攻击

    服务器是如何抵御DDOS攻击的呢?相信很多客户都会好奇这个问题,日常中,我们在选择服务器租用时,会去了解一下高防服务器,但是对于服务器是怎么来防御这些攻击却是了解甚少,今天小编就来为大家讲解一下,服务 ...

  7. DDOS攻击解决方法

    1.首先要做的,是屏蔽海外的访问(如果没有海外业务的话),因为目前来说大部分ddos攻击额流量都来自于海外,所以通过服务器的防火墙,或者是其它的软件设置,完全屏蔽海外的ip请求,是有一定几率恢复访问的 ...

  8. 小程序服务器如何防攻击,中小网站防止DDOS攻击的方法

    网上虽然说有很多文章都在说:如何防止DDOS攻击?防止DDOS攻击的办法,我个人认为对于中小网站没来说没有一个是真正有效的,要么就是说DDOS攻击防止不了,要么就是说需要花钱. 事实上,这说得并没有错 ...

  9. linux synproxy 抵御 ddos攻击的原理和优化

    目录 关于DDoS攻击和本文 关于DDoS与nf_conntrack 附:为什么nf_conntrack表项的查找和创建并不算个事儿 nf_conntrack如何防御DDoS攻击 附:什么是INVAL ...

最新文章

  1. 你想要的生信知识全在这——生信宝典目录 (181202)
  2. 压铸行业龙头广东鸿图携手用友U9实现数智化升级
  3. Engineering Department Bulletin News and information for the Department
  4. 编程三角形面积公式_三角形面积公式110式(英文版)
  5. 第三模块:面向对象(目录)
  6. 转:智能卡测试操作系统技术
  7. 复读数组(nowcoder 1103A)
  8. 电脑的发展史_互联网发展史 硅谷传奇之 IBM
  9. 好久没有写了,今天就谈谈微信吧!
  10. C++ 堆区和栈区的区别
  11. ESP8266开启热点和TCP Server
  12. 【Java】面向对象(二)继承
  13. Android SDK是什么意思?
  14. 企查查的批量公司查找
  15. 关于iOS系统你知道多少???
  16. TCP/IP详解卷1:第十四章 DNS 域名系统
  17. 音视频OSD——制作ASCII点阵字模并叠加到YUV图像中
  18. Java第三方接口鉴权(springboot + 腾讯开放平台)
  19. nvidia显卡编码并发session限制破解
  20. 7-1 Swan学院社团招新 (20分)

热门文章

  1. jAVA 得到Map价值
  2. QT中文显示乱码解决
  3. C++ 20 是近十年来影响最大的一个版本,新的特性众多
  4. pelco-d协议数据解析示例
  5. VGA、DVI、HDMI三种视频信号接口差别
  6. 域控制器服务器端和客户端设置
  7. 计算机办公应用适合什么工作,有什么软件堪称办公神器,让你每天的工作轻松不累?...
  8. 028_Alert警告
  9. 028_jdbc-mysql大文本
  10. java清除浏览器记录_Javascript脚本之清除浏览器历史数据