SSL 設定

  1. 產生證書及 key
    [root@dywftp ~]# openssl req -days 3650 -new -x509 -nodes \
    > -out /etc/pki/tls/private/vsftpd.pem -keyout /etc/pki/tls/private/vsftpd.key \
    > -subj '/C=TW/ST=Taiwan/L=CYUT/O=CSIE/CN=csie.cyut Certificate Authority'
    Generating a 2048 bit RSA private key
    ......................................................+++
    .................................+++
    writing new private key to '/etc/pki/tls/private/vsftpd.key'
    

  2. 編輯 vsftpd 設定:指定證書及 key
    [root@dywftp ~]# vim /etc/vsftpd/vsftpd.conf 
    [root@dywftp ~]# grep rsa /etc/vsftpd/vsftpd.conf 
    rsa_cert_file=/etc/pki/tls/private/vsftpd.pem
    rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
    

  3. 編輯 vsftpd 設定:啟動 SSL,不允許匿名用戶,強制資料傳輸及登入都使用 SSL。
    [root@dywftp ~]# vim /etc/vsftpd/vsftpd.conf 
    [root@dywftp ~]# tail -n4 /etc/vsftpd/vsftpd.conf
    ssl_enable=YES
    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES
    

  4. 編輯 vsftpd 設定:明確的限制使用 TLS v1,其安全性高於 SSL。
    [root@dywftp ~]# vim /etc/vsftpd/vsftpd.conf 
    [root@dywftp ~]# tail -n3 /etc/vsftpd/vsftpd.conf
    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
    

  5. 編輯 vsftpd 設定:因已設定數據與控制流使用不相同通道,所以取消數據與控制流使用相同通道的設定。
    [root@dywftp ~]# vim /etc/vsftpd/vsftpd.conf 
    [root@dywftp ~]# tail -n1 /etc/vsftpd/vsftpd.conf
    require_ssl_reuse=NO
    

  6. 編輯 vsftpd 設定:憑證的加密模式,預設 DES。
    [root@dywftp ~]# vim /etc/vsftpd/vsftpd.conf 
    [root@dywftp ~]# tail -n1 /etc/vsftpd/vsftpd.conf
    ssl_ciphers=HIGH
    

  7. 重新啟動 vsftpd 服務
    [root@dywftp ~]# /etc/init.d/vsftpd restart
    Shutting down vsftpd:                                      [  OK  ]
    Starting vsftpd for vsftpd:                                [  OK  ]
    
  8. 設定開機啟動 vsftpd 服務
    [root@kvm8 ~]# chkconfig vsftpd on