设为首页 收藏本站
查看: 1583|回复: 0

[经验分享] 安装及使用vsftpd+ssl

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-3 12:56:11 | 显示全部楼层 |阅读模式
一、基础环境
1、版本
cat /etc/debian_version
7.8

2、内核
uname -r
3.2.0-4-amd64

3、vsftpd版本
vsftpd: version 2.3.5

4、ip(eth0)
192.168.1.124

5、proftpd官网
vsftpd.beasts.org

6、需求
只允许fileftp用户连接并登录ftp并锁定在自定义的家目录中 其他系统(匿名)用户不能登录ftp,监听在本机的eth0地址

二、安装配置vsftpd服务端
1、apt方式安装
apt-get -y install vsftpd

2、创建ftp目录
mkdir /opt/ftp -p

3、创建ftp账户并修改密码
1)添加fileftp用户
useradd -s /bin/false -d /opt/ftp fileftp
2)设置密码
echo fileftp:redhat|chpasswd

4、修改配置
1)备份下配置
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
cp /etc/ftpusers /etc/ftpusers.bak
cp /etc/shells /etc/shells.bak
2)cat /etc/vsftpd.conf
listen_port=21
listen_address=192.168.1.124
listen=YES
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
dual_log_enable=YES
xferlog_file=/var/log/xferlog.log
vsftpd_log_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
pam_service_name=vsftpd
anonymous_enable=NO
local_root=/opt/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
3)配置只能fileftp可以登录ftp服务
cat /etc/passwd|grep -v "fileftp"|awk -F: '{print $1}' > /etc/ftpusers
4)查看下
cat /etc/ftpusers
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
libuuid
sshd
jimmy
messagebus
ftp
5)ftp会检查/etc/shells文件,因为上面添加用户时使用的shell是/bin/false
echo "/bin/false" >> /etc/shells
6)查看下
cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/false
7)如果没有这个文件 就新建1个文件
echo "fileftp" > /etc/vsftpd.user_list

5、配置说明
listen_port=21                                 #监听端口
listen_address=192.168.1.124                   #监听地址
listen=YES                                     #使用standalone方式启动服务
local_enable=YES                               #使用系统用户登录
write_enable=YES                               #允许上传
local_umask=022                                #本地用户文件属性
xferlog_enable=YES                             #开启日志
xferlog_file=/var/log/xferlog.log              #日志存放地方
xferlog_std_format=YES                         #以标准xferlog的格式输出日志
vsftpd_log_file=/var/log/vsftpd.log            #日志存放地方
dual_log_enable=YES                            #启用双份日志
chroot_local_user=YES                          #限制在家目录中
pam_service_name=vsftpd                        #使用pam认证,具体配置看/etc/pam.d/vsftpd
anonymous_enable=NO                            #不允许匿名用户登录
local_root=/opt/ftp                            #登录的ftp账户的家目录在/opt/ftp
userlist_enable=YES                            #启用vsftpd.user_list文件
userlist_file=/etc/vsftpd.user_list            #具体配置文件存放路径
userlist_deny=NO                               #在vsftpd.user_list中的用户才可以连接ftp

6、重启vsftpd服务
/etc/init.d/vsftpd restart
Stopping FTP server: vsftpd.
Starting FTP server: vsftpd.

7、查看端口
netstat -tupnl|grep 21
tcp        0      0 192.168.1.124:21        0.0.0.0:*               LISTEN      5713/vsftpd

8、查看进程
ps -ef |grep vsftpd
root       5713      1  0 10:09 ?        00:00:00 /usr/sbin/vsftpd

三、测试
1、安装lftp客户端
apt-get -y install lftp

2、创建fileftp传输目录
mkdir /opt/ftp/fileftp -p && cd /opt/ftp/ && chown fileftp.fileftp fileftp -R

3、测试登陆(linux下)
lftp fileftp:'redhat'@192.168.1.124
lftp jimmy:'redhat'@192.168.1.124
lftp root:'redhat'@192.168.1.124
lftp 192.168.1.124

4、查看日志(从1台ip为192.168.1.120测试的)
Sat Aug  1 12:33:38 2015 [pid 2] CONNECT: Client "192.168.1.120"
Sat Aug  1 12:33:38 2015 [pid 1] [fileftp] OK LOGIN: Client "192.168.1.120"
PS:查看到只有fileftp登录成功,root和jimmy和匿名用户都登录失败

5、工具测试

wKioL1W8Z4Kj-HzNAAMVM-e8oEQ466.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
四、配置ssl
1、安装包
apt-get -y install openssl

2、创建一个证书(时间365天)并填写相关一些信息
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -out /etc/ssl/certs/vsftpd.pem -keyout /etc/ssl/certs/vsftpd.pem
Generating a 2048 bit RSA private key
..........+++
.............+++
writing new private key to '/etc/ssl/certs/vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:shanghai
Locality Name (eg, city) []:shanghai
Organization Name (eg, company) [Internet Widgits Pty Ltd]:aaa
Organizational Unit Name (eg, section) []:aaa
Common Name (e.g. server FQDN or YOUR name) []:aaa
Email Address []:

3、修改权限
chmod 0400 /etc/ssl/certs/vsftpd.pem

4、ssl具体配置/etc/vsftpd.conf最后添加
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
ssl_sslv2=YES
ssl_sslv3=YES
ssl_tlsv1=YES

5、配置说明
ssl_enable=YES                            #开启vsftpd对ssl协议的支持
ssl_sslv2=YES                             #支持SSL v2 protocol
ssl_sslv3=YES                             #支持SSL v3 protocol
ssl_tlsv1=YES                             #支持TSL v1
rsa_cert_file=/etc/ssl/certs/vsftpd.pem   #存放证书地方

6、重启服务
/etc/init.d/vsftpd restart
Stopping FTP server: vsftpd.
Starting FTP server: vsftpd.

7、测试
1)lftp fileftp:'redhat'@192.168.1.124
ls: Fatal error: Certificate verification: Not trusted
解决在/etc/lftp.conf文件中添加1行到最后
set ssl:verify-certificate no
再登录一次就OK了
2)查看日志
Sat Aug  1 13:52:23 2015 [pid 2] CONNECT: Client "192.168.1.124"
Sat Aug  1 13:52:23 2015 [pid 2] DEBUG: Client "192.168.1.124", "Connection terminated without SSL shutdown - buggy client?"
Sat Aug  1 13:56:25 2015 [pid 2] CONNECT: Client "192.168.1.120"
Sat Aug  1 13:56:25 2015 [pid 1] [fileftp] OK LOGIN: Client "192.168.1.120"

8、工具测试(flashfxp)



wKioL1W8Z6-DvZdKAAF_eazDch0333.jpg

wKiom1W8ZdWTJ6l2AAGsnFufwBA975.jpg
wKiom1W8ZebwhCbeAAJUqbTf_Q4457.jpg
1
2
五、参考文章
http://rajaseelan.com/2011/12/18 ... cation-not-trusted/



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93716-1-1.html 上篇帖子: linux下vsftp软件正常启动了,也能正常连接,但是就是没办法正常浏览文件夹 下篇帖子: centOS6下vsftp服务配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表