proftpd over SSL TLS

FTP over SSL/TLS

鑒於一般情況下所使用的 ftp

帳號/密碼皆採明文方式傳送

而我自己又有一點被害妄想症,所以就趁著更新 server 上的 ftpd

順便把 SSL/TLS enable起來

*環境

FreeBSD 4-STABLE

ProFTPD 1.2.9

OpenSSL 0.9.7a

*安裝

在此,假設已經設定好伺服器端的 SSL

所以只針對 ProFTPD 的安裝:

一般來講,ProFTPD 的編譯參數是不包含 SSL/TLS 支援的

所以我們必須手動加上參數

./configure –with-modules=mod_tls

make

make install

或使用 FreeBSD 安裝時加上 “WITH_OPENSSL”:

cd /usr/ports/proftpd;make install clean WITH_OPENSSL=YES

*設定

編輯 /usr/local/etc/proftpd.conf

TLSEngine on

TLSLog /var/log/ftp_tls.log

# 使用的協定,建議使用 SSLv23,可以兼顧 SSLv3 & TLSv1

TLSProtocol SSLv23

# 所有用戶端都必須使用 FTP over TLS 連到這台 server 嗎?

TLSRequired off

# Server’s certificate

TLSRSACertificateFile /etc/ssl/certs/ftp.crt

TLSRSACertificateKeyFile /etc/ssl/private/ftp.key

# CA the server trusts

TLSCACertificateFile /etc/ssl/certs/root.crt

# 當用戶端使用 FTP over TLS 時,是否檢查憑證?

TLSVerifyClient off

*客戶端的使用方式

把 ftp client 的 SSL/TLS 加密選項勾選起來即可

記得選 “explicit”,不要選到 “implicit”

已經確定支援的 client 像是 CuteFTP、SmartFTP、FileZilla 都沒問題

全部列表可以看這裡