FTP是常見的基于TCP的網(wǎng)絡(luò)服務(wù),它使用了兩個(gè)TCP連接來建立邏輯通信信道,即控制連接和數(shù)據(jù)連接。當(dāng)客戶端與服務(wù)器建立一個(gè)FTP會(huì)話時(shí),使用TCP創(chuàng)建一個(gè)持久的控制連接以傳遞命令和應(yīng)答。當(dāng)發(fā)送文件和其它數(shù)據(jù)傳輸時(shí),它們在獨(dú)立的TCP數(shù)據(jù)連接上進(jìn)行傳遞,這個(gè)連接根據(jù)需要?jiǎng)?chuàng)建和拆除。
FTP標(biāo)準(zhǔn)指定了創(chuàng)建數(shù)據(jù)連接的兩種不同方法,即主動(dòng)數(shù)據(jù)連接和被動(dòng)數(shù)據(jù)連接。FTP的控制連接總是由客戶端首先發(fā)起的,主動(dòng)數(shù)據(jù)連接是由客戶端發(fā)起的,被動(dòng)數(shù)據(jù)連接是由服務(wù)器端發(fā)起的。FTP創(chuàng)建數(shù)據(jù)連接的工作機(jī)制帶來了一個(gè)嚴(yán)重的問題,在FTP的命令或?qū)λ鼈兊幕卮鹬袀鬟fIP地址及端口號與網(wǎng)絡(luò)分層機(jī)制嚴(yán)重沖突,在FTP客戶端與服務(wù)器的通信信道之間的網(wǎng)關(guān)設(shè)備(防火墻或路由器)上啟用了NAT功能的情況下將出現(xiàn)連接性問題。
對于FTP的多端口連接的TCP應(yīng)用,防火墻的影響是很大的。FTP主動(dòng)模式下,F(xiàn)W檢測PORT命令報(bào)文的應(yīng)用層信息,將應(yīng)用層攜帶的IP地址和端口記錄在Server-map表中。由于PORT命令的應(yīng)用層信息中攜帶了客戶端的IP地址和向服務(wù)器隨機(jī)開放的端口,F(xiàn)W通過分析PORT命令的應(yīng)用層信息,提前預(yù)測到后續(xù)報(bào)文的行為方式,根據(jù)應(yīng)用層信息中的IP和端口創(chuàng)建Server-map表。服務(wù)器向客戶端發(fā)起數(shù)據(jù)連接的報(bào)文到達(dá)FW后命中該Server-map表項(xiàng),不再受安全策略的控制。
FTP被動(dòng)模式下,客戶端使用隨機(jī)端口xxxx向服務(wù)器的21端口發(fā)起連接請求建立控制通道,然后使用PASV命令協(xié)商兩者建立數(shù)據(jù)通道的端口號,協(xié)商出來的端口是yyyy。然后客戶端主動(dòng)向服務(wù)器的yyyy端口發(fā)起連接請求,建立數(shù)據(jù)通道。數(shù)據(jù)通道建立成功后再進(jìn)行數(shù)據(jù)傳輸。由于PASV命令的應(yīng)用層信息中攜帶了數(shù)據(jù)連接中客戶端使用的ip地址和端口號,防火墻通過分析PASV命令中的參數(shù),提前預(yù)測到后續(xù)報(bào)文的行為方式,根據(jù)應(yīng)用層信息中的IP和端口創(chuàng)建Server-map表。后續(xù)客戶端向服務(wù)器端發(fā)起的數(shù)據(jù)連接就會(huì)命中該server-map表項(xiàng),不用查詢防火墻的策略表就可以放行后續(xù)報(bào)文。
?
租用服務(wù)器,詳細(xì)咨詢QQ:80496086
了解更多服務(wù)器及資訊,請關(guān)注恒創(chuàng)科技官方網(wǎng)站 https://www.mfisp.com/,感謝您的支持!