加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 业界 > 正文

使用Nginx处理DDOS进行系统优化

发布时间:2018-08-30 22:33:44 所属栏目:业界 来源:支付浪潮
导读:副标题#e# DDoS很常见,甚至被称为黑客圈子的准入技能;DDoS又很凶猛,搞起事来几乎压垮一方网络。 什么是分布式拒绝服务DDoS(Distributed Denial of Service)意为分布式拒绝服务攻击,攻击者利用大量肉鸡对攻击目标发动大量的正常或非正常请求,耗尽目标

如果您可以识别用于攻击的客户端IP地址,则可以使用该 deny指令将其列入黑名单,以便NGINX和NGINX Plus不接受其连接或请求。例如,如果您确定攻击来自地址范围123.123.123.1到123.123.123.16:

  1. location / { 
  2.     deny  123.123 . 123.0 / 28 ; 
  3.      
  4. # ... 

或者,如果您确定攻击来自客户端IP地址123.123.123.3,123.123.123.5和123.123.123.7:

  1. location / { 
  2.    deny 123.123.123.3; 
  3.    deny 123.123.123.5; 
  4.    deny 123.123.123.7; 
  5.    # ... 

将白名单IP地址

如果仅允许从一个或多个特定组或范围的客户端IP地址访问您的网站或应用程序,则可以一起使用 allow和 deny指令以仅允许这些地址访问该站点或应用程序。例如,您可以限制只访问特定本地网络中的地址:

  1. ​location / { 
  2.     allow 192.168.1.0/24; 
  3.     deny all; 
  4.     # ... 

在这里, deny all指令阻止所有不在 allow指令指定的范围内的客户端IP地址。

使用缓存来平滑流量尖峰

您可以配置NGINX和NGINX Plus来吸收攻击导致的大量流量峰值,方法是启用缓存并设置某些缓存参数以卸载后端的请求。一些有用的设置是:

  • 该指令的 updating参数 proxy_cache_use_stale告诉NGINX,当它需要获取一个陈旧的缓存对象的更新时,它应该只发送一个更新请求,并且继续将陈旧对象提供给在接收时间期间请求它的客户端来自后端服务器的更新。当对某个文件的重复请求是攻击的一部分时,这会显着减少对后端服务器的请求数量。
  • 该 proxy_cache_key指令定义的键通常由嵌入式变量组成(缺省键 $scheme$proxy_host$request_uri,有三个变量)。如果该值包含 $query_string 变量,则发送随机查询字符串的攻击可能导致过度缓存。 $query_string除非您有特殊原因,否则我们建议您不要在变量中包含变量。

阻止请求

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读