如何在 Ubuntu 20.04 LTS 上安装带有 TLS 的 ProFTPD如何在 Ubuntu 20.04 LTS 上安装带有 TLS 的 ProFTPD如何在 Ubuntu 20.04 LTS 上安装带有 TLS 的 ProFTPD如何在 Ubuntu 20.04 LTS 上安装带有 TLS 的 ProFTPD
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 20.04 LTS 上安装带有 TLS 的 ProFTPD

通过 FTP(文件传输协议)传输文件可能仍然是将文件上传到服务器的最流行的方法之一。 ProFTPD 是一款流行且多功能的 FTP 服务器,可作为开源软件使用,并支持 TLS (SSL) 以实现安全连接。

默认情况下,FTP 是一种不安全的协议,因为密码和数据以明文形式传输。通过使用 TLS(正如我们在本指南中所做的那样),所有通信都可以加密,从而使 FTP 更加安全。

本文介绍如何在 Ubuntu 服务器 20.04 LTS 上使用 TLS 配置 proftpd。

先决条件

  1. Ubuntu 服务器 20.04 64 位
  2. sudo/root权限

我们将在本教程中做什么

  1. 安装 ProFTPD 和 TLS。
  2. 配置 ProFTPD。
  3. 添加 FTP 用户。
  4. 在 ProFTPD 中配置 TLS。
  5. 测试。

安装 Proftpd 和 OpenSSL

Proftpd 和 OpenSSL 在 Ubuntu 存储库中可用,因此我们可以使用 apt 命令安装它们:

sudo apt-get install -y proftpd openssl

ProFTPD 安装完毕,如下所示。安装过程不会要求任何输入。

现在我们将验证 proFTPD 是否已安装并启动。运行这个命令:

sudo proftpd --version

检查已安装的 ProFTPD 版本。接下来我们检查服务状态,使用systemctl命令查询:

sudo systemctl status proftpd

配置ProFTPD

安装 ProFTPD 后,您必须调整配置以使其成为功能齐全且安全的服务器。 ProFTPD 配置文件位于 /etc/proftpd/ 目录中 - 编辑文件 proftpd.conf。

sudo nano /etc/proftpd/proftpd.conf

在 Servername 行中,将值替换为您的主机名或域:

ServerName                      "My FTP-Server"

取消注释 DefaultRoot 行以为所有用户启用监狱:

DefaultRoot   		~

并通过 systemctl 命令按以下方式重新启动 ProFTPD。

sudo systemctl restart proftpd

添加 FTP 用户

有两种类型的 FTP 用户可用,匿名 FTP 用户和“普通”FTP 用户:

  1. 匿名 FTP:任何人都可以通过 FTP 服务器进行访问,而无需拥有用户帐户和密码。这不应该在公共服务器上使用,但可能是家庭服务器或公司 LAN 的一个选项。
  2. FTP用户:只有拥有用户帐户和密码的人才能访问FTP服务器。

在为 FTP 服务器创建用户之前,请将 /bin/false 添加到 /etc/shells 文件中。

sudo echo "/bin/false" >> /etc/shells

现在,创建一个具有特定主目录的用户,禁用 shell 访问权限,然后将其授予 FTP 服务器。

sudo useradd -m -s /bin/false tom
sudo passwd tom

上面的命令将创建一个名为 tom 的新用户,其主目录为 /home/tom/,但没有 shell 访问权限 /bin/false。

现在,配置 ProFTPD 以允许用户 tom 访问 FTP 服务器。

sudo nano /etc/proftpd/conf.d/tom.conf

添加此配置文件以允许用户 tom 登录并向服务器上传/下载文件:

<Directory /home/tom>
  Umask 022 022
  AllowOverwrite off
  <Limit LOGIN>
    AllowUser tom
    DenyALL
  </Limit>
  <Limit ALL>
    Order Allow,Deny
    AllowUser tom
    Deny ALL
  </Limit>
  <Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
    AllowUser tom
    Deny ALL
  </Limit>
</Directory>

该文件应如下所示:

保存文件并退出nano。然后重新启动ProFTPD。

sudo systemctl restart proftpd

您在此阶段已经可以使用 FTP,但我们将在下一步中使用 TLS 使其更安全。

使用 proftpd 配置 TLS

要使用 TLS,您必须创建 SSL 证书。使用 OpenSSL 命令生成 SSL 证书:

sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

上述命令将在/etc/ssl/certs/目录下生成证书文件proftpd.crt,并在/etc/ssl/private/目录下生成证书密钥文件proftpd.key。

接下来,将证书文件权限更改为 600:

sudo chmod 600 /etc/ssl/certs/proftpd.crt
sudo chmod 600 /etc/ssl/private/proftpd.key

现在,返回 /etc/proftpd 目录并配置 ProFTPD 以使用您生成的 SSL 证书。

nano /etc/proftpd/proftpd.conf

取消注释 TLS 行:

Include /etc/proftpd/tls.conf

保存 tls.conf 文件并退出。

接下来,编辑 TLS 配置文件以启用安全身份验证:

nano /etc/proftpd/tls.conf

取消注释所有这些行:

TLSEngine                               on
TLSLog                                  /var/log/proftpd/tls.log
TLSProtocol                             SSLv23

TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key

TLSOptions                      NoCertRequest EnableDiags NoSessionReuseRequired

TLSVerifyClient                         off

TLSRequired                             on

保存并退出。最后一步是重新启动 ProFTPD 服务器:

sudo systemctl restart proftpd

测试 ProFTPD

要测试配置,请尝试使用 FileZilla(我在这里使用 FileZilla)等软件连接到您的 FTP 服务器,并填写服务器 IP、用户名、密码和端口:

Server IP : 192.168.0.100
username : tom
Password ******
Port : 21

然后单击“快速连接”。

单击“确定”以确认我们的自签名 SSL 证书。

您将看到您已使用 TLS/SSL 证书登录到 FTP 服务器。

链接

  • ProFTPD 软件项目。关联
©2015-2025 艾丽卡 support@alaica.com