偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用Nginx防御CC攻擊

安全 黑客攻防
本文主要介紹了有關(guān)使用Nginx防御CC攻擊的一些配置。CC攻擊針對的是服務器上面的內(nèi)存和CPU資源,因此通常會找到一些比較高消耗的接口,例如search.php之類的需要大量sql查詢的接口。因此,明白了這一點,我們就很好防御了,主要是針對單個ip地址的連接數(shù)和請求php文件的密度來控制的。

本文主要介紹了有關(guān)使用Nginx防御CC攻擊的一些配置。CC攻擊針對的是服務器上面的內(nèi)存和CPU資源,因此通常會找到一些比較高消耗的接口,例如search.php之類的需要大量sql查詢的接口。因此,明白了這一點,我們就很好防御了,主要是針對單個ip地址的連接數(shù)和請求php文件的密度來控制的。

我們主要用到的是Nginx中提供的兩個limit模塊:

  1. ngx_http_limit_conn_module  
  2. ngx_http_limit_req_module 

一、白名單

首先這兩個模塊是支持白名單的,就是可能有某些IP地址,我們是不需要進行限制的,比如可能會是搜索引擎啦什么的或者自己的IP,因此需要設(shè)置一個白名單,不需要的可跳過本步。具體方法:

在HTTP段中插入如下格式內(nèi)容,聲明白名單IP

  1. http{    
  2. .......    
  3. geo $limited{    
  4.       default 1;    
  5.       #公司    
  6.      119.123.5.0/24 0;   
  7.   }    
  8. .........    
  9. }   

geo指令定義了一個白名單$limited變量,默認值為1,如果客戶端IP在上面的范圍內(nèi),$limited的值為0。

然后緊跟在上面內(nèi)容后使用map指令映射搜索引擎客戶端的ip為空串,如果不是白名單IP就顯示本身真實的IP,這樣搜索引擎iIP就不能存到limit模塊的內(nèi)存session中,所以不會限制白名單的IP訪問。

  1. map $limited $limit {    
  2.                   1 $binary_remote_addr;   
  3.                   0 "";    
  4.         }  

二、訪問頻率限制

訪問頻率限制使用到的是ngx_http_limit_req_module,需要在兩個地方配置,首先在HTTP段中,聲明好這個模塊一些參數(shù),如果有設(shè)置白名單,設(shè)置如下

  1. http{    
  2. ...    
  3. limit_req_zone $limit zone=one:10m rate=20r/m; ##平均20r/m 每分鐘20個請求    
  4. ...    
  5. }   

如果沒有配置白名單,所有來訪IP都會限制,配置如下

  1. http{    
  2. ...    
  3. limit_req_zone $binary_remote_addr zone=one:10m rate=20r/m; ##平均20r/m 每分鐘20個請求  
  4. ...   
  5. }   

解釋一下上面的參數(shù),第一個代表的是需要限制的ip群,這個很好理解,第二個zone=one表示這個limit_zone的名字叫做one,后面的使用中可以用這個one來進行指代,后面的15m,代表為這個zone分配10m的內(nèi)存,1m可以保存16000的$binary_remote_addr。最后一個是頻率,如果要按秒來算可以設(shè)置20r/s這樣。

最后是配置到Nginx的php的解析段

  1. location ~ \.php$ {    
  2. ...    
  3. limit_req zone=one burst=5 nodelay;   
  4. ...    
  5. }   

指定了使用名字為one的zone,然后緩沖隊列為5,無延遲,如果不設(shè)置無延遲,訪問會卡住。

三、訪問連接限制

訪問連接限制使用到的是ngx_http_limit_conn_module,也是需要在兩個地方配置,首先在HTTP段中,聲明好這個模塊一些參數(shù),如果有設(shè)置白名單,設(shè)置如下

  1. http{   
  2. ...    
  3. limit_conn_zone $limit zone=addr:10m;    
  4. ...    
  5. }   

如果沒有配置白名單,所有來訪IP都會限制,配置如下

  1. view sourceprint?http{    
  2. ...    
  3. limit_conn_zone $binary_remote_addr zone=addr:10m;   
  4. ...    
  5. }   

參數(shù)的意思跟上面的差不多也就不多解釋了。

后面的就是在server段中進行設(shè)置了,可以具體到某個目錄什么的了

  1. server {    
  2.     location /download/ {   
  3.         limit_conn addr 5;    
  4.     }  

大功告成,打完收工,記得要nginx -s reload一下哦~

責任編輯:藍雨淚 來源: 博客
相關(guān)推薦

2010-09-13 09:20:21

2010-07-19 21:52:35

2020-12-01 16:50:18

CC攻擊DDoS攻擊網(wǎng)絡(luò)攻擊

2020-12-01 09:17:24

網(wǎng)絡(luò)安全DDoS服務器

2015-03-27 09:50:37

2023-11-06 09:00:00

2012-11-30 14:54:48

2009-11-10 14:12:20

2013-11-04 09:15:58

2009-07-07 15:13:56

2018-02-27 11:08:11

2018-06-10 15:30:36

2013-04-25 11:04:42

2011-01-18 15:29:46

2009-10-29 17:47:31

2010-09-29 14:00:05

2021-06-03 10:16:12

CSRF攻擊SpringBoot

2010-09-08 12:35:51

2012-02-14 09:43:08

2017-05-08 14:33:51

點贊
收藏

51CTO技術(shù)棧公眾號