成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

IP偽造與防范

tianlai / 3777人閱讀

摘要:對(duì)協(xié)議進(jìn)行擴(kuò)展。通過(guò)此項(xiàng)措施,強(qiáng)行將設(shè)置為客戶端使客戶端無(wú)法通過(guò)本文所述方式偽造。

在閱讀本文前,大家要有一個(gè)概念,由于TCP需要三次握手連接,在實(shí)現(xiàn)正常的TCP/IP 雙方通信情況下,是無(wú)法偽造來(lái)源 IP 的,也就是說(shuō),在 TCP/IP 協(xié)議中,可以偽造數(shù)據(jù)包來(lái)源 IP ,但這會(huì)讓發(fā)送出去的數(shù)據(jù)包有去無(wú)回,無(wú)法實(shí)現(xiàn)正常的通信。

一些DDoS 攻擊,它們只需要不斷發(fā)送數(shù)據(jù)包,而不需要正常通信,它們就會(huì)采取這種“發(fā)射出去就不管”的行為來(lái)進(jìn)行攻擊。

那么在HTTP 中, “ 偽造來(lái)源 IP”, 又是如何造成的?如何防御之?
先搞明白后端應(yīng)用IP獲取來(lái)源
1.’REMOTE_ADDR’是遠(yuǎn)端IP,默認(rèn)來(lái)自tcp連接客戶端的Ip??梢哉f(shuō),它最準(zhǔn)確,確定是,只會(huì)得到直接連服務(wù)器客戶端IP。如果對(duì)方通過(guò)代理服務(wù)器上網(wǎng),就發(fā)現(xiàn)。獲取到的是代理服務(wù)器IP了。
如:a→b(proxy)→c ,如果c 通過(guò)’REMOTE_ADDR’ ,只能獲取到b的IP,獲取不到a的IP了。
這個(gè)值是無(wú)法修改的。

2.’HTTP_X_FORWARDED_FOR’,’HTTP_CLIENT_IP’ 為了能在大型網(wǎng)絡(luò)中,獲取到最原始用戶IP,或者代理IP地址。對(duì)HTTp協(xié)議進(jìn)行擴(kuò)展。定義了實(shí)體頭。
HTTP_X_FORWARDED_FOR = clientip,proxy1,proxy2其中的值通過(guò)一個(gè) 逗號(hào)+空格 把多個(gè)IP地址區(qū)分開(kāi), 最左邊(client1)是最原始客戶端的IP地址, 代理服務(wù)器每成功收到一個(gè)請(qǐng)求,就把請(qǐng)求來(lái)源IP地址添加到右邊。
HTTP_CLIENT_IP 在高級(jí)匿名代理中,這個(gè)代表了代理服務(wù)器IP。
其實(shí)這些變量,來(lái)自http請(qǐng)求的:X-Forwarded-For字段,以及client-ip字段。 正常代理服務(wù)器,當(dāng)然會(huì)按rfc規(guī)范來(lái)傳入這些值。
但是,攻擊者也可以直接構(gòu)造該x-forword-for值來(lái)“偽造源IP”,并且可以傳入任意格式IP.
這樣結(jié)果會(huì)帶來(lái)2大問(wèn)題,其一,如果你設(shè)置某個(gè)頁(yè)面,做IP限制。 對(duì)方可以容易修改IP不斷請(qǐng)求該頁(yè)面。 其二,這類數(shù)據(jù)你如果直接使用,將帶來(lái)SQL注冊(cè),跨站攻擊等漏洞。

這類問(wèn)題,其實(shí)很容易出現(xiàn),比如很多時(shí)候利用這個(gè)騙取大量偽裝投票。那么該如何修復(fù)呢?
在代理轉(zhuǎn)發(fā)及反向代理中經(jīng)常使用X-Forwarded-For 字段。
X-Forwarded-For(XFF)的有效性依賴于代理服務(wù)器提供的連接原始IP地址的真實(shí)性,因此, XFF的有效使用應(yīng)該保證代理服務(wù)器是可信的.
比如Nginx代理服務(wù)器,我們可以在其轉(zhuǎn)發(fā)/反向代理的時(shí)候主動(dòng)配置X-Forwarded-For為正確的值。

location / {
    proxy_pass  ....;
    proxy_set_header X-Forwarded-For $remote_addr ;
}

$remote_addr 是 nginx 的內(nèi)置變量,代表了客戶端真實(shí)(網(wǎng)絡(luò)傳輸層) IP 。通過(guò)此項(xiàng)措施,強(qiáng)行將 X-Forwarded-For 設(shè)置為客戶端 ip, 使客戶端無(wú)法通過(guò)本文所述方式“偽造 IP ”。

如果最前端(與用戶直接通信)代理服務(wù)器是與php fastcgi 直接通信,則需要在其上設(shè)定:

location ~ .php$ {
fastcgi_pass localhost:9000;
fastcgi_param  HTTP_X_FORWARD_FOR  $remote_addr;
}

但是更常用的配置如下:

proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

后臺(tái)代碼,通過(guò)X-Real-IP頭來(lái)獲取客戶真實(shí)IP

參考:
http://www.cnblogs.com/chengm...
http://zhangxugg-163-com.itey...
http://blog.csdn.net/lemon_tr...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65276.html

相關(guān)文章

  • IP偽造防范

    摘要:對(duì)協(xié)議進(jìn)行擴(kuò)展。通過(guò)此項(xiàng)措施,強(qiáng)行將設(shè)置為客戶端使客戶端無(wú)法通過(guò)本文所述方式偽造。 在閱讀本文前,大家要有一個(gè)概念,由于TCP需要三次握手連接,在實(shí)現(xiàn)正常的TCP/IP 雙方通信情況下,是無(wú)法偽造來(lái)源 IP 的,也就是說(shuō),在 TCP/IP 協(xié)議中,可以偽造數(shù)據(jù)包來(lái)源 IP ,但這會(huì)讓發(fā)送出去的數(shù)據(jù)包有去無(wú)回,無(wú)法實(shí)現(xiàn)正常的通信。 一些DDoS 攻擊,它們只需要不斷發(fā)送數(shù)據(jù)包,而不需要正...

    solocoder 評(píng)論0 收藏0
  • 利用X-Forwarded-For偽造客戶端IP漏洞成因及防范

    摘要:在有反向代理的情況下,直接使用獲取到的地址是所在服務(wù)器的地址,而不是客戶端的。如何防范方法一在直接對(duì)外的反向代理服務(wù)器上配置如果有多層代理,內(nèi)層的配置在最外層即直接對(duì)外提供服務(wù)的使用代替上面的,可以防止偽造。 問(wèn)題背景 在Web應(yīng)用開(kāi)發(fā)中,經(jīng)常會(huì)需要獲取客戶端IP地址。一個(gè)典型的例子就是投票系統(tǒng),為了防止刷票,需要限制每個(gè)IP地址只能投票一次。 如何獲取客戶端IP 在Java中,獲取客...

    Yuqi 評(píng)論0 收藏0
  • web安全初探

    摘要:安全初探攻擊攻擊全稱跨站腳本攻擊,是為不和層疊樣式表的縮寫混淆,故將跨站腳本攻擊縮寫為,是一種在應(yīng)用中的計(jì)算機(jī)安全漏洞,它允許惡意用戶將代碼植入到提供給其它用戶使用的頁(yè)面中。 web安全初探 XSS攻擊 XSS攻擊全稱跨站腳本攻擊,是為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS,XSS是一種在web應(yīng)用中的計(jì)算機(jī)安全...

    Y3G 評(píng)論0 收藏0
  • web安全初探

    摘要:安全初探攻擊攻擊全稱跨站腳本攻擊,是為不和層疊樣式表的縮寫混淆,故將跨站腳本攻擊縮寫為,是一種在應(yīng)用中的計(jì)算機(jī)安全漏洞,它允許惡意用戶將代碼植入到提供給其它用戶使用的頁(yè)面中。 web安全初探 XSS攻擊 XSS攻擊全稱跨站腳本攻擊,是為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS,XSS是一種在web應(yīng)用中的計(jì)算機(jī)安全...

    xuhong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<