■目的
Let's Encryptで暗号化のWebサーバにおいてftpの転送も暗号化します。

■前提条件
ftpは導入済みかつSSL証明書は入手済とします。
OS  /FTP CentOS 7 /vsftpd 3.0.2
SSL証明書
Let's Encrypt
■vsftpd構成ファイル
/etc/vsftpd/vsftpd.confファイルを編集します。
編集したらvsftpdを再起動します。
# vi /etc/vsftpd/vsftpd.conf
 :
# add letsencrypt
rsa_cert_file=/etc/letsencrypt/live/www.example.com/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/www.example.com/privkey.pem
ssl_enable=YES

force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

#pasv port
pasv_enable=YES
pasv_min_port=21000
pasv_max_port=21010

# systemctl restart vsftpd
■Firewall
ftpポート以外に固定したPASVポートを許可します。
# firewall-cmd --add-port=21000-21010/tcp --permanent
# firewall-cmd --reload
■ftpクライアント
使用中のFilezillaで[暗号化=明示的なftp over TLSが必要]を指定します。
[接続]のあと証明書の確認画面で[OK]すると暗号化接続となります。
filezilla
■結果
Let's Encryptの証明書を利用してftpの転送を暗号化しました。
Let's Encryptの証明書を更新後のvsftpdの再起動もれあり。
* certbot-auto renew --post-hook "systemctl restart httpd"
-> certbot-auto renew --post-hook "systemctl restart httpd & systemctl restart vsftpd"

  blog      MovableType