Nginx防禦CC攻擊

2021-06-28 09:20:03 字數 1226 閱讀 8588

cc攻擊針對的是伺服器上面的記憶體和cpu資源,因此通常會找到一些比較高消耗的介面,例如search.php之類的需要大量sql查詢的介面。因此,明白了這一點,我們就很好防禦了,主要是針對單個ip位址的連線數和請求php檔案的密度來控制的。

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

0×01白名單

在http段中插入如下格式內容,宣告白名單ip

9 }geo指令定義了乙個白名單$limited變數,預設值為1,如果客戶端ip在上面的範圍內,$limited的值為0。

然後緊跟在上面內容後使用map指令對映搜尋引擎客戶端的ip為空串,如果不是白名單ip就顯示本身真實的ip,這樣搜尋引擎iip就不能存到limit模組的記憶體session中,所以不會限制白名單的ip訪問。

map $limited $limit

0×02訪問頻率限制

訪問頻率限制使用到的是ngx_http_limit_req_module,需要在兩個地方配置,首先在http段中,宣告好這個模組一些引數,如果有設定白名單,設定如下

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

解釋一下上面的引數,第乙個代表的是需要限制的ip群,這個很好理解,第二個zone=one表示這個limit_zone的名字叫做one,後面的使用中可以用這個one來進行指代,後面的15m,代表為這個zone分配10m的記憶體,1m可以儲存16000的$binary_remote_addr。最後乙個是頻率,如果要按秒來算可以設定20r/s這樣。

最後是配置到nginx的php的解析段

location ~ \.php$

指定了使用名字為one的zone,然後緩衝隊列為5,無延遲,如果不設定無延遲,訪問會卡住。

0×03訪問連線限制

訪問連線限制使用到的是ngx_http_limit_conn_module,也是需要在兩個地方配置,首先在http段中,宣告好這個模組一些引數,如果有設定白名單,設定如下

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

引數的意思跟上面的差不多也就不多解釋了。

後面的就是在server段中進行設定了,可以具體到某個目錄什麼的了

server

ok

使用Nginx防禦CC攻擊

本文主要介紹了有關使用nginx防禦cc攻擊的一些配置。cc攻擊針對的是伺服器上面的記憶體和cpu資源,因此通常會找到一些比較高消耗的介面,例如search.php之類的需要大量sql查詢的介面。因此,明白了這一點,我們就很好防禦了,主要是針對單個ip位址的連線數和請求php檔案的密度來控制的。我們...

Linux 防禦CC攻擊

什麼是cc攻擊 cc攻擊的原理就是攻擊者控制某些主機不停地發大量資料報給對方伺服器造成伺服器資源耗盡,一直到宕機崩潰。cc主要是用來攻擊頁面的,每個人都有這樣的體驗 當乙個網頁訪問的人數特別多的時候,開啟網頁就慢了,cc就是模擬多個使用者 多少執行緒就是多少使用者 不停地進行訪問那些需要大量資料操作...

如何防禦cc攻擊

如何防禦cc攻擊?解決方法 1.開啟防火牆,過濾掉訪問次數多的ip位址 2.拒絕 伺服器訪問你伺服器,怎麼拒絕 伺服器訪問呢?伺服器有固定的ip位址,將這些ip位址都加到防火牆規則下,全都drop掉 cc攻擊危害是什麼?大量的流量不斷衝擊你的伺服器,會讓你的伺服器負載及壓力越來越大,直到伺服器崩潰宕...