vsftpd+ssl配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftpd+ssl配置相关的知识,希望对你有一定的参考价值。

VSFTPd+ssl配置

测试环境:

Centos  6.5 X64

ftp软件为filezilla


 1、查看是否有安装vsftpd

[[email protected]~]# rpm -qa vsftpd

如果有可以删除

[[email protected]~]# rpm -e nodeps vsftpd

安装vsftpd

[email protected]~]# yum install -y vsftpd



2、启动测试

[[email protected] ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
[[email protected] ~]# service vsftpd status
vsftpd (pid 3558) is running...
[[email protected] ~]# service vsftpd stop
Shutting down vsftpd:                                      [  OK  ]


3、配置vsftpd

     a,查找安装位置

[[email protected] ~]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

      b,进入目录

[[email protected] vsftpd]#cd /e      tc/vsftpd
[[email protected] vsftpd]# ls
ftpusers user_list  vsftpd.conf  vsftpd_conf_migrate.sh

      c、修改之前先备份

[[email protected] vsftpd]# cp vsftpd.confvsftpd.conf.bak
[[email protected] vsftpd]# ls
ftpusers user_list  vsftpd.conf  vsftpd.conf.bak  vsftpd_conf_migrate.sh

     d、修改默认配置文件

       

anonymous_enable=NO
       chroot_local_user=NO
chroot_list_enable=YES
userlist_enable=NO
user_config_dir=/etc/vsftpd/upload_user_config

 重要配置说明:

1.#是否可以浏览非主目录的内容,NO表示不可以

chroot_local_userNO

#这行必须要有, 否则文件vsftpd.chroot_list不会起作用

chroot_list_enable=YES 

chroot_list_file=/etc/vsftpd/chroot_list

2.当创建虚拟帐户时,需要给每个帐号都配置好权限,因此这些配置文件与帐号同名,生成在user_config_dir=/etc/vsftpd/upload_user_configvsftpd.conf中)这个目录下。

 

4、配置pam.d

[[email protected] vsftpd]# cp /etc/pam.d/vsftpd/etc/pam.d/vsftpd.bak
[[email protected] vsftpd]# vi /etc/pam.d/vsftpd

pam.d进行配置,注释掉里面全部内容,并添加

#%PAM-1.0
# 32-bit
#authrequired /lib/security/pam_userdb.so db=/etc/vsftpd/login
#accountrequired /lib/security/pam_userdb.so db=/etc/vsftpd/login
# 64-bit
authsufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

 

 

5、创建用户

            

[[email protected] vsftpd]# mkdir-p /etc/vsftpd/upload/gxl
[[email protected] vsftpd]# useradd -d /etc/vsftpd/upload/gxl/ -g ftp-s /sbin/nologin gxl
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[[email protected] vsftpd]# chown -R gxl:ftp /etc/vsftpd/upload/gxl/
[[email protected] vsftpd]# chmod -R 700 /etc/vsftpd/upload/gxl

 

6对没有配置ssl的进行抓包测试

安装抓包工具:

[[email protected] vsftpd]# yum install wireshark–y

进行抓包

[[email protected] vsftpd]# tshark -ni eth0 -R"tcp.dstport eq 21"

FTP软件显示连接状态

技术分享



开启抓包进行抓包:

技术分享

显示帐号和密码均为ywgxl

7、关于ssl的配置

    A、查看是否支持ssl

[[email protected] vsftpd]# ldd `which vsftpd`|grep ssl
       libssl.so.10=> /usr/lib64/libssl.so.10 (0x00007f1b5d1c5000)

如果有出现 libssl.so 的字样,就是有支持!这样才能够继续下一步

B 生成ssl密钥并复制到/etc/ssl/certs目录下(密钥有效期为一个月)

[[email protected] vsftpd]openssl req -new-x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
[[email protected] vsftpd]cp vsftpd.pem/etc/ssl/certs/vsftpd.pem
[[email protected] vsftpd]chmod 400/etc/ssl/certs/vsftpd.pem

C、修改可支持sslvsftpd配置文件,追加到vsftpd.conf结尾

# ssl config

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/certs/vsftpd.pem
pasv_max_port=65535
pasv_min_port=64000


 

8、重启vsftpd服务

[[email protected] vsftpd]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

 

在重启vsftpd服务后,FTP软件连接第一次会出现如下提示。

8、验证配置ssl后登录并抓包

技术分享


抓包数据:

技术分享


 抓包显示用户名和密码为数字

测试帐号和密码为ywgxl



本文出自 “菜鸟八哥” 博客,请务必保留此出处http://cainiaibage.blog.51cto.com/5307589/1982487

以上是关于vsftpd+ssl配置的主要内容,如果未能解决你的问题,请参考以下文章

Centos6.5基于SSL加密的VSFTPD 服务器搭建和配置

配置 vsftpd 使用 SSL 证书加密数据传输

vsftpd服务

文件共享服务之vsftpd

文件共享服务之vsftpd

centos6.8服务器配置之vsftpd配置