FTP:
FTP的預設連接埠為
FTP control 20
FTP datta 21
所以預設狀態下可以list. 如果要提高FTP伺服器的安全性,我覺得改變連接埠開始治標不治本。建議使用FTPS(FTP over SSL),應用SSL方式將傳送的密碼和資料加密,相對安全。此方式的預設連接埠是989,990.
簡介:
Filazilla是一個非常流行的開源的免費的FTP用戶端、伺服器端的項目,Filezilla的主要優勢在於:高安全、高效能。Filazilla的安全性是來自於其開放原始碼的。Filezilla的高效能來自於其代碼的開發平台是C/C++,自身基礎就好於其他VB/Dephi平台開發的應用程式,因此Filezilla具有可媲美IIS的效能。在千兆網路頻寬上,可輕鬆滿足數百使用者同時高速下載。目前Filezilla也存在一些不足,主要缺點就是不支援配額,即本身不提供上傳、下載總檔案大小配額的功能。
FileZilla Server伺服器的程式看成兩部份,第一部份是FTP的Service服務,他是提供其他電腦透過FTP通訊協定連線進來存取檔桉用的網路服務,這部份的功能可以讓他隨著電腦自動開機啟動。而伺服器啟動後我們並不會看到什麽視窗或圖示,它會在Windows系統的背景執行,只有在檢視「工作管理員」時,才可以看得到。
另外一步部份是「FileZilla Server Interface」伺服器管理介面,這個管理介面是管理FTP伺服器、新增或移除FTP帳戶時才會用到。只要安裝時設定好FileZilla Server的Service與組態、帳戶之後,其他時候可以不用開啟伺服器管理介面,FTP也可以正常運作。(因為FTP伺服器會在安裝好之後,開機自動執行)。
大概知道有這兩個東西之後,下面的安裝過程就會比較清楚一點。後面會有個步驟問我們是否要開機自動啟動FTP Service或是否要開機自動啟動Server Interface,講的就是這兩個東西。
安裝:
第1步 選用最新版本的filezilla_server。http://filezilla-project.org/。然後在「FileZilla_Server-0_9_24.exe」安裝檔上按兩下滑數左鍵,執行安裝程式,接著再按一下〔I Agree〕按鈕,開始安裝。
第2步 接著他會問你要安裝哪些元件,安裝方式:預設的標準,按一下〔Next〕繼續下一步。
第3步 接著他會問你要將FTP伺服器程式安裝到哪個資料夾去,強烈推薦安裝到非預設路徑,以增加安全係數。請按一下〔Next〕按鈕,繼續下一步。
第4步 此步驟是詢問我們是否要讓FTP伺服器在電腦開機時自動啟動,請點選【Install as service, started with Windows (default)】,再按一下〔Next〕。這樣FTP伺服器便會自動被安裝成系統的Service,每次開機後便會自動再背景中啟動並執行FTP伺服器的功能。設定管理連接埠“14147”,強烈推薦修改此連接埠,例如:改成38121連接埠。(注意不要和常見服務如80連接埠衝突)
第5步 接著我們可以設定是否在開機時自動啟動「FileZilla Server Interface」伺服器管理介面,如果你常常需要管理你的FTP伺服器,可以選【Start if user logs on, apply only to current user】。一般來說都是選最下面的【Start manually】,要用時再手動開啟即可。
第6步 安裝好之後,請按一下〔Close〕按鈕,結束安裝程式。
第7步 安裝好軟體後,啟動FileZilla伺服器時,會出現一個「 Connect to Server」視窗,我們可以在「Administrator password:」欄位中輸入本伺服器Filezilla服務的密碼,輸入管理連接埠號碼(管理連接埠到底是多少,請參考前文安裝過程中填寫的具體數字是多少。),然後勾選「Always connect to this server」再按下〔OK〕。建議選中“總是串連到本伺服器”的選項,即表示每次啟動管理主控台,都是管理原生Filezilla服務。
注意:修改連接埠和密碼非常重要,這是確保Filezilla安全的重點,必須修改連接埠,必須設定密碼!密碼建議足夠複雜!可以在管理介面中進行修改。
第8步 ,出現FileZilla伺服器管理介面後,我們可以在視窗上半部看到目前的FTP伺服器的運作狀況,如果有出現「Logged on」或「Server online」的字樣,表示已經順利上線。我們可以隨時點按上方的閃電圖示切換上線、離線,即可手動開啟或關閉FTP站。
伺服器設定:
第1步 進行伺服器全域參數設定:點“Edit”菜單,選“Settings”
General settings(常規設定):
Listen on Port:監聽連接埠,其實就是FTP伺服器的串連連接埠。
Max.Number of users:允許最大並發串連用戶端的數量。
Number of Threads:處理線程。也就是CPU優先順序別。數值調得越大優先順序越高,一般預設即可。
timeout setting:逾時設定,自上至下分別為:連線逾時、傳輸空閑逾時、登入逾時。單位為秒。
Welcome message版面設定:用戶端登入成功以後顯示的Welcome資訊。建議不要用軟體預設的,因為任何軟體都不能保證沒有什麼漏洞,如果在這裡暴露軟體名稱的話,一旦這個FTP Server軟體有什麼安全性漏洞,別有用心的人知道了伺服器軟體的名稱就可能針對性地發起攻擊。所以建議這裡設定的資訊不要包含任何伺服器資料。強烈建議修改預設的歡迎資訊為“Welcom to Serv-U FTP Server”,這樣Filezilla在歡迎訊息中就會Serv-U字樣,以達到欺騙攻擊者的目的。注意:本步驟非常重要!
現在我們用telnet去串連一下FTP的21連接埠,即可看到修改過的“假”的提示資訊,這樣伺服器的安全性可以得到比較明顯的提高。
IP bindings(IP綁定)頁面:把伺服器與IP地址綁定,使用*以綁定到所有地址。
IP Filter(IP過濾器)頁面:設定IP過濾規則,在上面欄目中的IP是被禁止與FTP伺服器串連的,下面的是允許的。格式:可以是單個IP地址、IP位址區段,可以使用萬用字元、使用IP/subnet文法或Regex(以“/”結尾)來過濾主機名稱。
第2步 Passive mode settings(被動傳輸模式設定):這個頁面要重點關注。
如果伺服器本身直接擁有公網IP,可以選軟體預設的“Default”。
如果伺服器是在區域網路裡面,在一個網關後面,那麼就要選擇第二項“Use the follwoing IP”,並且在下面的輸入欄填寫公網的IP地址;否則,用戶端用PASV被動模式可能無法串連FTP伺服器。因為伺服器是在內網中,在用戶端使用PASV模式串連伺服器的時候,伺服器收到串連請求之後需要把自身的IP地址告訴用戶端,由於伺服器在內網中,它偵測到的IP地址是內網的(如192.168.0.5),它把這個IP地址交給用戶端,用戶端自然無法串連。在這裡設定了指定的IP地址後,伺服器就會把這個公網合法的IP地址提交給用戶端,這樣才能正常建立串連。
如果伺服器是動態IP的,那麼可以選擇下面的“Retrieve external IP address from”,利用FileZilla官方網站免費提供的IP查詢頁面擷取當時的公網合法IP,然後伺服器把這個公網合法IP地址提交給用戶端。當然靜態IP也可以用這個,只不過沒有必要。
這個設定頁面對伺服器位於內網的情況非常重要。有些FTP伺服器端沒有這個設定項目,用戶端就只能用Port主動模式串連。當然有些用戶端軟體針對這個問題有專門的設定,如FlashFXP的網站設定中只要選中“被動模式使用網站IP”就可以了。
對於在區域網路中的伺服器,如果伺服器沒有置於DMZ區,那麼強烈建議選中下面的“Use custom port range”定義PASV連接埠範圍。由於PASV模式中,是伺服器隨機開啟連接埠,然後把開啟的連接埠號碼告訴用戶端,讓用戶端串連開啟的連接埠。但是因為伺服器處於網關後面,如果網關那裡沒有做對應的連接埠映射,用戶端從外網就無法串連伺服器開啟的連接埠,導致PASV模式串連失敗。在這裡限定伺服器開啟的連接埠範圍,然後到串連外網的網關那裡,對伺服器的這些連接埠做連接埠映射(虛擬服務)。這需要伺服器和Internet網關裝置配合設定,這樣外網的用戶端才能用PASV模式串連進來。
第3步 Security settings(安全設定):這裡的兩個選項關係到能否FXP。軟體預設狀態“Block incoming server-to-server transfers”和“Block outgoing server-to-server transfers”兩項都是選中的,前面那項是禁止連入的伺服器對傳,後面是禁止傳出的伺服器對傳。也就是說預設狀態不允許FXP,如果需要使用FXP,那麼就把這兩個項目取消選擇。注意FXP傳輸除了跟這個頁面的設定有關,還跟IP過濾器有關。
說明:如果啟用,IP過濾器在傳輸開始時檢查遠端IP,如果IP不符合控制通道中的遠端IP,傳輸將被取消。
FXP經常被用來傳輸非法盜版軟體,反彈攻擊亦可被用來發起對伺服器的Dos攻擊,因為惡意使用者可以發起多個伺服器到伺服器傳輸,這將對伺服器的頻寬和可用性造成很大影響。
如果設定了嚴格過濾IP,整個IP將與控制通道中的IP進行比較,但此選項可能會對使用了多個IP的Proxy 伺服器引發問題。
為了避免此問題,可以禁用嚴格IP過濾,這樣只檢查IP地址的前三部分,但這會使對FXP/反彈攻擊的安全都降低。因此,你需要在安全和相容性之間做選擇,要想達到最佳效果,你可以阻止所有的FXP傳輸並且僅對傳入的傳輸啟用嚴格過濾。
第4步 Admin Interface setting(管理員介面設定):這個就是登入設定管理員介面的一些參數。連接埠號碼的設定在安裝的時候也出現過。下面兩欄可以定義允許遠程登入配置的網路介面和IP地址,第一個空白可以設定把管理介面綁定到IP地址,使用*以綁定所有IP地址,127.0.0.1是預設綁定,它一直存在且不可被移除;第二個空白設定允許串連到管理介面的IP地址,可以使用萬用字元(例如:123.234.12?.*),127.0.0.1總是被允許串連到管理介面的。在最下面變更管理員口令。
注意:修改連接埠和密碼非常重要,這是確保Filezilla安全的重點,必須修改連接埠,必須設定密碼!密碼建議足夠複雜!
第5步 Logging(日誌):設定是否啟用日誌記錄功能以及記錄檔大小和檔案名稱。
第6步 Speed Limits(速度限制):這個是全域參數,預設狀態不限速。可以選中“Constant Speed Limit of”並填寫限速數值來實現速度限制,下載(傳出)和上傳(傳入)可以分別設定。還可以根據時段自訂限速規則——“Use Speed Limit Rules”,比如這台伺服器或者網路連接除了做FTP伺服器之外還有別的用途,需要根據時間調度,不能讓FTP傳輸擠占所有網路頻寬影響其它的網路服務;就可以通過這裡設定。
第7步 Filetransfer compression(檔案傳輸壓縮設定):MODE Z FTP協議是一種即時壓縮的傳輸協議。在這種模式下,發送方的資料在發出之前先進行壓縮,再送到網路鏈路中傳輸,接收方將收到資料即時解包,在本地還原重組成原檔案。這種模式可以大幅度減少網路中的資料流量,提升傳輸效率(速度)。當然對於已經壓縮過的檔案,就幾乎沒有效果了。要使用這種傳輸模式,需要伺服器端和用戶端都支援MODE Z協議。
勾選“Enable MODE Z support”就可以啟用本伺服器的MODE Z支援功能,這樣,只要用戶端也支援MODE Z就可以獲得它帶來的效能提升。“Minimum allowed compression level”和“Maximum allowed compression level”分別設定最小壓縮率和最大壓縮率。最下面可以輸入不啟用MODE Z功能的目標IP。
完成這些設定以後,點擊“OK”按鈕儲存設定並退出伺服器全域設定頁面返回主介面。
第8步 設定“SSL/TLS settings”,
在彈出對話方塊中,輸入國家代碼、省、市、組織、聯絡郵件地址等,單擊“Generate certificate”。
選中“Enable FTP over SSL/TLS support(FTPS)”
第9步 加固許可權,找到Filezilla的設定檔,格式是xml格式,滑鼠右鍵點擊之,並選擇屬性。
加入Guest組禁止讀寫的許可權,設定為拒絕。
點擊確定後,系統會彈出提示,詢問拒絕許可權優先順序高於允許許可權,是否要繼續,點擊是通過即可。
匿名FTP配置:
首先開啟管理主控台,點擊左起第四個表徵圖 進入系統設定。
開啟ftp使用者管理介面,點擊右側的 add按鈕,添加新使用者。
在新增使用者的對話方塊中,輸入“anonymous”這個名字,即FTP的匿名使用者。
點擊確認,添加使用者完成,返回使用者管理介面。
點擊左側的“Shared folders”菜單。點擊Add按鈕,添加一個目錄。
開啟瀏覽檔案夾的選項,選擇要設定FTP的目錄。
點擊確定,添加使用者完成。
現在使用者FTP用戶端串連到FileZilla Server上,可以看到匿名FTP已經配置完成。
標準FTP使用者配置:
設定流程:開新帳戶→ 設定密碼→ 選定資料夾→ 設定完成。
第1步 進行的是使用者組(Group Settings)設定。在主介面點擊第五個按鈕或者由“Edit”——“Groups”菜單進入。
組設定是為了便於使用者歸類管理,相同許可權的使用者歸屬到同一個組裡面,這樣就不用重複多次設定每個使用者的許可權等參數,簡化配置和管理工作。點擊右邊的“Add”按鈕建立新群組。
組建立完成以後,點“Shared folders”進入目錄使用權限設定頁面。點擊中間地區的“Add”按鈕添加目錄。預設狀態添加的第一個目錄即為該組使用者登入之後看到的主目錄(Home Directory),主目錄前面有個粗體的“H”標識。目錄列表右側分別是對該目錄的操作使用權限設定,上面是檔案使用權限設定,下面是目錄使用權限設定。如果要改變主目錄,只要在列表中選中需要設定為主目錄的那個,然後點擊“Set as home dir”按鈕即可。
設定好主目錄之後,再點擊“Add”按鈕把其餘的目錄依次設定進來就可以了。不過這裡得注意,如果僅僅把別的目錄添加進去,那麼你用用戶端串連之後,會發現除了主目錄和它的子目錄之外,別的目錄都看不見。這是怎麼回事?這裡要說明一個概念——虛擬路徑。所謂虛擬路徑,就是在用戶端看到的目錄結構。由於一個使用者只能有一個主目錄,別的目錄如果不映射成虛擬目錄的話,用戶端將看不到它。所以只有把除了主目錄之外的其它目錄,虛擬成主目錄的子目錄,這樣在用戶端才能看到。
比如本例,主目錄是D:\Downloads,如果不做虛擬路徑設定,那麼用戶端登入進來只能看到主目錄裡面的內容,還有一個E:\FTPRoot目錄下面的東西看不到。如何設定虛擬路徑?滑鼠右鍵點擊列表中的“E:\FTPRoot”目錄,在彈出的菜單裡面選“Edit aliases”編輯別名;現在要把E:\FTPRoot目錄作為用戶端主目錄下的FTPRoot目錄,那麼就在彈出的視窗裡面輸入“D:\Downloads\FTPRoot”並點擊“OK”按鈕確定。注意拼字規則,路徑的前面部分必須是主目錄的絕對路徑。這樣設定之後,在用戶端就可以看到一個“FTPRoot”目錄,這個目錄其實就是E:\FTPRoot目錄。
組設定中的“Speed Limits”和“IP Filter”跟全域設定裡面的速度限制和IP過濾器設定方法是一樣的,請參照前面的內容。只不過這個是僅僅針對這個組的使用者生效。而全域設定是對所有的使用者都生效。設定完畢之後點擊“OK”按鈕回到主介面。
許可權說明:
檔案:
Files → Read:可下載檔桉。
Files → Write:可上傳檔桉。
Files → Delete:可刪除檔桉。
Files → Append:即把檔案下載到本機複本並開啟編輯,在關閉時再上傳到伺服器。(問題:不知道是不是在伺服器端進行執行編輯。)
目錄:
Directories → Creat:可新增子資料夾。
Directories → Delete:可刪除子資料夾。
Directories → List:可列出資料夾中的檔桉。
Directories → +subdirs:列出檔案夾中的子檔案夾。
注意:在FileZilla Server裡設定的對檔案、目錄的許可權,需要依賴Windows作業系統中SYSTEM帳號對檔案、目錄的使用權限設定。
第2步 設定使用者(Users)。點擊主介面第四個按鈕或者由“Edit”——“Users”菜單進入。
點擊右邊的“Add”按鈕建立使用者,輸入使用者名稱test 。
選中Password前邊的多選框,然後輸入密碼123456。
然後從“Group membership”欄選擇該使用者所屬的組(Group),這樣該使用者將繼承該組的所有屬性/許可權,不用再單獨一一設定這些參數了。這也是設定組體現的方便性,在使用者比較多的時候使用組來分類會使得管理工作更加方便、高效。當然,也可以設定一個不屬於任何組的使用者,這樣的話,就得單獨定製該使用者的許可權。對於少量特殊使用者,可以用這種方式設定。
返回到使用者管理介面,點擊設定檔案夾目錄,點擊Add添加目錄。
添加完成,再右側選中test使用者對這個目錄的許可權,然後點擊左側的OK按鈕,配置完成。
現在可以使用用戶端來測試登入了。
開啟FTP用戶端軟體,輸入test使用者名稱和密碼123456,登入到伺服器。
登入成功後,可以看到剛才制定的FTP目錄下的檔案,並具有相應的上傳、下載許可權。
至此,FileZilla Server的基本設定就完成並可以運行了。
啟用SFTP設定如下:
開啟“Users”對話方塊:添加使用者;輸入密碼;選中“Force SSL for user login”,目的是強制使用 SSL,當然如果不選的話,要不要使用 SSL,就由用戶端自己選擇了。
在“Shared folders”中添加 FTP 檔案夾,並設定相應許可權。
用 FileZilla Client 串連 FTP 伺服器。和普通的串連相同,只是注意選擇 Servertype,如:
對於初次使用FTP Server軟體的使用者,本文也可以作為入門參考。其實所有的FTP Server軟體安裝設定的基本原理都是類似的,掌握了一個之後,別的可以舉一反三融會貫通。
http://ce.sysu.edu.cn/hope2008/Education/ShowArticle.asp?ArticleID=13136