vsftpd是linux系统下的一套开源FTP服务器软件,在企业中对一些资源的快速共享等功能为我们提供了很好的帮助,企业内部资源是很需要安全性防护的,下面我们就通过ssl/tls来实现vsftpd的安全通信;并且进一步通过PAM实现vsftpd虚拟用户认证,下面就让我们一起来看一看吧
vsftpd的安全通信实现
安装vsftpd与mod_ssl模块
# yum install vsftpd –y
# yum install mod_ssl -y
修改openssl.conf配置文件中相对路径
dir = /etc/pki/CA
准备CA必需的目录及文件
# mkdir certs newcerts crl
# touch index.txt
# echo 01 > serial
为CA准备私钥
# (umask 077;openssl genrsa -out private/cakey.pem 2048)
CA自签署证书
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
vsftpd服务器准备
创建个特定目录
# mkdir /etc/vsftpd/ssl
生成vsftpd服务器自身私钥
# cd /etc/vsftpd/ssl
# (umask 077;openssl genrsa -out vsftpd.key 2048)
生成自签署证书
# openssl req -new -key vsftpd.key -out vsftpd.csr
CA签署vsftpd服务器的证书请求
# openssl ca -in vsftpd.csr -out vsftpd.crt
编辑vsftpd.conf配置文件,在文件末行添加一下指令
ssl_enable=YES ----启用ssl功能
ssl_sslv3=YES ----支持sslv3协议
ssl_tlsv1=YES ----支持tlsv1协议
allow_anon_ssl=NO----匿名用户不启用ssl加密访问
force_local_data_ssl=YES ----强制本地用户文件传输使用ssl
force_local_logins_ssl=YES ----强制本地用户登陆需ssl认证
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.crt -----vsftpd服务器证书文件路径
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key----vsftpd服务器自身密钥文件路径
配置完成启动vsftpd服务
匿名用户登陆测试
本地用户登陆测试(笔者已经创建了用户Hadoop)