proFTPDに限った話ではありませんがSSLサーバー化にはサーバー証明書が必要となります。証明書の作成についてはこちらで解説していますのでここでは省略します。既にApache やSendmail などでSSL化を行っている場合は、その証明書流用して構いません。ここでは、Apache SSLサーバー構築時に作成した証明書を指定しています。
ここでは、不特定多数に提供するサービスは前提としていません。限られた用途、組織内の利用で、FTP 通信経路の暗号化、保護を目的としています。
proFTPDの設定は、/etc/proftpd.conf で行います。 proFTPD の設定はApacheのディレクティブ設定に似ています。
#nogrropというグループはRedhatにはないので以下に変更
#Group nogroup
Group nobody
# デフォルトルートを指定します。chrootされるディレクトリを指します。
# " ~ "はユーザーのホームディレクトリの事です。
#DefaultRoot ~
DefaultRoot ~/pub
# SSLに関する設定を以下に追記
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/ssl.log
TLSProtocol SSLv23
TLSCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
# Are clients required to use FTP over TLS when talking to this server?
TLSRequired off
# Server's certificate
# Apacheのサーバー証明書と秘密鍵を流用しています。
TLSRSACertificateFile /etc/httpd/ssl/cert.pem
TLSRSACertificateKeyFile /etc/httpd/ssl/privkey.pem
# Authenticate clients that want to use FTP over TLS?
TLSVerifyClient off
</IfModule>
次はアクセス制限を設定します。