07-CentOS7服务器搭建-VSFTP

2018-04-20 11:24 阅读

作为服务器,开通FTP服务是常见的需求。VSFTP是最常见的FTP软件,非常安全、稳定、好用。

yum install vsftpd                    //安装vsftp
cd /etc/vsftpd/                       //进入vsfptd配置文件目录
cp vsftpd.conf vsftpd.conf.bak        //备份vsftpd.conf
vim /etc/vsftpd/vsftpd.conf           //修改配置文件

官方配置文件文档:https://security.appspot.com/vsftpd/vsftpd_conf.html

配置文件内容(不修改端口,修改端口容易出现一些奇怪的问题,比如list命令不可用或者创建文件失败等问题)

# 禁止匿名用户登录
anonymous_enable=NO
# 禁止用户改变自己的根目录。只能访问用户自己的根目录,而不能访问系统的根目录
chroot_local_user=YES
# 使用chroot_list文件设置允许访问系统根目录的用户
chroot_list_enable=YES
# 允许用户访问系统根目录的用户列表
chroot_list_file=/etc/vsftpd/chroot_list

开启chroot_local_user后,需要把用户根目录的写权限去掉chmod u-w /home/myname,或者在chroot_list文件中允许访问系统根目录。否者会出现无法登录ftp的现象。

vim /etc/vsftpd/chroot_list          //创建`chroot_list`文件

主动模式和被动模式

主动模式由服务器主动使用20端口连接客户端,容易管理,但因为要访问客户端高位端口,被认为不安全,且容易被客户端防火墙拦截。由于是服务器主动访问,属于服务器防火墙的出站规则,一般无需额外服务器配置防火墙。vsftpd配置如下:

connect_from_port_20=YES

被动模式则由客户端访问服务器,一般会设置比较大的端口号(如65100-65109)。服务器防火墙需放行该端口。vsftpd配置如下:

pasv_enable=YES
pasv_min_port=65100
pasv_max_port=65109

如需开启FTPS,则需使用被动模式。

ftp自启动服务

systemctl start vsftpd
systemctl enable vsftpd
systemctl restart vsftpd

客户端设置

  • 字符编码:UTF-8
  • 站点不支持FEAT命令:勾选

开启FTPS

生成证书

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

配置vsftpd

服务器防火墙需开启990端口。

# 是否使用ssl
ssl_enable=YES
# 是否允许匿名用户使用ssl
allow_anon_ssl=NO
# 强制使用ssl数据
force_local_data_ssl=YES
# 强制使用ssl登陆
force_local_logins_ssl=YES
# 开启ssl协议
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# 不重用 SSL 会话。更安全。
require_ssl_reuse=NO
# 使用高级加密方式
ssl_ciphers=HIGH
# 指定证书位置
rsa_cert_file=/etc/vsftpd/vsftpd.pem

# 开启隐式加密(必须开启,显式加密会超时;且需配合上面的被动模式)
implicit_ssl=YES
# 隐式加密的端口号改为990
listen_port=990
QQ咨询
电话
微信
微信扫码咨询