亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

如何利用nginx處理DDOS進行系統優化詳解

2024-08-30 12:29:51
字體:
來源:轉載
供稿:網友

前言

眾所周知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可以利用下面描述的技術來保護您的站點或應用免受攻擊。

有關底層架構的更多信息,請參閱Inside NGINX:我們如何為性能和規模設計。

限制請求率

您可以將NGINX和NGINX Plus接收傳入請求的速率限制為實際用戶的典型值。例如,您可能會決定訪問登錄頁面的真實用戶每2秒只能發出一個請求。您可以配置NGINX和NGINX Plus,以允許單個客戶端IP地址每2秒嘗試登錄(相當于每分鐘30個請求):

limit_req_zone $binary_remote_addr zone=one: 10m  rate= 30r /m; server {   # ...  location /login.html {   limit_req zone=one;   # ...  } } 

該 limit_req_zone 指令配置一個名為“ one”的共享內存區域,用于存儲指定密鑰的請求狀態,在本例中為客戶機IP地址( $binary_remote_addr)。/login.html塊中的 limit_req 指令引用共享內存區域。 location

有關速率限制的詳細討論,請參閱博客上的NGINX和NGINX Plus的速率限制。

限制連接數量

您可以限制單個客戶端IP地址可以打開的連接數,也可以限制為適合真實用戶的值。例如,您可以允許每個客戶端IP地址打開不超過10個到您網站的/ store區域的連接:

limit_conn_zone $binary_remote_addr zone=addr: 10m ; server {   # ...  location /store/ {   limit_conn addr 10 ;    # ...  } } 

該 limit_conn_zone 指令配置了一個名為addr的共享內存區域,用于存儲指定密鑰的請求,在這種情況下(如前例所示)客戶端IP地址 $binary_remote_addr。在 limit_conn該指令 location為塊/存儲引用共享存儲器區,并設置一個最大從每個客戶端IP地址10個連接。

關閉慢速連接

您可以關閉正在寫入數據的連接,這可能意味著嘗試盡可能保持連接打開(從而降低服務器接受新連接的能力)。Slowloris就是這種攻擊的一個例子。該 client_body_timeout指令控制NGINX在客戶機體寫入之間等待的時間,該 client_header_timeout 指令控制NGINX在寫入客戶機標題之間等待的時間。這兩個指令的默認值是60秒。本示例將NGINX配置為在來自客戶端的寫入或頭文件之間等待不超過5秒鐘:

server {  client_body_timeout 5s;  client_header_timeout 5s;   # ... } 

列入黑名單IP地址

如果您可以識別用于攻擊的客戶端IP地址,則可以使用該 deny指令將其列入黑名單,以便NGINX和NGINX Plus不接受其連接或請求。例如,如果您確定攻擊來自地址范圍123.123.123.1到123.123.123.16:

location / {  deny 123.123 . 123.0 / 28 ;   # ... } 

或者,如果您確定攻擊來自客戶端IP地址123.123.123.3,123.123.123.5和123.123.123.7:

location / {  deny 123.123.123.3;  deny 123.123.123.5;  deny 123.123.123.7;  # ... } 

將白名單IP地址

如果僅允許從一個或多個特定組或范圍的客戶端IP地址訪問您的網站或應用程序,則可以一起使用 allow和 deny指令以僅允許這些地址訪問該站點或應用程序。例如,您可以限制只訪問特定本地網絡中的地址:

?

location / {  allow 192.168.1.0/24;  deny all;  # ... } 

在這里, 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除非您有特殊原因,否則我們建議您不要在變量中包含變量。

阻止請求

您可以配置NGINX或NGINX Plus來阻止幾種請求:

  • 請求一個似乎有針對性的特定網址
  • User-Agent報頭設置為與正??蛻舳肆髁坎粚闹档恼埱?/li>
  • 將 Referer標頭設置為可與攻擊關聯的值的請求
  • 其他頭文件具有可與攻擊關聯的值的請求

例如,如果您確定DDoS攻擊的目標是URL /foo.php,則可以阻止該頁面的所有請求:

?location /foo.php {  deny all; } 

或者,如果您發現DDoS攻擊請求的 User-Agent頭部值為 foo或 bar,則可以阻止這些請求。

?location / {  if ($http_user_agent ~* foo|bar) {   return 403;  }  # ... } 

該變量引用一個請求頭,在上面的例子中是頭。類似的方法可以用于具有可用于識別攻擊的值的其他報頭。 http_*name*``User-Agent

限制到后端服務器的連接

NGINX或NGINX Plus實例通??梢蕴幚肀蓉撦d平衡的后端服務器更多的并發連接。使用NGINX Plus,您可以限制連接到每個后端服務器的數量。例如,如果要限制NGINX Plus與網站 上游組中的兩個后端服務器建立的連接數不超過200個:

?

upstream website {  server 192.168.100.1:80 max_conns=200;  server 192.168.100.2:80 max_conns=200;  queue 10 timeout=30s; } 

max_conns 應用于每個服務器的參數指定NGINX Plus打開的最大連接數。該 queue 指令限制上游組中所有服務器達到其連接限制時排隊的請求數,并且該 timeout參數指定在隊列中保留請求的時間。

處理基于范圍的攻擊

一種攻擊方法是發送一個 Range具有非常大值的標頭,這可能導致緩沖區溢出。有關如何使用NGINX和NGINX Plus來緩解此類攻擊的討論,請參閱使用NGINX和NGINX Plus來保護CVE-2015-1635。

處理高負荷

DDoS攻擊通常會導致高流量負載。有關調整NGINX或NGINX Plus以及允許系統處理更高負載的操作系統的提示,請參閱調整NGINX的性能。

識別DDoS攻擊

到目前為止,我們專注于您可以使用NGINX和NGINX Plus來幫助減輕DDoS攻擊的影響。但NGINX或NGINX Plus如何幫助您發現DDoS攻擊呢?該NGINX加狀態模塊 提供了有關被負載后端服務器,你可以用它來發現異常流量模式平衡交通的詳細指標。NGINX Plus附帶了一個狀態儀表板網頁,以圖形方式描述了NGINX Plus系統的當前狀態(請參閱demo.nginx.com上的示例)。通過API也可以使用相同的指標,您可以使用它將指標提供給自定義或第三方監控系統,您可以在其中進行歷史趨勢分析以發現異常模式并啟用警報。

參考

https://www.nginx.com/blog/mitigating-ddos-attacks-with-nginx-and-nginx-plus

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人写真视频福利网| 久久91超碰青草是什么| 2018中文字幕一区二区三区| 亚洲欧美日韩区| 欧美一性一乱一交一视频| 国产精品18久久久久久首页狼| 国产精自产拍久久久久久| 97精品国产97久久久久久| 97香蕉久久夜色精品国产| 国产午夜精品理论片a级探花| 国产精品白丝jk喷水视频一区| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲xxxx在线| 欧美丰满少妇xxxxx做受| 日韩av免费在线| 久久97精品久久久久久久不卡| 亚洲一区二区三区视频播放| 国产精品尤物福利片在线观看| 国产精品久久久久9999| 91美女片黄在线观| 亚洲人成伊人成综合网久久久| 亚洲第一精品自拍| 91精品综合久久久久久五月天| 91久久久久久久久久久久久| 国产精品香蕉av| 日韩精品在线电影| 欧美日韩美女视频| 最近2019年中文视频免费在线观看| 国产欧美日韩精品丝袜高跟鞋| 亚洲国产精品女人久久久| 精品国产一区二区三区久久狼5月| 国产精品国产三级国产aⅴ9色| 亚洲毛片在线观看| 欧美一级电影免费在线观看| 欧美另类极品videosbest最新版本| 成人免费激情视频| 欧美二区乱c黑人| 国产精品入口免费视| 日本国产欧美一区二区三区| 亚洲天堂网站在线观看视频| 538国产精品一区二区在线| 国产精品久久久久久av下载红粉| 欧美视频在线免费看| 日韩免费中文字幕| 亚洲高清一区二| 夜夜嗨av色综合久久久综合网| 91亚洲精华国产精华| 国产精品专区第二| 日韩av免费在线| 国产精品国产福利国产秒拍| 亚洲日韩中文字幕在线播放| 最近2019年日本中文免费字幕| 久久影院模特热| 91高清免费在线观看| 久久精品国产亚洲精品2020| 亚洲一二三在线| 国产精品精品国产| 日韩在线观看免费高清完整版| 亚洲色图偷窥自拍| 国产极品精品在线观看| 九九热精品视频在线播放| 8050国产精品久久久久久| 亚洲xxxx做受欧美| 亚洲免费av网址| 国产97人人超碰caoprom| 国产精品香蕉在线观看| 欧美另类xxx| 亚洲视频欧美视频| 国产精品尤物福利片在线观看| 国外成人在线直播| 精品久久中文字幕| 中文在线不卡视频| 97视频免费观看| 久久久999国产精品| 亚洲成在人线av| 国产精品91久久久| www.亚洲一区| 欧美日韩免费区域视频在线观看| 欧美疯狂xxxx大交乱88av| 亚洲欧洲中文天堂| 国产成人一区二区三区电影| 38少妇精品导航| 国产欧美在线看| 亚洲精品资源美女情侣酒店| 久久久久亚洲精品国产| 77777亚洲午夜久久多人| 中文字幕免费国产精品| 亚州av一区二区| 91超碰caoporn97人人| 欧洲中文字幕国产精品| 中文字幕在线国产精品| 亚洲成人精品久久久| 亚洲第一精品夜夜躁人人躁| 日本久久亚洲电影| 中文字幕国产亚洲2019| 国产亚洲精品美女久久久久| 欧美激情视频免费观看| 国产一区二中文字幕在线看| 国产精品成人av在线| 精品成人在线视频| 日韩欧美中文在线| 亚洲一区二区三区在线免费观看| 九九九热精品免费视频观看网站| 亚洲第五色综合网| 亚洲色图欧美制服丝袜另类第一页| 992tv在线成人免费观看| 亚洲美腿欧美激情另类| 国产成人在线亚洲欧美| 精品久久国产精品| 久久影院中文字幕| 欧美日本啪啪无遮挡网站| 国产在线不卡精品| 8090成年在线看片午夜| 国内精品久久久| 欧美日韩国产麻豆| 欧美激情综合色综合啪啪五月| 久久视频免费观看| 91九色国产在线| 粗暴蹂躏中文一区二区三区| 国产视频精品va久久久久久| 91精品免费看| 欧美中文在线字幕| 亚洲男人天堂2023| 国产精品va在线| 国产精品第七十二页| 国产精品久久久久久久久久三级| 国产精品久久久久久久久久久不卡| 777午夜精品福利在线观看| 日韩欧美中文在线| 91色在线视频| 国产v综合v亚洲欧美久久| 亚洲国产精彩中文乱码av| 日韩69视频在线观看| 国内精品久久久久影院优| 日韩免费看的电影电视剧大全| 亚洲黄色成人网| 国产一区二区三区高清在线观看| 中文字幕在线日韩| 日韩在线一区二区三区免费视频| 亚洲精品国产电影| 亚洲日本欧美中文幕| 亚洲欧美日韩天堂一区二区| 欧美成人精品激情在线观看| 欧美韩国理论所午夜片917电影| 国产精品视频色| 日韩av三级在线观看| 国语自产精品视频在线看抢先版图片| 国产精品老女人精品视频| 日韩精品极品在线观看| 一本色道久久综合狠狠躁篇怎么玩| 有码中文亚洲精品| 97免费中文视频在线观看| 国产精品爽黄69天堂a| 这里只有精品久久| 欧美另类在线观看| 亚洲的天堂在线中文字幕| 亚洲人成电影网站| 97色在线播放视频| 久久久成人精品| 亚洲春色另类小说| 少妇精69xxtheporn| 日韩精品免费在线视频观看| 欧美日韩在线视频观看| 国产91久久婷婷一区二区|