安装及使用vsftpd+ssl

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
运维安全中心(堡垒机),免费版 6个月
简介:
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
我的博客已迁移到xdoujiang.com请去那边和我交流
一、基础环境
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/lftp-fatal-error-certificate-verification-not-trusted/









本文转自 xdoujiang 51CTO博客,原文链接:http://blog.51cto.com/7938217/1680797,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
网络安全 Apache
Apache服务器安装SSL证书
Apache服务器安装SSL证书
128 0
|
安全 Linux 应用服务中间件
[笔记]CentOS7 vsftpd安装及配置使用
[笔记]CentOS7 vsftpd安装及配置使用
534 0
|
21天前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
111 0
|
22天前
|
域名解析 安全 网络安全
阿里云服务器WordPress环境上安装SSL证书
阿里云服务器WordPress环境上安装SSL证书
|
2月前
|
前端开发 Java 应用服务中间件
开发指南031-安装ssl证书
为增强安全性,平台可安装ssl证书。对于平台不同的组成部分需要采用不同的方式,使用不同的证书格式
|
3月前
|
应用服务中间件 网络安全 nginx
运维专题.Docker+Nginx服务器的SSL证书安装
运维专题.Docker+Nginx服务器的SSL证书安装
112 3
|
3月前
|
Ubuntu 应用服务中间件 网络安全
如何从商业证书颁发机构安装 SSL 证书
如何从商业证书颁发机构安装 SSL 证书
43 0
|
3月前
|
存储 安全 Linux
如何在 CentOS VPS 上配置 vsftpd 使用 SSL/TLS
如何在 CentOS VPS 上配置 vsftpd 使用 SSL/TLS
62 0
|
6月前
|
前端开发 应用服务中间件 网络安全
http转为https,ssl证书安装及nginx配置
http转为https,ssl证书安装及nginx配置
169 1
|
6月前
|
JavaScript 应用服务中间件 网络安全
nginx 配置 解决 vue history模式下空白 ,以及SSL证书安装
nginx 配置 解决 vue history模式下空白 ,以及SSL证书安装