vsftpd 在 CentOS 上的数据加密实践
一 方案总览
二 快速配置步骤
yum -y install vsftpdmake vsftpd.pem(位于 /etc/pki/tls/certs/)openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt && cat /etc/ssl/certs/vsftpd.crt /etc/ssl/private/vsftpd.key > /etc/ssl/private/vsftpd.pemchmod 600 /etc/ssl/private/vsftpd.*firewall-cmd --permanent --add-port=990/tcpfirewall-cmd --permanent --add-port=40000-50000/tcpfirewall-cmd --reloadssl_enable=YESssl_tlsv1_2=YES(推荐,禁用 ssl_sslv2/ssl_sslv3)allow_anon_ssl=NOforce_local_logins_ssl=YESforce_local_data_ssl=YESrequire_ssl_reuse=NOssl_ciphers=HIGHrsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem(可选,若证书文件已含私钥)pasv_min_port=40000pasv_max_port=50000debug_ssl=YESsystemctl restart vsftpdftp 不支持加密会报错,属正常现象。三 进阶与合规
ssl_ciphers=HIGH 或更强策略。setsebool -P ftpd_full_access on)或目录上下文,确保 vsftpd 对相关目录有访问权限。四 常见问题与排查
debug_ssl=YES 查看日志。tcpdump -i eth0 -A dst <服务器IP> 验证;若仍为明文,说明未走 TLS(可能客户端未启用加密或配置错误)。五 可选替代方案 SFTP
sftp user@host 或支持 SFTP 的客户端传输;防火墙放行 22/TCP,无需额外 FTP 被动端口配置。