现在的位置: 首页 > 综合 > 正文

linux下使用openssl创建安全的vsftp

2013年09月10日 ⁄ 综合 ⁄ 共 1217字 ⁄ 字号 评论关闭


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

抱歉!评论已关闭.