DDoS攻擊與防御

轉載自 http://www.cnblogs.com/forsaken/p/6663810.html

分布式拒絕服務攻擊的精髓是,利用分布式的客戶端,向服務提供者發(fā)起大量看似合法的請求,消耗或長期占用大量資源,從而達到拒絕服務的目的。
從不同的角度看,分布式拒絕服務攻擊的方法有不同的分類標準。
依據(jù)消耗目標資源的不同,可分為攻擊網(wǎng)絡帶寬資源、攻擊系統(tǒng)資源和攻擊應用資源三類。
依據(jù)攻擊數(shù)據(jù)包發(fā)送的頻率和速度來劃分,又可以分為洪水攻擊和慢速攻擊。

1. 攻擊網(wǎng)絡帶寬資源

無論是服務器的網(wǎng)絡接口帶寬,還是路由器、交換機等互聯(lián)網(wǎng)基礎設施,其數(shù)據(jù)包處理能力都是存在著事實上的上限的,當?shù)竭_或通過的網(wǎng)絡數(shù)據(jù)包數(shù)量超過了這個上限時,就會出現(xiàn)網(wǎng)絡擁堵、響應緩慢的情況。
消耗網(wǎng)絡帶寬資源的DDos攻擊就是根據(jù)這個原理,利用受控主機發(fā)送大量的網(wǎng)絡數(shù)據(jù)包,占滿被攻擊目標的全部帶寬,從而使正常的請求無法得到及時有效的響應,造成拒絕服務。

1.1 直接攻擊

1.1.1 ICMP/IGMP洪水攻擊

網(wǎng)絡控制消息協(xié)議ICMP用于在TCP/IP網(wǎng)絡中發(fā)送控制信息,因特網(wǎng)組管理協(xié)議IGMP用于管理因特網(wǎng)協(xié)議多播組成員。
攻擊者使用受控主機向被攻擊目標發(fā)送大量的ICMP/IGMP報文,進行洪水攻擊以消耗目標的帶寬資源。
這種類型的攻擊出現(xiàn)得很早,但現(xiàn)在已不多見,被攻擊目標可以在其網(wǎng)絡邊界直接過濾并丟棄ICMP/IGMP數(shù)據(jù)包使攻擊無效。

1.1.2 UDP洪水攻擊

用戶數(shù)據(jù)報協(xié)議UDP是一種面向無連接的傳輸層協(xié)議,主要用于不要求分組順序到達的傳輸目的。
利用UDP數(shù)據(jù)報文,攻擊者可以發(fā)動洪水攻擊,通常會分為小包和大包兩種攻擊方式。
小包是指64字節(jié)大小的數(shù)據(jù)包,這是以太網(wǎng)上傳輸數(shù)據(jù)幀的最小值。
在相同流量下,單包體積越小,包數(shù)量就越多。
由于交換機、路由器等網(wǎng)絡設備需要對每一個數(shù)據(jù)包進行檢查和校驗,因此使用UDP小包攻擊能夠最有效地增大網(wǎng)絡設備處理數(shù)據(jù)包的壓力,造成處理速度的緩慢和傳輸延遲等拒絕服務效果。
大包是指1500字節(jié)以上的數(shù)據(jù)包,其大小超過了以太網(wǎng)的MTU最大傳輸單元,使用UDP大包攻擊,能夠有效地占用網(wǎng)絡接口的傳輸帶寬,并迫使被攻擊目標在接收到UDP數(shù)據(jù)時進行分片重組,造成網(wǎng)絡擁堵,服務響應緩慢。
UDP洪水攻擊出現(xiàn)得很早,它完全依靠受控主機本身的網(wǎng)絡性能,通常對攻擊目標帶寬資源的消耗并不太大。

1.2 反射和放大攻擊

1.2.1 ACK反射攻擊

在傳輸控制協(xié)議TCP建立連接時,首先會進行TCP三次握手。
在此過程中,當服務器端接收到客戶端發(fā)來的SYN連接請求時,會對該請求進行ACK應答。
利用TCP握手的ACK應答,即可進行ACK反射攻擊。
如果攻擊者將SYN的源IP地址偽造成被攻擊目標的IP地址,服務器的應答也就會發(fā)送給被攻擊目標。
由于使用TCP協(xié)議的服務在互聯(lián)網(wǎng)上廣泛存在,攻擊者可以通過受控主機向大量不同的服務器發(fā)送偽造源IP地址的SYN請求,從而使服務器響應的大量ACK應答數(shù)據(jù)涌向被攻擊目標,占用目標的網(wǎng)絡帶寬資源并造成拒絕服務。
在發(fā)動ACK反射攻擊時,首先需要進行掃描,獲得大量的反射器地址,并分別向這些反射器發(fā)送偽造源地址的SYN請求數(shù)據(jù)。
ACK反射攻擊的優(yōu)點主要在于能夠比較有效地隱藏攻擊的來源。

1.2.2 DNS放大攻擊

域名系統(tǒng)DNS是因特網(wǎng)的一項核心服務,它將域名和IP地址相互映射。DNS使用TCP/UDP 53端口通信,主要使用UDP協(xié)議。
通常,DNS響應數(shù)據(jù)包會比查詢數(shù)據(jù)包大,因此攻擊者利用普通的DNS查詢請求就能夠發(fā)動放大攻擊。
在以前,對DNS查詢的響應數(shù)據(jù)包被限制在512字節(jié)以內,多余的字節(jié)根據(jù)實現(xiàn)的不同可能會被丟棄或使用TCP協(xié)議建立連接并重傳。
后來出現(xiàn)了DNS擴展機制EDNS0擴展了DNS數(shù)據(jù)包的結構,增加了OPT RR字段。
該字段包含了客戶端能夠處理的最大UDP報文大小的信息,服務端在響應DNS請求時,根據(jù)該字段的大小生成響應報文。
攻擊者發(fā)送的DNS查詢請求數(shù)據(jù)包大小一般為60字節(jié)左右,而查詢返回結果的數(shù)據(jù)包大小通常在3000字節(jié)以上。使用該方式進行放大攻擊能夠達到50倍以上的放大效果。
發(fā)動DNS放大攻擊需要先進行掃描,獲得大量的開放DNS解析器地址,并向這些地址發(fā)送偽造源IP的查詢命令來放大攻擊流量。

1.2.3 NTP放大攻擊

網(wǎng)絡時間協(xié)議NTP用于使計算機與時鐘源進行同步和校正,它使用UDP 123端口通信。
NTP協(xié)議的monlist請求能夠獲取與目標NTP服務器進行同步的最近600個客戶端的IP地址等信息。
這意味著,只需要發(fā)送一個很小的請求包,就能夠觸發(fā)大量連續(xù)的UDP響應數(shù)據(jù)包。
使用該方式進行放大攻擊能夠達到700倍以上的放大效果。
發(fā)動NTP放大攻擊需要先進行掃描,獲得大量的NTP服務器,并向這些NTP服務器發(fā)送偽造源地址的請求來放大攻擊流量。

1.2.4 SNMP放大攻擊

簡單網(wǎng)絡管理協(xié)議SNMP是目前網(wǎng)絡中應用最為廣泛的網(wǎng)絡管理協(xié)議,它使用UDP 161端口通信。
攻擊者向廣泛存在并開啟了SNMP服務的網(wǎng)絡設備發(fā)送GetBulk請求,使用默認通信字符串作為認證憑據(jù),并將源IP地址偽造成攻擊目標的IP地址。
設備收到GetBulk請求后,會將響應結果發(fā)送給攻擊目標。當大量的響應結果涌向攻擊目標時,就會導致攻擊目標網(wǎng)絡擁堵和緩慢,造成拒絕服務。
使用該方式進行放大攻擊能夠達到25倍以上的放大效果。
在發(fā)動SNMP放大攻擊時,需要先進行掃描,獲得開放SNMP協(xié)議的網(wǎng)絡設備,雖然開放SNMP協(xié)議的網(wǎng)絡設備很多,但是還需要猜測它們使用的默認通信字符串,因此該方式更復雜一些。

2.攻擊系統(tǒng)資源

終端設備在與服務器進行通信時,經(jīng)常需要創(chuàng)建會話連接,在此過程中通常會使用TCP和SSL等協(xié)議。
會話連接一旦被占滿,新進入的會話請求就必須等待前面的會話完成。
消耗系統(tǒng)資源的DDoS攻擊的主要目的就是對系統(tǒng)維護的連接資源進行消耗和占用,阻止正常連接的建立,從而達到拒絕服務的目的。

2.1 攻擊TCP連接

2.1.1 TCP連接洪水攻擊

在TCP三次握手的過程中,服務器會創(chuàng)建并保存TCP連接的信息到連接表中。連接表的大小是有限的,一旦服務器接收到的連接數(shù)量超過了連接表能存儲的數(shù)量,服務器就無法創(chuàng)建新的TCP連接了。
攻擊者可以利用大量受控主機,通過快速建立大量惡意的TCP連接占滿被攻擊目標的連接表,使目標無法接受新的TCP連接請求,從而達到拒絕服務攻擊的目的。

2.1.2 SYN洪水攻擊

在建立TCP連接的過程中,如果在服務器返回SYN+ACK報文后,客戶端沒有對其進行確認,服務器就需要重傳SYN+ACK報文,并等待客戶端的確認報文直到TCP連接超時。
這種等待客戶端確認的連接狀態(tài)通常被稱為半開連接。在連接超時之前,半開連接會一直保存在服務器的連接表中。
由于連接表的大小是有限的,如果在短時間內產(chǎn)生大量的半開連接,而這些連接又無法很快地結束,連接表就會迅速被占滿,導致新的TCP連接無法建立。
SYN洪水攻擊就是攻擊者利用受控主機發(fā)送大量的SYN報文,使服務器打開大量的半開連接,占滿服務器的連接表,從而影響正常用戶與服務器建立會話,造成拒絕服務。
這種攻擊方式會很明顯地暴露出攻擊者的IP地址,同時響應報文會作為反射流量占用攻擊者的帶寬資源。
更好的方式是將SYN報文的源IP地址隨機偽造成其他地址,這樣攻擊目標會將應答發(fā)送給偽造地址,從而占用連接資源并隱藏攻擊來源。

2.1.3 PSH+ACK洪水攻擊

由于帶有PSH標志位的TCP數(shù)據(jù)包會強制要求接收端將接收緩沖區(qū)清空并將數(shù)據(jù)提交給應用服務進行處理,因此當攻擊者利用受控主機向攻擊目標發(fā)送大量的PSH+ACK數(shù)據(jù)包時,被攻擊目標就會消耗大量的系統(tǒng)資源不斷地進行接收緩沖區(qū)的清空處理,導致無法正常處理數(shù)據(jù),從而造成拒絕服務。
單獨使用PSH+ACK洪水攻擊對服務器產(chǎn)生的影響并不十分明顯,更有效的方式是SYN洪水攻擊與ACK洪水攻擊相結合,這樣能夠繞過一部分防護設備,增強攻擊效果。

2.1.4 Sockstress慢速攻擊

在TCP傳輸數(shù)據(jù)時,會將數(shù)據(jù)臨時存儲在接收緩沖區(qū)中,該接收緩沖區(qū)的大小是由TCP窗口表示的。
如果TCP窗口大小為0則表示接收緩沖區(qū)已滿,發(fā)送端應該停止發(fā)送數(shù)據(jù),直到接收端窗口更新。
Sockstress慢速攻擊就是利用該原理長時間地維持TCP連接,以達到拒絕服務的目的。
Sockstress慢速攻擊首先會完成TCP三次握手以建立TCP連接,在最后的ACK應答中,攻擊者將其TCP窗口設置為0后再進行一次數(shù)據(jù)請求。
攻擊目標在傳輸數(shù)據(jù)時,發(fā)現(xiàn)接收端的TCP窗口大小為0就會停止傳輸數(shù)據(jù),并發(fā)出TCP窗口探測包,詢問攻擊者其TCP窗口是否更新。
由于攻擊者沒有更新TCP窗口大小,攻擊目標會一直維持TCP連接等待數(shù)據(jù)發(fā)送,并不斷進行窗口更新探測。
攻擊目標的TCP連接表將逐漸耗盡,無法接受新的連接而導致拒絕服務。
Sockstress慢速攻擊的另一種方式是將TCP窗口設置為一個非常小的值,這樣攻擊目標將不得不把需要發(fā)送的數(shù)據(jù)切分成大量很小的分片,這會極大地消耗目標的內存和處理器資源,造成系統(tǒng)響應緩慢和拒絕服務。

2.2 攻擊SSL連接

2.2.1 THC SSL DoS攻擊

在進行SSL數(shù)據(jù)傳輸之前,通信雙方首先要進行SSL握手,以協(xié)商加密算法交換加密密鑰,進行身份認證。
通常情況下,這樣的SSL握手過程只需要進行一次即可,但是在SSL協(xié)議中有一個Renegotiation選項,通過它可以進行密鑰的重新協(xié)商以建立新的密鑰。
THC SSL DoS攻擊就是這樣反復不斷地進行密鑰重新協(xié)商過程,該過程需要服務器投入比客戶端多15倍的CPU計算資源。
攻擊者只需要一臺普通PC就能夠拖慢一臺高性能服務器,如果有大量主機同時進行攻擊,就會使服務器忙于協(xié)商密鑰而完全停止響應。

2.2.2 SSL洪水攻擊

在SSL握手的過程中,服務器會消耗較多的CPU計算資源對數(shù)據(jù)先進行解密再進行有效性檢驗。
攻擊者可以利用這個特性進行SSL洪水攻擊。

3.攻擊應用資源

網(wǎng)絡應用和服務在處理數(shù)據(jù)時,通常需要消耗一定的網(wǎng)絡連接、計算和存儲資源,這些資源是由應用程序向系統(tǒng)進行申請并自行管理和維護的。
消耗應用資源的DDoS攻擊就是通過向應用提交大量消耗資源的請求,從而達到拒絕服務的目的。

3.1 攻擊DNS服務

3.1.1 DNS QUERY洪水攻擊

DNS QUERY洪水攻擊是指向DNS服務器發(fā)送大量查詢請求以達到拒絕服務效果的一種攻擊方法。
在DNS解析的過程中,客戶端發(fā)起一次查詢請求,DNS服務器可能需要進行額外的多次查詢才能完成解析的過程并給出應答,在這個過程中會消耗一定的計算和網(wǎng)絡資源。
如果攻擊者利用大量受控主機不斷發(fā)送不同域名的解析請求,那么DNS服務器的緩存會被不斷刷新,而大量解析請求不能命中緩存又導致DNS服務器必須消耗額外的資源進行迭代查詢,這會極大地增加DNS服務器的資源消耗,導致DNS響應緩慢甚至完全拒絕服務。
進行DNS QUERY洪水攻擊的要點在于每一個DNS解析請求所查詢的域名應是不同的,這樣可以比較有效地避開DNS服務器緩存中的解析記錄,達到更好的資源消耗效果。

3.1.2 DNS NXDOMAIN洪水攻擊

DNS NXDOMAIN洪水攻擊是DNS QUERY洪水攻擊的一個變種,它向DNS服務器查詢不存在的域名。
在進行DNS NXDOMAIN洪水攻擊時,DNS服務器會進行多次域名查詢,其緩存會被大量NXDOMAIN記錄所填滿,導致響應正常用戶的DNS解析請求的速度變慢。
與DNS QUERY洪水攻擊所達到的效果類似。

3.2 攻擊Web服務

3.2.1 HTTP洪水攻擊

在處理HTTP請求的過程中,Web服務器通常需要解析請求、處理和執(zhí)行服務端腳本、驗證用戶權限并多次訪問數(shù)據(jù)庫,這會消耗大量的計算資源和I/O訪問資源。
如果攻擊者利用大量受控主機不斷地向Web服務器惡意發(fā)送大量HTTP請求,要求Web服務器處理,就會完全占用服務器的資源,造成其他正常用戶的Web訪問請求處理緩慢甚至得不到處理,造成拒絕服務。
由于HTTP協(xié)議是基于TCP協(xié)議的,需要完成三次握手建立TCP連接才能開始HTTP通信,因此進行HTTP洪水攻擊時無法使用偽造源IP地址的方式發(fā)動攻擊。
這時,攻擊者通常會使用HTTP代理服務器,這樣不僅可以隱藏來源以避免被追查,還能夠提高攻擊的效率,攻擊者連接代理服務器并發(fā)送完請求后,可以直接切斷與該代理服務器的連接并開始連接下一個代理服務器。
這時代理服務器與目標Web服務器的HTTP連接依然保持,Web服務器需要繼續(xù)接收數(shù)據(jù)并處理HTTP請求。
Web服務也存在緩存機制,如果攻擊者的大量請求都命中了服務器緩存,那么這種攻擊的主要作用僅體現(xiàn)在消耗網(wǎng)絡帶寬資源上,對于計算和I/O資源的消耗是非常有限的。
因此,高效的HTTP洪水攻擊應不斷發(fā)出針對不同資源和頁面的HTTP請求,并盡可能請求無法被緩存的資源,從而加重服務器的負擔,增強攻擊效果。

3.2.2 Slowloris慢速攻擊

HTTP首部以連續(xù)的"\r\n\r\n"作為結束標志。許多Web服務器在處理HTTP請求的首部信息時,會等待首部傳輸結束后再進行處理。
如果Web服務器沒有接收到連續(xù)的"\r\n\r\n"標志,就會一直接收數(shù)據(jù)并保持與客戶端的連接。
利用這個特性,攻擊者能夠長時間與Web服務器保持連接,并逐漸耗盡Web服務器的連接資源,導致其他用戶的HTTP請求無法被處理,造成拒絕服務。

3.2.3 POST慢速攻擊

在HTTP首部信息中,可以使用Content-Length字段來指定HTTP消息實體的傳輸長度。
當Web服務器接收到的請求首部中含有Content-Length字段時,服務器會將該字段的值作為POST實體的長度,持續(xù)接收數(shù)據(jù)并在到達Content-Length值時對POST實體的數(shù)據(jù)內容進行處理。
攻擊者在發(fā)送HTTP POST請求時,在請求首部中將Content-Length設置為一個很大的值,并將POST實體以非常緩慢的速度一個字節(jié)一個字節(jié)的向Web服務器發(fā)送。
通過間隔性地發(fā)送單字節(jié)的POST實體內容,攻擊者能夠確保連接不因超時而中斷。
利用這個特性,攻擊者能夠長時間與Web服務器保持連接,并逐漸耗盡Web服務器的連接資源,導致其他用戶的HTTP請求無法被處理,造成拒絕服務。

4.防御

在發(fā)生DDoS攻擊的情況下,可以通過一些緩解技術來減少攻擊對自身業(yè)務和服務的影響,從而在一定程度上保障業(yè)務正常運行。
緩解DDoS攻擊的主要方法是對網(wǎng)絡流量先進行稀釋再進行清洗。

4.1 攻擊流量的稀釋

4.1.1 內容分發(fā)網(wǎng)絡 CDN

CDN技術的初衷是提高互聯(lián)網(wǎng)用戶對網(wǎng)站靜態(tài)資源的訪問速度,由于分布式多節(jié)點的特點,它也能夠對DDoS攻擊的流量產(chǎn)生稀釋的效果。
CDN在互聯(lián)網(wǎng)范圍內廣泛設置多個節(jié)點作為代理緩存,并將用戶的訪問請求導向最近的緩存節(jié)點,以加快訪問速度。
CDN使用智能DNS系統(tǒng),一個域名對應一張IP地址表,當收到域名解析請求時,智能DNS會查看解析請求的來源,并給出地址表中距離請求來源最近的IP地址。
用戶收到域名解析應答時,認為該CDN節(jié)點就是他請求的域名所對應的IP地址,并向該節(jié)點發(fā)起服務或資源請求。
CDN節(jié)點在收到用戶的請求時,會在其存儲的緩存內容中尋找用戶請求的資源,如果找到,就直接將資源響應給用戶,如果找不到,則作為代理服務器向源站請求資源并將結果緩存并返回給用戶。
對于有大量靜態(tài)資源的網(wǎng)站,使用CDN進行代理緩存能夠大大減少源站的訪問流量。
在發(fā)生DDoS攻擊時,智能DNS會將來自不同位置的攻擊流量分散到對應位置的CDN節(jié)點上,從而達到流量稀釋的效果。
利用CDN技術只能稀釋通過域名發(fā)起的DDoS攻擊的流量,如果攻擊者直接通過IP地址進行攻擊,就不會經(jīng)過智能DNS解析,也就無法稀釋流量了。

4.1.2 任播 Anycast

Anycast技術是一種網(wǎng)絡尋址和路由方法。通過使用它,多臺提供特定服務的服務器可以使用相同的IP地址,客戶端訪問請求報文將會被IP網(wǎng)絡路由到這一組服務器中最近的一臺之上。
Anycast技術通常是通過在不同的節(jié)點處同時使用BGP協(xié)議向外聲明同樣的目的IP地址的方式實現(xiàn)的。
使用Anycast技術能夠稀釋DDoS攻擊流量,在Anycast尋址過程中,流量會被導向最近的節(jié)點,攻擊者不能對流量路徑進行操控。
由于Anycast技術的高度可靠性,即使少數(shù)節(jié)點被DDoS攻擊打垮,其周圍客戶端的請求也能夠被快速地引導向其他可用的服務器,從而保證服務的高可用性。

4.2.攻擊流量的清洗

4.2.1 IP信譽檢查

IP信譽機制是指為互聯(lián)網(wǎng)上的IP地址賦予一定的信譽值,那些過去或現(xiàn)在經(jīng)常被作為僵尸主機發(fā)動DDoS攻擊的IP地址會被賦予較低的信譽值。
當發(fā)生DDoS攻擊時,流量清洗設備會對通過的網(wǎng)絡流量進行IP信譽檢查,優(yōu)先丟棄信譽值低的IP地址所發(fā)來的數(shù)據(jù)包或建立的會話連接。
IP信譽檢查的極端情況就是IP黑名單機制,如果數(shù)據(jù)包的來源存在于黑名單之中,則直接丟棄。
這種方式一般會造成較多的誤報。

4.2.2 攻擊特征匹配

多數(shù)情況下,發(fā)動DDoS攻擊需要借助工具,為了提高發(fā)送請求的效率,攻擊工具發(fā)出的數(shù)據(jù)包通常是由編寫者偽造并固化到工具中的,因此一種攻擊工具所發(fā)出的數(shù)據(jù)包載荷會具有一定的特征。
流量清洗設備可以將這些數(shù)據(jù)包載荷中的特征作為指紋,來識別工具所發(fā)出的攻擊流量。
命中指紋特征的數(shù)據(jù)包會被丟棄。

4.2.3 速度檢查與限制

一些攻擊方法在數(shù)據(jù)包載荷上可能并不存在明顯的特征,沒有辦法進行攻擊特征匹配,但卻在請求數(shù)據(jù)包發(fā)送的頻率和速度上有著明顯的異常。
這些攻擊方法可以通過速度與限制來進行清洗。
例如在受到THC SSL DoS攻擊時,會在同一個SSL會話中多次進行密鑰協(xié)商,而正常情況下是不會這樣的,因此當流量清洗設備發(fā)現(xiàn)SSL會話中密鑰協(xié)商的次數(shù)超過了特定的值,就可以中斷這個會話并將來源IP加入黑名單中。
再如受到Slowloris和POST慢速攻擊時,客戶端和服務器之間會以非常低的速率進行交互和數(shù)據(jù)傳輸,流量清洗設備在發(fā)現(xiàn)HTTP請求長時間沒有完成傳輸時,就可以將會話中斷。

4.2.4 TCP代理和驗證

在一個TCP SYN請求到達流量清洗設備后,設備并不將它交給服務器,而是回復一個SYN+ACK響應,并等待客戶端回復。
如果SYN請求來自合法用戶,那么它會對SYN+ACK進行響應,這時流量清洗設備會代替用戶與服務器建立TCP連接,之后合法用戶和服務器之間就通過流量清洗設備進行通信。
而如果SYN請求來自攻擊者,它通常不會對SYN+ACK進行響應,從而形成半開連接。流量清洗設備會暫時保留半開連接,在經(jīng)過短暫超時后丟棄它。
相比于服務器,流量清洗設備對連接表進行了優(yōu)化,能夠處理極其龐大的連接請求,因此即使有非常多的SYN請求同時涌向清洗設備,它也能夠處理。
在此過程中,服務器并沒有消耗任何連接資源,因此保證了服務器的性能不受影響。

4.2.5 協(xié)議完整性驗證

為了提高發(fā)送攻擊請求的效率,大多數(shù)的攻擊方法都只會發(fā)送攻擊請求,而不接收和處理服務器的響應數(shù)據(jù)。
因此,如果能夠對請求來源進行交互式驗證,就可以檢查請求來源協(xié)議實現(xiàn)的完整性。對于協(xié)議實現(xiàn)不完整的請求來源,通??梢詠G棄其數(shù)據(jù)包。
例如對于提供HTTP服務的Web服務器,可以使用302重定向來驗證請求來源是否完整實現(xiàn)了HTTP協(xié)議。
HTTP狀態(tài)碼302表示請求的資源被臨時轉移,并會給出一個轉移后的地址。合法用戶在接收到302重定向響應碼后會順著跳轉地址尋找對應的資源,而攻擊工具則不會進行跳轉。
因此,攻擊請求將會被流量清洗設備攔截并丟棄,Web服務器不會受到影響。

2.6 客戶端真實性驗證
一些攻擊工具在開發(fā)過程中使用了第三方庫,完整實現(xiàn)了協(xié)議交互功能。對于這些攻擊工具,需要使用客戶端真實性驗證技術進行攻擊流量清洗。
例如對于Web服務,可以通過檢查客戶端是否支持JavaScript來驗證請求是否來自合法用戶。
對于加入了JavaScript解析和執(zhí)行功能的攻擊工具,則需要使用驗證碼來進行識別。
對于無法解析JavaScript或無法識別驗證碼的請求,流量清洗設備可以丟棄它,從而保護Web服務器不受影響。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容