16 January 2008

ProFTPD設定 (TLS追加) on Fedora 8

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を用いてアクセスする。

20080116-ftp02.png
プロトコル : FTP over SSL Explicit を選択する

転送コマンドは暗号無し、転送するファイルの内容も暗号化無しの場合は
20080116-ftp01.png
接続コントロール : クリア
ファイル転送 : クリア
リスト転送 : クリア
を選択する。

転送コマンドは暗号無し、転送するファイルの内容は暗号化する場合は
20080116-ftp03.png
接続コントロール : クリア
ファイル転送 : セキュア
リスト転送 : セキュア
を選択する。

転送するファイルの「ファイル名」を秘匿できない。気になるなら、SSHを使うほうがよい。

※ SELinuxを有効にしている場合、「proftpdのipc_lockを阻止した」という警告が出る。ファイルの転送には問題は無いようだが、気になるならSELinuxをOFFにするということも…