設定 vsftpd 使用 SSL 加密連線
方式一:使用自我簽署(Self-Signed)
mkdir /etc/vsftpd/cert openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/vsftpd/cert/mydomain.key -out /etc/vsftpd/cert/mydomain.crt
方式二:使用第三方機構簽署 TWNCA
使用 Linux 主機產生兩個檔案
openssl genrsa -out /etc/vsftpd/cert/mydomain.key 2048 openssl req -new -key /etc/vsftpd/cert/mydomain.key -out /etc/vsftpd/cert/mydomain.csr
將上述檔案 mydomain.csr 上傳至 TWCA 官網,並完成申請簽署的程序。一旦官方完成憑證簽署,會以 Email 方式通知,並可以下載簽署後的憑證檔
TWCA 簽署後的憑證檔包含下述檔案
- root.crt 根憑證檔
- server.crt 伺服器憑證檔
- uca_1.crt 中繼憑證#1檔
- uca_2.crt 中繼憑證#2檔
上述檔案在這篇教學只會用到 server.crt
cp server.crt /etc/vsftpd/cert/mydomain.crt chown root:root /etc/vsftpd/cert/mydomain.cer chmod 0600 /etc/vsftpd/cert/mydomain.cer
Configure vsftpd
編輯 /etc/vsftpd/vsftpd.conf
# SSL Configuration
rsa_private_key_file=/etc/vsftpd/cert/mydomain.key
rsa_cert_file=/etc/vsftpd/cert/mydomain.crt
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_ciphers=HIGH
Q: Error: 500 OOPS: SSL: cannot load RSA private key
openssl x509 -noout -text -in /etc/vsftpd/cert/ftp-winfoundry-com.cer
openssl rsa -noout -text -in /etc/vsftpd/cert/ftp-winfoundry-com.key
Modulus (2048 bit):
00:d8:c9:f1:a5:4e:11:62:7d:f4:03:fd:22:fd:71:
26:a3:48:8c:bb:0e:d5:69:ae:9c:2e:f0:89:7a:ea:
97:05:44:07:7d:c8:08:0a:83:3b:72:7d:1a:f3:d7: