vsftpd+ssl配置

VSFTPd+ssl配置

測試環境:

Centos  6.5 X64

ftp軟件爲filezilla


 1、查看是否有安裝vsftpd

[root@nfsclient~]# rpm -qa vsftpd

如果有可以刪除

[root@nfsclient~]# rpm -e nodeps vsftpd

安裝vsftpd

root@nfsclient~]# yum install -y vsftpd



2、啓動測試

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


3、配置vsftpd

     a,查找安裝位置

[root@nfsclient ~]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

      b,進入目錄

[root@nfsclient vsftpd]#cd /e      tc/vsftpd
[root@nfsclient vsftpd]# ls
ftpusers user_list  vsftpd.conf  vsftpd_conf_migrate.sh

      c、修改之前先備份

[root@nfsclient vsftpd]# cp vsftpd.confvsftpd.conf.bak
[root@nfsclient 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

[root@nfsclient vsftpd]# cp /etc/pam.d/vsftpd/etc/pam.d/vsftpd.bak
[root@nfsclient 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、創建用戶

            

[root@nfsclient vsftpd]# mkdir-p /etc/vsftpd/upload/gxl
[root@nfsclient 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.
[root@nfsclient vsftpd]# chown -R gxl:ftp /etc/vsftpd/upload/gxl/
[root@nfsclient vsftpd]# chmod -R 700 /etc/vsftpd/upload/gxl

 

6對沒有配置ssl的進行抓包測試

安裝抓包工具:

[root@nfsser vsftpd]# yum install wireshark–y

進行抓包

[root@nfsser vsftpd]# tshark -ni eth0 -R"tcp.dstport eq 21"

FTP軟件顯示連接狀態

2903f5cc3279a653709f6b4e708a7cb2.png-wh_



開啓抓包進行抓包:

6b1bd6d39dadd67766e080f9712843f1.png-wh_

顯示帳號和密碼均爲ywgxl

7、關於ssl的配置

    A、查看是否支持ssl

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

如果有出現 libssl.so 的字樣,就是有支持!這樣才能夠繼續下一步

B 生成ssl密鑰並複製到/etc/ssl/certs目錄下(密鑰有效期爲一個月)

[root@nfsser vsftpd]openssl req -new-x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
[root@nfsser vsftpd]cp vsftpd.pem/etc/ssl/certs/vsftpd.pem
[root@nfsser 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服務

[root@nfsser vsftpd]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

 

在重啓vsftpd服務後,FTP軟件連接第一次會出現如下提示。

8、驗證配置ssl後登錄並抓包

a4326c69dfe2faed05ab3939339ba331.png-wh_


抓包數據:

22ecc060c00e2a2fff607df41839791b.png-wh_


 抓包顯示用戶名和密碼爲數字

測試帳號和密碼爲ywgxl



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章