欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

配置Nginx服務(wù)器防止Flood攻擊的方法

 更新時(shí)間:2015年06月26日 15:13:10   投稿:goldensun  
這篇文章主要介紹了配置Nginx服務(wù)器防止Flood攻擊的方法,包括PHP的應(yīng)用請(qǐng)求限制等降低負(fù)載的措施,需要的朋友可以參考下

 測(cè)試

我會(huì)簡(jiǎn)單的告訴你如何配置Nginx的限制請(qǐng)求模塊并且它是如何保護(hù)你的網(wǎng)站,防止你被攻擊與DDOS或是其他基于HTTP的拒絕服務(wù)攻擊。

這個(gè)測(cè)試中,我將樣本頁(yè)在保存在Blitz.io(現(xiàn)在是免費(fèi)服務(wù))命名為about.html,用于測(cè)試limit_req指令.

首先,我在Blitz上使用下面的指令,用來(lái)發(fā)起1075個(gè)并發(fā)請(qǐng)求并且持續(xù)一分鐘,響應(yīng)超時(shí)設(shè)置為2分鐘,區(qū)域?yàn)榧又荩瑫r(shí)設(shè)置了除掉狀態(tài)200以外的其他狀態(tài)全部為異常狀態(tài),甚至是503都被認(rèn)為是沒(méi)有成功.

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

2015626145512077.jpg (800×678)

 還不算壞,對(duì)不對(duì)? 但如果這是一個(gè)php文檔. 很可能有用戶會(huì)造成PHP進(jìn)程的502/504狀態(tài),讓服務(wù)器一直崩潰或無(wú)響應(yīng). 尤其是你使用了沒(méi)有任何保護(hù)的VPS或者其他廉價(jià)服務(wù)器,故障率會(huì)更高。(原文廣告,此處屏蔽)

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

在Nginx中我們創(chuàng)建一個(gè)區(qū)域http { },我叫他blitz設(shè)置每秒5次請(qǐng)求, 最大容納數(shù)據(jù)量為10MB.我使用$binary_remote_addr當(dāng)作session變量 讓你自己比$remote_addr的正常訪客可以訪問(wèn)大于10MB的空間.

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

然周在服務(wù)器中定義上這些規(guī)則:

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


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

2015626145841837.jpg (800×678)

 你會(huì)發(fā)現(xiàn)現(xiàn)在大于只有285人可以訪問(wèn)到服務(wù)器,每秒請(qǐng)求數(shù)為4.75 ,沒(méi)有超過(guò)我們?cè)O(shè)置的5次每秒,檢查日志你會(huì)發(fā)現(xiàn)沒(méi)有訪問(wèn)到的請(qǐng)求都是HTTP 503,訪問(wèn)到的都是HTTP 200.

使用這樣的設(shè)置對(duì)于想限制地區(qū)訪問(wèn)是很有幫助的,它也可以應(yīng)用在所有的php請(qǐng)求上.

PHP 應(yīng)用請(qǐng)求限制

如果你想限制所有的PHP應(yīng)用限制,你可以這樣做:

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

它可以幫你玩意些設(shè)置項(xiàng)像加速或減速,以應(yīng)對(duì)突發(fā)或無(wú)延時(shí)需求. 配置項(xiàng)詳情,猛擊這里: HttpLimitReqModule.
注:

你可能注意到上面的圖表測(cè)試了1075個(gè)用戶請(qǐng)求,這里有個(gè)誤導(dǎo),因?yàn)樗械脑L問(wèn)請(qǐng)求都來(lái)自與位于加州的同一個(gè)IP(50.18.0.223).


我很難實(shí)現(xiàn)一個(gè)真實(shí)的高流量網(wǎng)絡(luò)或者DDOS (分布式拒絕服務(wù)攻擊).這也就是為什么我們?cè)L問(wèn)成功的用戶的數(shù)量跟IP不是很大. 服務(wù)器負(fù)載也會(huì)影響測(cè)試用戶的訪問(wèn)數(shù)或者地區(qū). 使用免費(fèi)版本你可以最多并發(fā)訪問(wèn)到的用戶數(shù)是50個(gè). 當(dāng)然你可以花每天$49美刀讓1000個(gè)用戶訪問(wèn)你的網(wǎng)站.

如果你有足夠的內(nèi)存跟帶寬,用單一IP地址測(cè)試是很容易的. 用這個(gè)工具就可以實(shí)現(xiàn): 高并發(fā)量, ab, openload等等. 只不過(guò)是在終端界面,沒(méi)有UI而已.

當(dāng)然你要自己測(cè)試, 記住要使用status flag,因?yàn)锽litz會(huì)在5秒左右后響應(yīng)訪問(wèn)請(qǐng)求.

更好的替換方案

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

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

相關(guān)文章

  • 記錄Nginx服務(wù)器的Split Clients模塊配置過(guò)程

    記錄Nginx服務(wù)器的Split Clients模塊配置過(guò)程

    這篇文章主要介紹了Nginx服務(wù)器的Split Clients模塊的配置過(guò)程記錄,ngx-http-split-clients模塊用于切分客戶端連接,需要的朋友可以參考下
    2016-01-01
  • nginx添加nginx-sticky-module模塊步驟的實(shí)現(xiàn)

    nginx添加nginx-sticky-module模塊步驟的實(shí)現(xiàn)

    nginx-sticky-module模塊是nginx實(shí)現(xiàn)負(fù)載均衡的一種方案,和ip_hash負(fù)載均衡算法會(huì)有區(qū)別的,本文主要介紹了nginx添加nginx-sticky-module模塊步驟的實(shí)現(xiàn),感興趣的可以了解一下
    2023-08-08
  • Nginx中的主要應(yīng)用場(chǎng)景解讀

    Nginx中的主要應(yīng)用場(chǎng)景解讀

    這篇文章主要介紹了Nginx中的主要應(yīng)用場(chǎng)景解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Nginx上傳文件大小的簡(jiǎn)單修改方法

    Nginx上傳文件大小的簡(jiǎn)單修改方法

    這篇文章主要給大家介紹了關(guān)于Nginx上傳文件大小的簡(jiǎn)單修改方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Nginx安裝后/etc/nginx/conf.d下沒(méi)有default.conf的解決

    Nginx安裝后/etc/nginx/conf.d下沒(méi)有default.conf的解決

    nginx.conf是nginx默認(rèn)加載的配置文件 通過(guò)nginx -V可以看nginx默認(rèn)配置文件路徑,本文主要介紹了Nginx安裝后/etc/nginx/conf.d下沒(méi)有default.conf的解決,感興趣的可以了解一下
    2023-11-11
  • 詳解nginx 代理多個(gè)服務(wù)器(多個(gè)server方式)

    詳解nginx 代理多個(gè)服務(wù)器(多個(gè)server方式)

    本篇文章主要介紹了詳解nginx 代理多個(gè)服務(wù)器(多個(gè)server方式),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • Nginx 日志輪轉(zhuǎn)的實(shí)現(xiàn)示例

    Nginx 日志輪轉(zhuǎn)的實(shí)現(xiàn)示例

    Nginx日志輪轉(zhuǎn)是監(jiān)控和調(diào)試Web服務(wù)器的重要工具,通過(guò)定期歸檔、壓縮和清理日志文件,可以節(jié)省磁盤空間、提高性能并方便故障排查,下面就來(lái)介紹一下
    2024-12-12
  • Nginx搭建自己的CDN服務(wù)器的方法步驟

    Nginx搭建自己的CDN服務(wù)器的方法步驟

    本文主要介紹了Nginx搭建自己的CDN服務(wù)器的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Linux環(huán)境下安裝nginx教程

    Linux環(huán)境下安裝nginx教程

    大家好,本篇文章主要講的是Linux環(huán)境下安裝nginx教程,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Nginx?簡(jiǎn)介、安裝與配置文件詳解

    Nginx?簡(jiǎn)介、安裝與配置文件詳解

    Nginx是一款輕量級(jí)和高性能的?Web?服務(wù)器、反向代理服務(wù)器、電子郵件(IMAP/POP3/SMTP)代理服務(wù)器,是帶有?BSD-like?協(xié)議的開(kāi)源產(chǎn)品,這篇文章主要介紹了Nginx?簡(jiǎn)介、安裝與配置文件詳解,需要的朋友可以參考下
    2024-04-04

最新評(píng)論