#環境
-CentO5
-proftpd-1.3.5
-crypto-utils
#解壓縮tarball
shell># tar xzvf proftpd-1.3.5.tar.gz
#編譯安裝
shell># cd proftpd-1.3.5
shell># ./configure --prefix=/usr/local/proftpd --enable-ctrls --enable-dso --with-shared=mod_tls
shell># make && make install
#建立自我發行憑証(若沒有genkey工具表示沒安裝crypto-utils套件)
shell># genkey --days 3650 test.ftp.biz
接下來按照該工具指示建立自我發行憑證,加密建議用2048bit,建好的憑證預設會放於/etc/pki/tls/{private,certs}目錄下
#編輯設定檔
shell># vim /usr/local/proftpd/etc/proftpd.conf
ServerName "FTP service"
ServerType standalone
Port 21
Umask 027
User nobody
Group nobody
DefaultRoot ~
AllowOverwrite on
#關閉FTP資訊
ServerIdent off
#使用ftpuser檔管制登入帳號
UseFtpUsers on
#logs
TransferLog /var/log/xferlog
SyslogFacility local0
SyslogLevel info
#mod_tls設定
#載入mod_tls模組
<ifmodule mod_dso.c>
LoadModule mod_tls.c
</ifmodule>
#建議用SSLv3及TLSv1,否則弱掃通常會抱怨v2版本太低
<ifmodule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd_tls.log
TLSProtocol SSLv3 TLSv1
TLSRequired on
TLSVerifyClient off
TLSRenegotiate none
TLSRSACertificateFile /etc/pki/tls/certs/test.ftp.biz.cert
TLSRSACertificateKeyFile /etc/pki/tls/private/test.ftp.biz.key
</ifmodule>
#設定完成後,可以用以下參數確認設定
shell># /usr/local/proftpd/sbin/proftpd -t -c /usr/local/proftpd/etc/proftpd.conf
Syntax check complete.
#啟動服務
shell># /usr/local/proftpd/sbin/proftpd -c /usr/local/proftpd/etc/proftpd.conf
#Redhat系統也可以從tarball裡取得initscript 由 chkconfig 管理服務啟動
shell># ls proftpd-1.3.5/contrib/dist/rpm/proftpd.init.d
問題
連線時tlslog發現以下訊息,連線狀態會卡在初始TLS
unable to accept TLS connection: received EOF that violates protocol
可能原因
檢查防火牆設定確認有放行FTP服務,或者採用固定的PassivePorts參數固定被動連接埠
參考文獻
http://www.proftpd.org/docs/howto/TLS.html
沒有留言:
張貼留言