亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        利用X-Forwarded-For偽造客戶端IP漏洞成因及防護

        2020-06-11 13:46:56李治城
        電子技術與軟件工程 2020年3期
        關鍵詞:代理服務器服務端IP地址

        李治城

        (山西農業(yè)大學軟件學院 山西省太谷縣 030800)

        隨著科學技術的不斷發(fā)展,互聯網技術也得到了飛速發(fā)展,但因此,逐漸暴露出傳統互聯網技術相關問題,最為突出的就是IP地址偽造。隨著互聯網的廣泛使用,每一種設備均能使用IP地址偽造技術,最終實現自身的目標,為使得互聯網安全得到有效的保證,如今對IP地址偽造、防御機制的相關研究就顯得較為重要。在Web應用開發(fā)中,經常會需要獲取客戶端IP地址。一個典型的例子就是投票系統,為了防止刷票,需要限制每個IP地址只能投票一次。偽造IP的作用只局限于想象力,簡單的能刷投票,復雜包括黑服務器,繞過IP限制抓取后端數據,或者模擬測試看服務端承壓能力如何。

        1 偽造IP地址的網絡攻擊

        對于各種IP地址偽造行為,并不是均可以對互聯網發(fā)起進攻,從對互聯網的危害程度來看,具有危害相對較小的就是單純的IP地址偽造行為,相反,對互聯網帶來嚴重影響的就是基于對IP地址偽造的基礎上進行的網絡攻擊。

        1.1 拒絕服務攻擊

        在鏈接初始化的階段,需要一次三次握手來建立鏈接,之后客戶端和服務端會依據初始的這個IP地址來通信。從這個角度上來說,想真正的偽裝一個IP地址是不可能的。因為即使從鏈路層把IP地址改了,后續(xù)發(fā)出去的請求也回不來,除非你只是想用來作為DOS攻擊,這一模式中的攻擊者會對被攻擊目標資源進行消耗,且是經過了偽造IP地址的消耗,由此在很大程度上限制了攻擊者實際服務能力,通常來講就造成被攻擊者不能完成其任務。然而,在互聯網防御技術的快速發(fā)展中,僅僅通過DOS攻擊,不會對受攻擊者造成較為嚴重的影響,只有當攻擊目標信息代價非常的大,不然的話對于DOS攻擊所占據的資源量而言,占據比例相對較小,不會對受害者造成大的威脅。目前來看,SYN flooding攻擊為此類攻擊中最為常見的一種。然而,這不等于每一種DOS攻擊均不對受攻擊對象帶了嚴重的打擊,DDOS是DOS攻擊之一,具有相對較高的攻擊性。但是兩者具有相同的攻擊模式,對于DDOS來講,其可以基于互聯網基礎上,實現對大量計算機的有效控制,同時,計算機對受攻擊者進行信息的發(fā)送,由此造成受攻擊目標的通信鏈路得以占領,最后造成受攻擊者不能將自己的服務得以完成。在IP地址偽造的DDOS攻擊中,受害者不能將供給準確位置得以發(fā)現,不能從來源角度上,實現對周圍網關通信鏈路的關閉,攻擊始終存在。

        1.2 IP欺騙攻擊

        圖1:IP欺騙攻擊

        圖2:中間層代理服務器的環(huán)境

        如圖1所示,欺騙攻擊通過IP 地址的偽裝使得特定主機能夠偽裝另外的主機,而這臺主機往往具有某種特權或者被其他主機所信任。假設現在有一個合法用戶(1.1.1.1)已經同服務器建立正常的連接,攻擊者構造攻擊的TCP數據,偽裝自己的IP 為1.1.1.1,并向服務器發(fā)送一個帶有RSI位的TCP數據段。服務器接收到這樣的數據后,認為從1.1.1.1發(fā)送的連接有錯誤,就會清空緩沖區(qū)中建立好的連接。這時,如果合法用戶1.1.1.1再發(fā)送合法數據,服務器就已經沒有這樣的連接了,該用戶就必須從新開始建立連接。攻擊時,偽造大量的IP地址,向目標發(fā)送RST數據,使服務器不對合法用戶服務。雖然IP地址欺騙攻擊有著相當難度,但我們應該清醒地意識到,這種攻擊非常廣泛,入侵往往從這種攻擊開始。IP地址被用來在網絡和計算機之間發(fā)送及接收信息,因此,每個信息包里都包含了IP地址,這樣雙方才能發(fā)送到正確的對方,對方也才能知道來源是正確的。當IP欺騙被使用的時候,信息包里面的就不再是真實的IP,取而代之的是偽造的IP地址,這樣,看上去包就是由那個IP發(fā)出的,如果對方回復這個信息,那么數據將會被發(fā)送到偽造的IP上,除非黑客重定向該信息到一個真實的IP上。

        2 獲取客戶端IP及防護手段

        對于整個互聯網通訊來講,為了達到雙向傳播的目的,信息發(fā)送發(fā)要對網絡所分配的IP地址進行如實的填寫,在這一情況下,方可確定信息發(fā)送方具體位置,從未進行信息反饋。網絡攻擊就會隨意的修改IP地址,我們將這一現象稱之為IP地址偽造。從我國當下的互聯網了解到,不具備自動過濾偽造IP的功能,所以,通常而言要想使得發(fā)送的地址達到目的地,那么可以進行偽造IP 地址。IP地址偽造經常存在于網絡攻擊中,因此無法得到攻擊行為真正起源,且不可以進行有效防護,與此同時,在攻擊之后不能快速的確定攻擊者。因此,為了保證網絡安全性,就必須將IP地址偽造問題得到解決。

        圖3:利用burp偽造IP

        圖4:獲取偽造后的IP

        2.1 獲取客戶端IP

        在Java中,獲取客戶端IP最直接的方式就是獲取到連接服務器的客戶端IP,在中間沒有代理的情況下,的確是最簡單有效的方式。但是目前互聯網Web應用很少會將應用服務器直接對外提供服務,一般都會有一層Nginx做反向代理和負載均衡,有的甚至可能有多層代理。HTTP協議是基于TCP協議的,上述方法獲取到的是TCP層直接連接的客戶端的IP,對于Web應用服務器來說直接連接它的客戶端實際上是Nginx,也就是TCP層是拿不到真實客戶端的IP。當用戶請求經過CDN 后到達 Nginx 負載均衡服務器時,其 XFF 頭信息應該為“客戶端IP,CDN的IP”。如圖2所示。

        為了解決上面的問題,很多HTTP代理會在HTTP協議頭中添加X-Forwarded-For頭,用來追蹤請求的來源。X-Forwarded-For的格式如下:

        X-Forwarded-For:client1,proxy1,proxy2

        X-Forwarded-For包含多個IP地址,每個值通過逗號+空格分開,最左邊(client1)是最原始客戶端的IP地址,中間如果有多層代理,每一層代理會將連接它的客戶端IP追加在X-Forwarded-For右邊。下面就是一種常用的獲取客戶端真實IP的方法,首先從HTTP頭中獲取X-Forwarded-For,如果X-Forwarded-For頭存在就按逗號分隔取最左邊第一個IP地址。

        一般的客戶端(例如瀏覽器)發(fā)送HTTP請求是沒有X-Forwarded-For頭的,當請求到達第一個代理服務器時,代理服務器會加上X-Forwarded-For請求頭,并將值設為客戶端的IP地址(也就是最左邊第一個值),后面如果還有多個代理,會依次將IP追加到X-Forwarded-For頭最右邊,最終請求到達Web應用服務器,應用通過獲取X-Forwarded-For頭取左邊第一個IP即為客戶端真實

        IP。

        但是如果客戶端在發(fā)起請求時,請求頭上帶上一個偽造的X-Forwarded-For,由于后續(xù)每層代理只會追加而不會覆蓋,那么最終到達應用服務器時,獲取的左邊第一個IP地址將會是客戶端偽造的IP。

        2.2 防范手段

        在鏈接初始化的階段,需要一次三次握手來建立鏈接,之后客戶端和服務端會依據初始的這個IP地址來通信。從這個角度上來說,想真正的偽裝一個IP地址是不可能的。因為即使從鏈路層把IP地址改了,后續(xù)發(fā)出去的請求也回不來,偽造IP的思路是通過修改 Header 來實現增加 XFF 字段。

        2.2.1 在直接對外的Nginx反向代理服務器上配置

        proxy_set_header X-Forwarded-For $remote_addr;

        這里使用$remote_addr替代上面的$proxy_add_x_forwarded_for。$proxy_add_x_forwarded_for會在原有X-Forwarded-For上追加IP,這就相當于給了偽造X-Forwarded-For的機會。而$remote_addr是獲取的是直接TCP連接的客戶端IP,這個是無法偽造的,即使客戶端偽造也會被覆蓋掉,而不是追加。

        需要注意的是,如果有多層代理,那么只要在直接對外訪問的Nginx上配置X-Forwarded-For為$remote_addr,內部層的Nginx還是要配置為$proxy_add_x_forwarded_for,不然內部層的Nginx又會覆蓋掉客戶端的真實IP。

        2.2.2 遍歷X-Forwarded-For頭中的IP地址

        和上面方法不同的是,不是直接取左邊第一個IP,而是從右向左遍歷。遍歷時可以根據正則表達式剔除掉內網IP和已知的代理服務器本身的IP(例如192.168開頭的),那么拿到的第一個非剔除IP就會是一個可信任的客戶端IP。這種方法的巧妙之處在于,即時偽造X-Forwarded-For,那么請求到達應用服務器時,偽造的IP也會在X-Forwarded-For值的左邊,從右向左遍歷就可以避免取到這些偽造的IP地址。

        3 結論

        目前,使用偽造源地址發(fā)起網絡攻擊的行為普遍存在于互聯網當中。且該行為存在發(fā)動較易、查找困難的特點,為了盡可能的將攻擊造成的危害得到減小,對于攻擊的制止、身份的確定就顯得非常重要。IP地址偽造嚴重影響了互聯網安全,因此,對IP地質偽造防護技術的進一步研究對增強網絡安全性至關重要。從獲取IP的基本手段到對外的Nginx反向代理服務器上配置和遍歷X-Forwarded-For頭中的IP地址兩個防范手段進行了說明,旨在促進互聯網安全性的進一步提升。

        猜你喜歡
        代理服務器服務端IP地址
        鐵路遠動系統幾種組網方式IP地址的申請和設置
        地鐵信號系統中代理服務器的設計與實現
        云存儲中基于相似性的客戶-服務端雙端數據去重方法
        新時期《移動Web服務端開發(fā)》課程教學改革的研究
        消費導刊(2018年8期)2018-05-25 13:19:48
        IP地址隱藏器
        在Windows Server 2008上創(chuàng)建應用
        基于SNMP的IP地址管理系統開發(fā)與應用
        黑龍江電力(2017年1期)2017-05-17 04:25:16
        “鴿子”玩升級 黑你沒商量
        一種容侵系統的設計
        代理服務器全問答
        在线免费观看毛视频亚洲精品| 狠狠综合亚洲综合亚洲色 | 国产av夜夜欢一区二区三区| 亚洲日韩精品欧美一区二区| 国产肉体XXXX裸体784大胆| 国产三级精品三级在线| 91精品亚洲成人一区二区三区| 久久久国产精品免费a片3d| 国产美女精品aⅴ在线| 国产一级黄色av影片| 美女视频一区二区三区在线| 嗯啊好爽高潮了在线观看| 玩弄人妻少妇精品视频| 亚洲av无码成人黄网站在线观看| 欧美在线观看一区二区| 日韩人妻系列在线视频| 国产精品对白一区二区三区| 久久久精品国产sm调教网站| 热久久亚洲| 亚洲成av人片在久久性色av| а天堂中文地址在线| 久久www免费人成精品| 国产成人无码aⅴ片在线观看| 婷婷色国产精品视频一区| 自拍偷拍亚洲视频一区二区三区| 国产a级毛片久久久精品毛片| 精品久久人人妻人人做精品| 国产亚洲精品性爱视频| 国产91精品在线观看| 人人妻人人狠人人爽天天综合网| 日韩在线免费| 精品自拍偷拍一区二区三区| 蜜臀久久99精品久久久久久| 无码a∨高潮抽搐流白浆| 亚洲精品动漫免费二区| 国产成人精品一区二三区在线观看| 成 人色 网 站 欧美大片在线观看 | 久久综合另类激情人妖| 免费黄色影片| 日韩二三区| 精品亚洲国产亚洲国产|