FTP服务器原理
21.1 FTP服務(wù)器原理
? 使用明碼傳輸方式,且有相當(dāng)多的安全危機歷史。因此一般使用功能較少的vsftpd這個軟件。 21.1.1 FTP功能簡介 有以下功能
? 使用明碼傳輸方式,且有相當(dāng)多的安全危機歷史。因此一般使用功能較少的vsftpd這個軟件。 21.1.1 FTP功能簡介 有以下功能
- 文檔傳輸與管理
- 不同等級的用戶身份:user,guest,anonymous
- 命令記錄與登錄文件記錄
- 限制用戶活動的目錄:(change root,簡稱 chroot)
- 即將登錄用戶的家目錄變成根目錄
?
21.1.2 FTP的運作流程與使用用的端口號 FTP的傳輸使用的是TCP封包協(xié)議。 FTP服務(wù)器使用了兩個聯(lián)機,分別是:- 命令信道
- 數(shù)據(jù)流通道(ftp-data)
?
- 建立命令通道的聯(lián)機
- 客戶端會隨機取一個大于 1024 以上的端口 (port AA) 來與 FTP服務(wù)器端的 port 21 達成聯(lián)機, 這個過程當(dāng)然TCP三次握手了!
- 達成聯(lián)機后客戶端便可以透過這個聯(lián)機來對 FTP 服務(wù)器下達指令, 包括查詢文件名、下載、上傳等指令
- 通知 FTP 服務(wù)器端,使用 active 且告知連接的端口號
- 客戶端在需要數(shù)據(jù)的情況下,會告知服務(wù)器端要用什么方式來聯(lián)機,如果是主動式 (active) 聯(lián)機時, 客戶端會先隨機啟用一個端口號?(圖21.1-1 當(dāng)中的 port BB) ,且透過命令通道告知 FTP 服務(wù)器這兩個信息,并等待 FTP 服務(wù)器的聯(lián)機;
- FTP 服務(wù)器『主動』向客戶端聯(lián)機
- FTP 服務(wù)器由命令通道了解客戶端的需求后,會主動的由 20 這個端口號向客戶端的 port BB 聯(lián)機, 這個聯(lián)機當(dāng)然也會經(jīng)過TCP三次握手!此時 FTP 的客戶端與服務(wù)器端共會建立兩條聯(lián)機,分別用在命令的下達與數(shù)據(jù)的傳遞。 而預(yù)設(shè) FTP服務(wù)器端使用的主動聯(lián)機端口號就是 port 20 !
- ?命令通道的 ftp (默認為 port 21)?
- ?數(shù)據(jù)傳輸?shù)?ftp-data (默認為 port 20)
?
服務(wù)器主動連到 NAT 等待轉(zhuǎn)遞至客戶端的聯(lián)機問題: 由于透過 NAT 的轉(zhuǎn)換后, FTP 服務(wù)器只能得知 NAT 的 IP 而不是客戶端的IP , 因此 FTP 服務(wù)器會以 port 20 主動的向 NAT 的 port BB 發(fā)送主動聯(lián)機的要求。 但你的 NAT 并沒有啟動 port BB 來監(jiān)聽 FTP 服務(wù)器的聯(lián)機啊! 解決辦法:- 使用iptables所提供的FTP偵測模塊
- ip_conntrack_ftp 及 ip_nat_ftp 等模塊主動的分析『目標(biāo)是 port 21 的聯(lián)機』信息,得到port BB 的資料,
- 此時若接受到 FTP 服務(wù)器的主動聯(lián)機,就能夠?qū)⒃摲獍鼘?dǎo)向正確的后端主機了。
- 客戶端選擇被動式(Passive)聯(lián)機模式
- 主動式,是指 服務(wù)器主動聯(lián)機客戶端。那被動式,就是客戶端聯(lián)機服務(wù)器。這里都是指的數(shù)據(jù)傳輸聯(lián)機。
?
- 用戶與服務(wù)器建立命令信道
- 客戶端發(fā)出 PASV 的聯(lián)機要求
- 發(fā)出聯(lián)機要求,病等待服務(wù)器的回應(yīng)
- FTP 服務(wù)器啟動數(shù)據(jù)端口口,并通知客戶端聯(lián)機
- 這個端口號碼不是主動式的port 20 ,而是隨機的。
- 告知客戶端這個 port PASV;
- 客戶端隨機取用大于 1024 的端口號進行連接
- 開放實體用戶的情況 (Real user)
- 系統(tǒng)默認并沒有針對實體用戶來進行『限制』的,所以他可以針對整個文件系統(tǒng)進行任何他所具有權(quán)限的工作。
- 限制用戶能力: chroot 與 /sbin/nologin 等
- 訪客身份(Guest)
- 訪客身份的限制
- 上傳下載檔案數(shù)目與磁盤容量限制,聯(lián)機時間,可用指令。
- 如chmod等就不要允許使用
- 匿名登錄使用者(anonymous)
- 幾乎不要給指令
- 限制文件傳輸?shù)臄?shù)量,盡量不給上傳數(shù)據(jù)的權(quán)限
- 限制匿名者同時登錄的最大聯(lián)機數(shù)量。
轉(zhuǎn)載于:https://www.cnblogs.com/csguo/p/7250720.html
總結(jié)
- 上一篇: 请问报关单上的随附单证号的编号都代表着什
- 下一篇: 报关单填制中备案号和随附单据中的“Y”有