日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FTP服务器原理

發(fā)布時間:2023/12/2 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FTP服务器原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
21.1 FTP服務(wù)器原理
? 使用明碼傳輸方式,且有相當多的安全危機歷史。因此一般使用功能較少的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)機通道的關(guān)系是怎么樣的?以FTP預設(shè)的主動式(active)聯(lián)機來做說明: 主動指的是FTP服務(wù)器主動聯(lián)機客戶端,作為數(shù)據(jù)通道;

?

  • 建立命令通道的聯(lián)機
    • 客戶端會隨機取一個大于 1024 以上的端口 (port AA) 來與 FTP服務(wù)器端的 port 21 達成聯(lián)機, 這個過程當然TCP三次握手了!
    • 達成聯(lián)機后客戶端便可以透過這個聯(lián)機來對 FTP 服務(wù)器下達指令, 包括查詢文件名、下載、上傳等指令
  • 通知 FTP 服務(wù)器端,使用 active 且告知連接的端口號
    • 客戶端在需要數(shù)據(jù)的情況下,會告知服務(wù)器端要用什么方式來聯(lián)機,如果是主動式 (active) 聯(lián)機時, 客戶端會先隨機啟用一個端口號?(圖21.1-1 當中的 port BB) ,且透過命令通道告知 FTP 服務(wù)器這兩個信息,并等待 FTP 服務(wù)器的聯(lián)機;
  • FTP 服務(wù)器『主動』向客戶端聯(lián)機
    • FTP 服務(wù)器由命令通道了解客戶端的需求后,會主動的由 20 這個端口號向客戶端的 port BB 聯(lián)機, 這個聯(lián)機當然也會經(jīng)過TCP三次握手!此時 FTP 的客戶端與服務(wù)器端共會建立兩條聯(lián)機,分別用在命令的下達與數(shù)據(jù)的傳遞。 而預設(shè) FTP服務(wù)器端使用的主動聯(lián)機端口號就是 port 20 !
如此一來則成功的建立起『命令』與『數(shù)據(jù)傳輸』兩個信道!不過,要注意的是,數(shù)據(jù)傳輸信道是在有數(shù)據(jù)傳輸?shù)男袨闀r才會建立的通道喔!并不是一開始連接到FTP 服務(wù)器就立刻建立的通道 由上可見,主動式聯(lián)機使用到的端口號:
  • ?命令通道的 ftp (默認為 port 21)?
  • ?數(shù)據(jù)傳輸?shù)?ftp-data (默認為 port 20)
在主動聯(lián)機的 FTP 服務(wù)器與客戶端之間具有防火墻的聯(lián)機問題 ? 一般來說,很多的局域網(wǎng)絡(luò)都會使用防火墻(iptables) 的 NAT 功能,那么在 NAT 后端的 FTP 用戶如何連接到 FTP 服務(wù)器呢?

?

服務(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 等模塊主動的分析『目標是 port 21 的聯(lián)機』信息,得到port BB 的資料,
    • 此時若接受到 FTP 服務(wù)器的主動聯(lián)機,就能夠?qū)⒃摲獍鼘蛘_的后端主機了。
  • 客戶端選擇被動式(Passive)聯(lián)機模式
    • 主動式,是指 服務(wù)器主動聯(lián)機客戶端。那被動式,就是客戶端聯(lián)機服務(wù)器。這里都是指的數(shù)據(jù)傳輸聯(lián)機。
21.1.3 客戶端選擇被動式聯(lián)機模式

?

  • 用戶與服務(wù)器建立命令信道
  • 客戶端發(fā)出 PASV 的聯(lián)機要求
    • 發(fā)出聯(lián)機要求,病等待服務(wù)器的回應(yīng)
  • FTP 服務(wù)器啟動數(shù)據(jù)端口口,并通知客戶端聯(lián)機
    • 這個端口號碼不是主動式的port 20 ,而是隨機的。
    • 告知客戶端這個 port PASV;
  • 客戶端隨機取用大于 1024 的端口號進行連接
21.1.4 FTP的安全性問題與替代方案 ssh,提供較為安全的sftp-server。在上面?zhèn)鬏數(shù)臄?shù)據(jù)是經(jīng)過加密的。 ? 21.1.5 開放什么身份的使用者登入 ?
  • 開放實體用戶的情況 (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é)

以上是生活随笔為你收集整理的FTP服务器原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。