proftpd

proftpd 教學


寫作環境: debian 5 lenny 64bit

安裝指令:

aptitude install proftpd

安裝過程中它會問你啟動模式,請選擇standalone 設定上會比較容易,若你選擇了另一種啟動模式inetd的話,那麼請確認你對這種模式相當熟悉再選擇它。

proftpd 是個功能強大的 ftp server,可細部調節的地方很多,它所有的設定全在此檔內 /etc/proftpd/proftpd.conf 可以點我下載參考設定檔

底下針對常用的安全性設定說明一下,其它的細節請參閱上面的參考設定檔

Port				25
#設定啟動時要監聽哪個 port
 
PassivePorts                  49152 65534
#設定被動式連線的 port 位的範圍
 
DefaultRoot			~
#將使用者困在他們的家目錄,有底下設定參考
#指定特定使用者登入後的根目錄。
#DefaultRoot /var/www webmaster
#設定每個使用者登入後的根目錄 ! 後為排除的使用者
#DefaultRoot /var/ftp !admin
#限制每個使用者都登入在自己的家目錄(”!” 後為排除的使用者)
#DefaultRoot ~ !admin
#DefaultRoot ~,!www-data,/var/www www-data
#↑上面這行的意思是,將所有使用者困在家目錄裡,除了www-data 群組,這群組被限制在 /var/www 這個目錄裡
 
#MaxClients 5 "Sorry, max %m users -- try again later"
#設定最多允許多少個使用者(不同IP)登入,後面為超過數量時顯示的訊息。
 
#MaxClientsPerHost 2
#設定最多允許多少個使用者(不同IP)登入,後面為超過數量時顯示的訊息。
 
#MaxLoginAttempts 3
# 設定使用者嘗試登入失敗後幾次斷線。
 
AllowStoreRestart on
#AllowStoreRestart: 允許上傳續傳。
 
AllowOverwrite			on
#設定是否可以覆寫檔案,預設是 off,可以用於整體設定與目錄區段設定
 
		#檔案刪除限制
DenyAll			#全部都不行
#Allowuser eric david	#僅允許 2 人

改 port位 ,這與防火牆有關,若你不知你 port 開啟的範圍,你就不知防火牆該打什麼洞

SSL 加密連線

使用加密連線,需要產生 SSL 憑證

debian 未自帶 ssl-cert 所以我們得先安裝這個套件

aptitude install ssl-cert

再下此指令產生一個憑證

openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 3650

↑下此指令後,需回答一些問題,然後會產生一個10年有效的憑證,檔案分別位於這裡 /etc/ssl/private/proftpd.key 和這裡 /etc/ssl/certs/proftpd.crt

開啟 ssl 連線功能,編輯 proftpd.conf

vim /etc/proftpd/proftpd.conf

找到底下這行,將前面的 # 號拿掉

#Include /etc/proftpd/tls.conf

編輯 tls.conf 檔

vim /etc/proftpd/tls.conf

將底下的內容貼至 <IfModule mod_tls.c> 和 </IfModule> 之間

TLSEngine on
TLSLog /var/log/proftpd-tls.log
TLSProtocol SSLv23
TLSRequired ctrl
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSVerifyClient off

然後重啟 proftpd

/etc/init.d/proftpd restart

然後請用 Filezilla 在連線的地方伺服器種類,請選擇  FTPES – 透過外顯式 TLS/SSL 的 FTP 這樣就可以了。

本篇發表於 Server。將永久鏈結加入書籤。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *