ProFTPDに、TLSを用いた暗号化機能を追加する
暗号化に用いる鍵ファイル・証明書ファイルを作成する。これは、httpsの設定の時に作成したものを流用する。
作成方法はこちら → Apache初期設定 (SSL追加) on Fedora 8
概略は
[root@localhost ~]# cd /etc/pki/tls/certs ← 鍵ファイルのフォルダに移動
[root@localhost certs]# make server.key ← 秘密鍵作成
[root@localhost certs]# openssl rsa -in server.key -out server.key ← 秘密鍵の暗号化解除
[root@localhost certs]# make server.csr ← 公開鍵の作成
[root@localhost certs]# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 1095 ← 証明書の作成
ProFTPD設定ファイルの編集
/etc/proftpd.conf
# TLS
# Explained at http://www.castaglia.org/proftpd/modules/mod_tls.html
TLSEngine on
#TLSRequired on ← TLS強制にする場合はコメントを消す
TLSRSACertificateFile /etc/pki/tls/certs/server.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/server.key
TLSCipherSuite ALL:!ADH:!DES
#TLSOptions NoCertRequest
TLSVerifyClient off ← 証明書を検査しない
##TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd/tls.log
Windows側クライアントソフトは、FFFTPはTLSに対応していないため、SmartFTPを用いてアクセスする。
プロトコル : FTP over SSL Explicit を選択する
転送コマンドは暗号無し、転送するファイルの内容も暗号化無しの場合は
接続コントロール : クリア
ファイル転送 : クリア
リスト転送 : クリア
を選択する。
転送コマンドは暗号無し、転送するファイルの内容は暗号化する場合は
接続コントロール : クリア
ファイル転送 : セキュア
リスト転送 : セキュア
を選択する。
転送するファイルの「ファイル名」を秘匿できない。気になるなら、SSHを使うほうがよい。
※ SELinuxを有効にしている場合、「proftpdのipc_lockを阻止した」という警告が出る。ファイルの転送には問題は無いようだが、気になるならSELinuxをOFFにするということも…