一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - 配置Nginx服務器防止Flood攻擊的方法

配置Nginx服務器防止Flood攻擊的方法

2019-10-29 16:14goldensun Nginx

這篇文章主要介紹了配置Nginx服務器防止Flood攻擊的方法,包括PHP的應用請求限制等降低負載的措施,需要的朋友可以參考下

測試

我會簡單的告訴你如何配置Nginx的限制請求模塊并且它是如何保護你的網站,防止你被攻擊與DDOS或是其他基于HTTP的拒絕服務攻擊。

這個測試中,我將樣本頁在保存在Blitz.io(現在是免費服務)命名為about.html,用于測試limit_req指令.

首先,我在Blitz上使用下面的指令,用來發起1075個并發請求并且持續一分鐘,響應超時設置為2分鐘,區域為加州,同時設置了除掉狀態200以外的其他狀態全部為異常狀態,甚至是503都被認為是沒有成功.

-p 1-1075:60 --status 200 -T 2000 -r california http://kbeezie.com/about.html

配置Nginx服務器防止Flood攻擊的方法

 還不算壞,對不對? 但如果這是一個php文檔. 很可能有用戶會造成PHP進程的502/504狀態,讓服務器一直崩潰或無響應. 尤其是你使用了沒有任何保護的VPS或者其他廉價服務器,故障率會更高。(原文廣告,此處屏蔽)

當然你可以使用緩存或其他工具來提高服務器性能與響應能力, 就比如你使用WordPress你肯定要使用wordpress caching plugin. da For those type of people we can use the limit request module.

在Nginx中我們創建一個區域http { },我叫他blitz設置每秒5次請求, 最大容納數據量為10MB.我使用$binary_remote_addr當作session變量 讓你自己比$remote_addr的正常訪客可以訪問大于10MB的空間.

 

復制代碼代碼如下:
limit_req_zone $binary_remote_addr zone=blitz:10m rate=5r/s;

 

然周在服務器中定義上這些規則:

 

復制代碼代碼如下:
location = /about.html {
 limit_req zone=blitz nodelay;
}

 


然后重新載入Nginx配置,看一下效果: 

配置Nginx服務器防止Flood攻擊的方法

 你會發現現在大于只有285人可以訪問到服務器,每秒請求數為4.75 ,沒有超過我們設置的5次每秒,檢查日志你會發現沒有訪問到的請求都是HTTP 503,訪問到的都是HTTP 200.

使用這樣的設置對于想限制地區訪問是很有幫助的,它也可以應用在所有的php請求上.

PHP 應用請求限制

如果你想限制所有的PHP應用限制,你可以這樣做:

 

復制代碼代碼如下:
location ~ \.php {
 limit_req   zone=flood;
 include php_params.conf;
 fastcgi_pass unix:/tmp/php5-fpm.sock;
}

 

它可以幫你玩意些設置項像加速或減速,以應對突發或無延時需求. 配置項詳情,猛擊這里: HttpLimitReqModule.
注:

你可能注意到上面的圖表測試了1075個用戶請求,這里有個誤導,因為所有的訪問請求都來自與位于加州的同一個IP(50.18.0.223).


我很難實現一個真實的高流量網絡或者DDOS (分布式拒絕服務攻擊).這也就是為什么我們訪問成功的用戶的數量跟IP不是很大. 服務器負載也會影響測試用戶的訪問數或者地區. 使用免費版本你可以最多并發訪問到的用戶數是50個. 當然你可以花每天$49美刀讓1000個用戶訪問你的網站.

如果你有足夠的內存跟帶寬,用單一IP地址測試是很容易的. 用這個工具就可以實現: 高并發量, ab, openload等等. 只不過是在終端界面,沒有UI而已.

當然你要自己測試, 記住要使用status flag,因為Blitz會在5秒左右后響應訪問請求.

更好的替換方案

這里不會深入講解更多細節, 如果你認真的想阻止攻擊你服務器的DDOS或multi-service attack,還有其他很棒的軟件工具像 iptables (linux), pf (packet filter for BSD) , 或者你的服務器提供硬件的話,你可以使用你的硬件防火墻 . 上述的限制模塊只會阻止通過HTTP請求過來的洪水攻擊,它不會阻止ping包洪水攻擊或者其他的漏洞,對于這些情況你可以關閉不需要的服務和不需要的端口,以防止別人的突破.

舉個例子,我的服務器對外網公開的端口只有HTTP/HTTPS和SSH. 像MySQL這些服務之綁定本地連接. 也可以將一些通用服務設置成不常用的端口上,這樣就不會被嗅探器(iptables/pf會對這種情況有幫助). 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91国内精品久久久久怡红院 | 国产精品成人一区二区 | 无码国产成人777爽死 | 波多野结衣教师未删减版 | 成人综合婷婷国产精品久久免费 | 久久中文字幕亚洲精品最新 | 大胸被c出奶水嗷嗷叫 | 亚洲福利视频一区 | 55夜色66夜亚州精品站 | 国产伦精品一区二区三区免 | 我在厨房摸岳的乳HD在线观看 | 欧美在线观看一区二区三 | 国产99青草全福视在线 | 99热人人 | 免费精品在线视频 | 色综合久久98天天综合 | 色综久久天天综合绕视看 | gangbang日本 | 成人毛片高清视频观看 | 香蕉97超级碰碰碰免费公 | 日本加勒比在线播放 | 5555kkkk香蕉在线观看 | 成人免费视频一区二区三区 | 欧美日韩国产成人综合在线 | 日本一道本视频 | 视频一区二区三区在线观看 | japanesemoms乱熟| 欧美一区二区三区精品 | 惩罚美女妲己的尤老师 | 国产123区在线视频观看 | 91中文在线 | 日本肉体xxxx | 岛国片免费观看 | 男人香蕉好大好爽视频 | 国产成人精品视频一区 | 亚洲天堂成人在线观看 | 干操视频 | 国产草| 国产综合第一页 | 高h禁伦奶水女 | chinese国产人妖hd|