配置vsftpd使用SSL/TLS
1.建目录存放SSL/TLS用到的key mkdir /etc/ssl/private 2.生成自签名key和证书 使用命令:openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt 生成自签名key和证书过程中,Common Name填写服务器IP,其它可以忽略。 备注:如已购买SSL,可将购买SSL的key放至/etc/ssl/private/,证书放至/etc/ssl/certs/。 3.配置vsftpd使用SSL/TLS 编辑/etc/vsftpd/vsftpd.conf,在文件末尾增加如下配置项: ssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1_1=YESssl_tlsv1_2=YESssl_tlsv1=NOssl_sslv2=NOssl_sslv3=NOrequire_ssl_reuse=YESssl_ciphers=HIGHrsa_cert_file=/etc/ssl/certs/vsftpd.crtrsa_private_key_file=/etc/ssl/private/vsftpd.key 保存文件并重启vsftpd: systemctl restart vsftpd 备注:SSL配置项说明 //强制用户名/密码和数据进行SSL/TLS加密 force_local_data_ssl=YESforce_local_logins_ssl=YES //使用TLS 1.1和1.2提供的更强、更好的加密 ssl_tlsv1_1=YESssl_tlsv1_2=YES //TLS 1.0变得不安全了,所以要禁用它。请注意,一些较老的FTP客户端与新的TLS版本不兼容,可能需要将该选项设置为“YES”。 ssl_tlsv1=NO //额外的保护设置以对抗MITM攻击。这可能与一些较老的FTP客户端不兼容。如果遇到连接丢失,请将此选项设置为“NO”。 require_ssl_reuse=YES //要求服务器使用更强的密码套件 ssl_ciphers=HIGH 4.客户端测试: 4.1 windows客户端(示例filezilla client)配置: (1)加密下拉框选择“要求显式的FTP over TLS” (2)连接后出现证书提示,点击确定: (3)已连接登录FTP: 4.2 Linux客户端(示例lftp)配置: (1)首先安装lftp:yum -y install lftp (2)将服务器端证书vsftpd.crt拷贝到客户端,然后编辑/etc/lftp.conf 配置文件,在文件末尾添加: … Read more