防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈,下面这篇文章主要给大家介绍了关于如何利用nginx处理DDOS进行系统优化的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
前言

众所周知DDoS很常见,甚至被称为黑客圈子的准入技能;DDoS又很凶猛,搞起事来几乎压垮一方网络。

DDOS的特点是分布式,针对带宽和服务攻击,也就 是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在带宽,七层的多在架构的吞吐量。对于七层的应用攻击,我们还是可以做一些配置来防御的,例如前端是 Nginx,主要使用nginx的http_limit_conn和http_limit_req模块来防御。

什么是分布式拒绝服务DDoS(Distributed Denial of Service)意为分布式拒绝服务攻击,攻击者利用大量“肉鸡”对攻击目标发动大量的正常或非正常请求,耗尽目标主机资源或网络资源,从而使被攻击者不能为合法用户提供服务。通常情况下,攻击者会尝试使拥有这么多连接的系统饱和,并要求它不再能够接受新的流量,或者变得非常缓慢以至于无法使用。

换句话说老张的饭店(被攻击目标)可接待100个顾客同时就餐,隔壁老王(攻击者)雇佣了200个人(肉鸡),进饭店霸占位置却不吃不喝(非正常请求),饭店被挤得满满当当(资源耗尽),而真正要吃饭的顾客却进不来,饭店无法正常营业(DDoS攻击达成)。那么问题来了,老张该怎么办?

当然是,轰出去!

通常情况下,攻击者会尝试使拥有这么多连接的系统饱和,并要求它不再能够接受新的流量,或者变得非常缓慢以至于无法使用。

应用层DDoS攻击特性

应用层(第7层/ HTTP)DDoS攻击由软件程序(机器人)执行,该软件程序可以定制为最佳利用特定系统的漏洞。例如,对于不能很好地处理大量并发连接的系统,仅通过周期性地发送少量流量打开大量连接并保持活动状态,可能会耗尽系统的新连接容量。其他攻击可以采取发送大量请求或非常大的请求的形式。由于这些攻击是由僵尸程序而不是实际用户执行的,因此攻击者可以轻松地打开大量连接并非常快速地发送大量请求。

DDoS攻击的特征可以用来帮助减轻这些攻击,包括以下内容(这并不意味着是一个详尽的列表):

-流量通常来自一组固定的IP地址,属于用于执行攻击的机器。因此,每个IP地址负责的连接和请求数量远远超出您对真实用户的期望。

注意:不要认为此流量模式总是代表DDoS攻击。转发代理的使用也可以创建这种模式,因为转发代理服务器的IP地址被用作来自它所服务的所有真实客户端的请求的客户端地址。但是,来自转发代理的连接数和请求数通常远低于DDoS攻击。

-由于流量是由机器人生成的,并且意味着压倒服务器,因此流量速率远高于人类用户可以生成的流量。如何起名

  • User-Agent报头被设置有时到非标准值。

-该 Referer头有时设为您可以与攻击相关联的值。

使用NGINX和NGINX Plus来抵御DDoS攻击

NGINX和NGINX Plus具有许多功能,与上述的DDoS攻击特性相结合,可以使它们成为DDoS攻击缓解解决方案的重要组成部分。这些功能通过调节传入流量并通过控制流量代理后端服务器来解决DDoS攻击。

NGINX事件驱动架构的内在保护

NGINX旨在成为您的网站或应用程序的“减震器”。它具有非阻塞的事件驱动架构,可以应对大量请求,而不会明显增加资源利用率。

来自网络的新请求不会中断NGINX处理正在进行的请求,这意味着NGINX可以利用下面描述的技术来保护您的站点或应用免受攻击。

如何利用nginx处理DDOS进行系统优化详解相关推荐

  1. nginx配置文件及工作原理详解

    nginx配置文件及工作原理详解 1 nginx配置文件的结构 2 nginx工作原理 1 nginx配置文件的结构 1)以下是nginx配置文件默认的主要内容: #user nobody; #配置用 ...

  2. python 文字语音朗读-python 利用pyttsx3文字转语音过程详解

    这篇文章主要介绍了python 利用pyttsx3文字转语音过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 # -*- coding: ut ...

  3. 阿里云DDoS基础防护详解防护阈值黑洞时间详细说明

    阿里云DDoS基础防护是免费赠送给用户的,每台实例都可以免费试用DDoS基础防护,护云盾分享DDoS基础防护的详细说明,包括防护阈值.防护流量.安全信誉及黑洞时间等: DDoS基础防护详解 阿里云免费 ...

  4. Nginx正则表达式之匹配操作符详解

    2019独角兽企业重金招聘Python工程师标准>>> Nginx正则表达式之匹配操作符详解 nginx可以在配置文件中对某些内置变量进行判断,从而实现某些功能.例如:防止rewri ...

  5. PX4飞控中利用EKF估计姿态角代码详解

    PX4飞控中利用EKF估计姿态角代码详解 PX4飞控中主要用EKF算法来估计飞行器三轴姿态角,具体c文件在px4\Firmware\src\modules\attitude_estimator_ekf ...

  6. python脚本语言采用声音作为手段_python 利用pyttsx3文字转语音过程详解

    这篇文章主要介绍了python 利用pyttsx3文字转语音过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下# -*- coding: utf ...

  7. python ks值计算_利用Python计算KS的实例详解

    在金融领域中,我们的y值和预测得到的违约概率刚好是两个分布未知的两个分布.好的信用风控模型一般从准确性.稳定性和可解释性来评估模型.sOf免费资源网 一般来说.好人样本的分布同坏人样本的分布应该是有很 ...

  8. php curl 模拟多线程,php利用curl 多线程 模拟 并发的详解

    php利用curl 多线程 模拟 并发的详解 发布于 2014-12-07 10:17:25 | 265 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypert ...

  9. nginx下gzip配置参数详解

    这篇文章主要介绍了nginx下gzip配置参数详解,本文同时给出了配置例子,以及一些注意事项,需要的朋友可以参考下 Nginx自带的有gzip模块 http://wiki.nginx.org/Ngin ...

最新文章

  1. 多模块打包后,扫描不到@controller和@service,实现 ADD DIRECTORY ENTRIES
  2. opengl绘制长方体线框_OpenGL 绘制长方体 计算机图形学
  3. Hadoop入门实例——WordCount统计单词
  4. JS日期函数getMonth()的值域是0--11
  5. 微服务的好处与弊端_在云原生时代,就一定要用微服务吗?
  6. mvn 打包_Spark源码打包编译的过程
  7. 在控制台环境下调用MFC DLL崩溃的问题小结
  8. LeetCode 718最长重复子数组
  9. kotlin协程_Kotlin协程
  10. 【已解决】 c8812在eclipse上调试打不出log来?求帮助如何解决?!!!
  11. 移动端的头部标签和meta
  12. 南开大学校园邮箱pop3地址
  13. ES6JS笔记以及部分运行问题记录
  14. python影评_用Python分析18万条《八佰》影评,看看观众怎么说?
  15. 使用web3.py获取zkSync中的数据
  16. 23_STM32调试和下载:SW配置
  17. 默哀日网站置灰,支持IE浏览器h5
  18. [Python]networkx入门
  19. 笔记本连接不上外接显示器_如何将多个外接显示器连接到笔记本电脑
  20. 怎么把ppt文件转换成pdf?解决方法有这几种

热门文章

  1. SQL pivot与unpivot 实现的简单的:行转列及列转行
  2. Process类中与内存相关的属相不能更新!
  3. 120所国家重点建设大学(211工程和教育部直属)[国家一类本科大学]详细情况一览表...
  4. C#版本与.NET版本对应关系以及各版本的特性
  5. 三四线城市高价房内幕:开发商坐庄,中介布局,购房者盲目下注
  6. 美国司法部将对大型科技公司展开广泛、新的反垄断审查
  7. 指纹识别市场前景广阔,2020年我国或破18亿美元
  8. 多线程程序在多核和单核上运行的不同
  9. les物流执行系统_物流规划工作如何开展?
  10. c语言编程 三角波,周期矩形波、周期锯齿波、周期三角波,C语言程序.doc