Linux下使用OpenSSL创建安全的vsFTP

vsFTPd是Linux上的FTP服务器软件之一,它支持很多选项,其中有一条允许使用OpenSSL对数据进行加密,这样可以在一定程度上弥补FTP在传输帐号密码信息时铭文传送的缺陷,可以使FTP帐号更安全一些。

1.首先,安装vsftpd

# yum install vsftpd


2.建立CA

# cd /etc/pki/CA 
# mkdir certs newcerts crl 
# touch index.txt serial 
# echo 01 > serial 
# vim /etc/pki/tls/openssl.conf # 修改如下字段,这样在颁发证书的是否方便 
[ CA_default ] 
dir = /etc/pki/CA # 指定CA的路径 
[ req_distinguished_name ] 
countryName_default = CN # 默认国家名 
stateOrProvinceName_default = HN # 省份 
localityName_default = ZZ # 地区 
0.organizationName_default = RHCE # 公司名称 

# openssl genrsa 1024 > private/cakey.pem 
# openssl req -new x509 -key private/cakey.pem -out cacert.pem 
一阵回车,注意要配置域名!CA证书建立好了 
chmod 600 private/cakey.pem cacert.pem 
3.给vsftpd颁发证书

# cd /etc/vsftpd/ 
# mkdir ssl 
# openssl genrsa 1024 > ssl/ftp.key 
# openssl req -new -key ssl/ftp.key -out ssl/ftp.req 
又是一阵回车,vsfptd的请求证书申请号了 
# openssl ca -in ssl/ftp.req -out ssl/ftp.crt 
确定签署 
# rm ssl/ftp.req -f 
# chmod 600 ssl/ftp.* 
4.编辑配置文件,添加如下行

# vim /etc/vsftpd/vsftpd.conf 
添加如下行 
# SSL configure 
ssl_enable=YES 
ssl_tlsv1=YES //建议开启这个就行了 
ssl_sslv2=NO 
ssl_sslv3=NO 
allow_anon_ssl=YES //匿名用户开启使用ssl 
force_local_data_ssl=YES //强制数据传输使用加密 
force_local_logins_ssl=YES //强制登录时使用ssl 
rsa_cert_file=/etc/vsftpd/ssl/ftp.crt 
rsa_private_key_file=/etc/vsftpd/ssl/ftp.key 
5.开启vsftpd服务,在客户端就可以使用ssl加密方式访问ftp了

# service vsftpd start

6.我们在服务端使用命令抓包来看看数据是否是加密后的

# tcpdump -i eth0 -A dst 192.168.0.48

猜你喜欢

转载自www.cnblogs.com/20560838q/p/12346000.html
今日推荐