如何在Ubuntu 20.04上使用SSL / TLS安装和配置FTP服务器(vsftpd)

FTP或文件传输协议是一种非常古老的众所周知的协议,用于在客户端和服务器之间传输文件。仅在不使用TLS的情况下,它也是不安全的协议。在本教程中,我们将为TLS配置vsftpd,这使我们能够安全地使用FTP。目前,FTP通常已被更安全的协议(例如SFTP或SCP)取代。

但是,如果您需要在服务器上使用FTP,则vsftpd(非常安全的FTP守护程序)是一个理想的选择。

在本教程中,我们将学习如何在基于Ubuntu 20.04的服务器上使用vsftpd安装和配置FTP服务器。我们还将学习如何使用SSL / TLS协议保护连接的安全。

步骤1-安装vsftpd

第一步是安装vsftpd。
$ sudo apt update
$ sudo apt install vsftpd

接下来,我们需要备份原始配置文件,以便我们可以从全新的配置开始。
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

第2步-配置防火墙
在此步骤中,我们将配置UFW防火墙以允许访问FTP端口。

首先,让我们检查防火墙的状态。
$ sudo ufw status
Status: active

To Action From


OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

尽我们所能,到目前为止,仅允许使用SSH端口。让我们在使用TLS时打开端口20(FTP命令端口),21(FTP数据端口),990,并在将来可能需要的被动端口范围内打开端口35000-40000。
$ sudo ufw allow 20:21/tcp
$ sudo ufw allow 990/tcp
$ sudo ufw allow 35000:40000/tcp
$ sudo ufw status
Status: active

To Action From


OpenSSH ALLOW Anywhere
990/tcp ALLOW Anywhere
20:21/tcp ALLOW Anywhere
35000:40000/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
20:21/tcp (v6) ALLOW Anywhere (v6)
990/tcp (v6) ALLOW Anywhere (v6)
35000:40000/tcp (v6) ALLOW Anywhere (v6)

第3步-配置vsftpd
现在,我们将讨论一些重要设置,以使vsftpd正常工作。

首先打开配置文件
$ sudo nano /etc/vsftpd.conf

  1. FTP访问
    在本教程中,我们将仅允许本地用户进行FTP访问,并禁用任何匿名访问。为此,请确保存在以下几行,如下所示。
    anonymous_enable=NO
    local_enable=YES

2.启用文件上传
FTP在这里最重要的目的是能够写入服务器。取消注释以下行以通过删除文件前面的#来启用文件上传
write_enable=YES

3.Chroot监狱
当用户限制在某个目录中时,FTP效果最好。 vsftpd通过使用chroot jail来实现。为本地用户启用chroot时,默认情况下将它们限制在其主目录中。为此,请取消注释以下行。
chroot_local_user=YES

为了防止出现任何安全漏洞,只要将目录用户限制为可写的,则chroot启用时将不起作用。

为了解决这个限制,启用chroot时,我们有两种方法允许文件上传。

方法1-此方法通过使用其他目录进行FTP上传来起作用。在本教程中,我们将在用户家中创建一个ftp目录以用作chroot,并在其上创建第二个可写目录以上传文件。为此,请在文件底部添加以下几行。
user_sub_token=

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值