漏洞描述:远程FTP服务器允许以明文形式传输用户的名称和密码,这可以被网络嗅探器或中间人攻击拦截
解决方法:切换到SFTP(SSH套件的一部分)或FTPS(通过SSL / TLS的FTP)。在后一种情况下,配置服务器以使控制连接被加密
FTP添加证书步骤:
(1) 检查 vsftpd 是否支持 SSL 模块
ldd $(which vsftpd) | grep ssl
(2) 创建证书
进入证书存放的位置
[root@centos7 ~]# cd /etc/pki/tls/certs
(3) 生成密钥文件
[root@centos7 certs]# make vsftpd.pem
(4) 复制证书到vsftpd目录
[root@centos7 certs]# cp -a vsftpd.pem /etc/vsftpd
(5) 查看一下被复制到了/etc/vsftpd证书的详细资料,其中ls -l可以缩写为ll(L的小写)
[root@centos7 certs]# ls -l /etc/vsftpd/vsftpd.pem
(6) 为vsftpd配置证书
打开vsftpd配置文件
[root@centos7 certs]# vi /etc/vsftpd/vsftpd.conf
按下键盘上的“i”键,在文件后面加入以下配置
ssl_enable=YES
allow_anon_ssl=YES
force_anon_data_ssl=YES
force_anon_logins_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
然后按下键盘上的“ESC”退出编辑模式,最后输入:wq保存并退出
(7) 重启vsftpd服务
[root@centos7 certs]# systemctl restart vsftpd.service
(8) 使用FileZilla ftp客户端测试连接
登录时出现类似以下提示表示成功