国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

使用Nginx、Nginx Plus抵御DDOS攻擊的方法

2024-08-30 12:21:38
字體:
供稿:網(wǎng)友
DDOS 是一種通過大流量的請(qǐng)求對(duì)目標(biāo)進(jìn)行轟炸式訪問,導(dǎo)致提供服務(wù)的服務(wù)器資源耗盡進(jìn)而無法繼續(xù)提供服務(wù)的攻擊手段。這篇文章主要介紹了使用Nginx、Nginx Plus抵御DDOS攻擊的方法,感興趣的小伙伴們可以參考一下

DDOS 是一種通過大流量的請(qǐng)求對(duì)目標(biāo)進(jìn)行轟炸式訪問,導(dǎo)致提供服務(wù)的服務(wù)器資源耗盡進(jìn)而無法繼續(xù)提供服務(wù)的攻擊手段。

一般情況下,攻擊者通過大量請(qǐng)求與連接使服務(wù)器處于飽和狀態(tài),以至于無法接受新的請(qǐng)求或變得很慢。

一、應(yīng)用層DDOS攻擊的特征

應(yīng)用層(七層/HTTP層)DDOS 攻擊通常由木馬程序發(fā)起,其可以通過設(shè)計(jì)更好的利用目標(biāo)系統(tǒng)的脆弱點(diǎn)。例如,對(duì)于無法處理大量并發(fā)請(qǐng)求的系統(tǒng),僅僅通過建立大量的連接,并周期性的發(fā)出少量數(shù)據(jù)包來保持會(huì)話就可以耗盡系統(tǒng)的資源,使其無法接受新的連接請(qǐng)求達(dá)到 DDOS 的目的。其他還有采用發(fā)送大量連接請(qǐng)求發(fā)送大數(shù)據(jù)包的請(qǐng)求進(jìn)行攻擊的形式。因?yàn)楣羰怯赡抉R程序發(fā)起,攻擊者可以在很短時(shí)間內(nèi)快速建立大量的連接,并發(fā)出大量的請(qǐng)求。

以下是一些DDOS的特證,我們可以據(jù)此特征來抵抗 DDOS(包括但不限于):

攻擊經(jīng)常來源于一些相對(duì)固定的 IP 或 IP 段,每個(gè) IP 都有遠(yuǎn)大于真實(shí)用戶的連接數(shù)和請(qǐng)求數(shù)。(備注:這并不表明這種請(qǐng)求都是代表著 DDOS 攻擊。在很多使用NAT的網(wǎng)絡(luò)架構(gòu)中,很多的客戶端使用網(wǎng)關(guān)的 IP 地址訪問公網(wǎng)資源。但是,即便如此,這樣的請(qǐng)求數(shù)和連接數(shù)也會(huì)遠(yuǎn)少于 DDOS 攻擊。) 因?yàn)楣羰怯赡抉R發(fā)出且目的是使服務(wù)器超負(fù)荷,請(qǐng)求的頻率會(huì)遠(yuǎn)遠(yuǎn)超過正常人的請(qǐng)求。 User-Agent 通常是一個(gè)非標(biāo)準(zhǔn)的值 Referer 有時(shí)是一個(gè)容易聯(lián)想到攻擊的值

二、使用Nginx、Nginx Plus抵抗DDOS攻擊

結(jié)合上面提到的 DDOS 攻擊的特征,Nginx、Nginx Plus有很多的特性可以用來有效的防御 DDOS 攻擊,可以從調(diào)整入口訪問流量和控制反向代理到后端服務(wù)器的流量兩個(gè)方面來達(dá)到抵御 DDOS 攻擊的目的。

1. 限制請(qǐng)求速度

設(shè)置 Nginx、Nginx Plus 的連接請(qǐng)求在一個(gè)真實(shí)用戶請(qǐng)求的合理范圍內(nèi)。比如,如果你覺得一個(gè)正常用戶每兩秒可以請(qǐng)求一次登錄頁面,你就可以設(shè)置 Nginx 每兩秒鐘接收一個(gè)客戶端 IP 的請(qǐng)求(大約等同于每分鐘30個(gè)請(qǐng)求)。

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

`limit_req_zone` 命令設(shè)置了一個(gè)叫 one 的共享內(nèi)存區(qū)來存儲(chǔ)請(qǐng)求狀態(tài)的特定鍵值,在上面的例子中是客戶端 IP($binary_remote_addr)。location 塊中的 `limit_req` 通過引用 one 共享內(nèi)存區(qū)來實(shí)現(xiàn)限制訪問 /login.html 的目的。

2. 限制連接數(shù)量

設(shè)置 Nginx、Nginx Plus 的連接數(shù)在一個(gè)真實(shí)用戶請(qǐng)求的合理范圍內(nèi)。比如,你可以設(shè)置每個(gè)客戶端 IP 連接 /store 不可以超過10個(gè)。

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

`limit_conn_zone` 命令設(shè)置了一個(gè)叫 addr 的共享內(nèi)存區(qū)來存儲(chǔ)特定鍵值的狀態(tài),在上面的例子中是客戶端 IP( $binary_remote_addr)。location 塊中 `limit_conn` 通過引用 addr 共享內(nèi)存區(qū)來限制到 /store/ 的最大連接數(shù)為10。

3. 關(guān)閉慢連接

有一些 DDOS 攻擊,比如 Slowlris,是通過建立大量的連接并周期性的發(fā)送一些數(shù)據(jù)包保持會(huì)話來達(dá)到攻擊目的,這種周期通常會(huì)低于正常的請(qǐng)求。這種情況我們可以通過關(guān)閉慢連接來抵御攻擊。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 望都县| 吴堡县| 新巴尔虎右旗| 沐川县| 沾化县| 思茅市| 获嘉县| 文安县| 内乡县| 赤壁市| 宜川县| 合山市| 晋宁县| 安顺市| 汝州市| 潢川县| 凤阳县| 庆元县| 翁牛特旗| 康保县| 青岛市| 麦盖提县| 仲巴县| 沂南县| 宜君县| 富蕴县| 固始县| 郸城县| 乌海市| 宁远县| 苍梧县| 喜德县| 旬邑县| 鹤山市| 通榆县| 吉木乃县| 新蔡县| 红原县| 安康市| 治多县| 乌鲁木齐市|