FTP over SSL/TLS

鑒於一般情況下所使用的 ftp
帳號/密碼皆採明文方式傳送

而我自己又有一點被害妄想症,所以就趁著更新 server 上的 ftpd
順便把 SSL/TLS enable起來

(小聲說…)其實我以前就有玩過,不過失敗了
這次終於實作成功阿 ^_^

*環境

  • FreeBSD 4-STABLE
  • ProFTPD 1.2.9
    (寫這篇文章時已經有 Release Candidate:1.2.10rc1,不過我決定還是用 Production Edtion 比較好)
  • 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 都沒問題
    全部列表可以看這裡

    *參考資料
    http://www.castaglia.org/proftpd/modules/mod_tls.html
    http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-TLS.html

  • 發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *