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

加载更多搜索结果...

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

如何在 Ubuntu 16.04 上安装支持 TLS 的 ProFTPd

本教程适用于这些操作系统版本

  • Ubuntu 16.04(Xenial Xerus)
  • Ubuntu 11.04(Natty Narwhal)

在此页

  1. 1 条初步说明
  2. 2 安装 ProFTPd 和 OpenSSL
  3. 3 为 TLS 创建 SSL 证书
  4. 4 在 ProFTPd 中启用 TLS
  5. 5 添加一个FTP用户
  6. 6 为 TLS 配置 FileZilla
  7. 7 将此设置下载为 VM
  8. 8 个链接

本教程展示了如何通过 ProFTPd 安全地安装和使用 FTP。没有 TLS 的 FTP 是一种不安全的协议,因为所有密码和所有数据都以明文形式传输。通过使用 TLS,可以对整个通信进行加密,从而使 FTP 更加安全。本文介绍如何在 Ubuntu 16.04 服务器上使用 TLS 设置 ProFTPd,如何添加 FTP 用户以及使用 FileZilla 与 TLS 安全连接。

1 初步说明

在本教程中,我将使用 IP 地址为 192.168.1.100 的主机名 server1.example.com。这些设置可能因您而异,因此您必须在适当的地方替换它们。

因为我们必须以 root 权限运行本教程中的所有步骤,所以我们可以在本教程中的所有命令前加上字符串 sudo,或者我们现在通过键入成为 root

sudo -s

在本教程中,我将使用 nano 编辑器来编辑配置文件。如果你也喜欢使用 nano 并且还没有安装它,那么运行这个命令来安装 nano。

apt-get -y install nano

2 安装 ProFTPd 和 OpenSSL

TLS 需要 OpenSSL;要安装 ProFTPd 和 OpenSSL,我们只需运行:

apt-get -y install proftpd openssl

你会被问到一个问题:

运行 proftpd: <-- 独立

出于安全原因,您应该将以下行添加到 /etc/proftpd/proftpd.conf:

nano /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
ServerIdent on "FTP Server ready."
[...]

第一个选项启用 FTP 用户到他们的主目录的 chrooting,第二个选项启用一个 ServerIdent 消息,其中不包含任何关于所使用的 FTP 服务器软件、版本或操作系统的信息,这样潜在的攻击者就不会在银盘上获得这些详细信息。

3 为 TLS 创建 SSL 证书

为了使用 TLS,我们必须创建一个 SSL 证书。我在 /etc/proftpd/ssl 中创建它,因此我首先创建该目录:

mkdir /etc/proftpd/ssl

之后,我们可以生成 SSL 证书,如下所示:

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

国家名称(2 个字母代码)[AU]:<-- 输入您的国家名称(例如,\DE\)。
州或省名称(全名)[Some-State]:<-- 输入您的州或省名称。
地方名称(例如,城市)[]:<-- 输入您的城市。
组织名称(例如,公司)[Internet Widgits Pty Ltd]:<-- 输入您的组织名称(例如,您公司的名称)。
组织单位名称(例如,部门)[]:<-- 输入您的组织单位名称(例如 \IT 部门\)。
通用名称(例如,您的name) []:<-- 输入系统的完全限定域名(例如 \server1.example.com\)。
电子邮件地址 []:<-- 输入您的电子邮件地址。

并保护生成的证书文件。

chmod 600 /etc/proftpd/ssl/proftpd.*

4 在 ProFTPd 中启用 TLS

为了在 ProFTPd 中启用 TLS,打开 /etc/proftpd/proftpd.conf...

nano /etc/proftpd/proftpd.conf

...并取消注释 Include /etc/proftpd/tls.conf 行:

[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]

然后打开/etc/proftpd/tls.conf,如下所示:

nano /etc/proftpd/tls.conf
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
RequireValidShell       no
</IfModule>

如果你使用 TLSRequired,那么只允许 TLS 连接(这会锁定所有使用不支持 TLS 的旧 FTP 客户端的用户);通过注释掉该行或使用 TLSRequired off,允许 TLS 和非 TLS 连接,具体取决于 FTP 客户端支持的内容。

之后重新启动 ProFTPd:

systemctl restart proftpd.service

就是这样。您现在可以尝试使用您的 FTP 客户端进行连接;但是,您应该将 FTP 客户端配置为使用 TLS(如果您使用 TLSRequired,这是必须的)——请参阅下一章如何使用 FileZilla 执行此操作。

如果您遇到 TLS 问题,可以查看 TLS 日志文件 /var/log/proftpd/tls.log。

5 添加FTP用户

本教程中使用的 ProFTPD 配置根据 Linux 系统用户数据库(/etc/passwd 和 /etc/shadow)对用户进行身份验证。在此步骤中,我将添加一个用户“tom”,仅用于 FTP 登录。

useradd --shell /bin/false tom

然后我们必须创建用户 \tom\ 的主目录,并将该目录的所有权更改为用户和组 \tom\。

mkdir /home/tom
chown tom:tom /home/tom/

这将使用 shell /bin/false 添加用户 \tom\。这个 shell 确保他可以通过 FTP 登录,但不能通过 SSH 登录。默认情况下,用户的主目录是 /home/[USERNAME],在我们的例子中是 /home/tom。 ProFTPD 被配置为将用户禁锢在他的主目录中,因此他不能访问 /home/tom 之外的系统文件。如果您想设置不同的主目录,请使用以下命令:

useradd --home /srv/tomftp --create-home --shell /bin/false tom

此命令设置不同的主目录,在此示例中为用户设置目录 /srv/tomftp。

接下来就是为用户tom设置密码,执行passwd命令:

passwd tom

并在需要时输入新密码两次。

6 为 TLS 配置 FileZilla

为了使用带有 TLS 的 FTP,您需要一个支持 TLS 的 FTP 客户端,例如 FileZilla。

在 FileZilla 中,打开站点管理器:

选择使用带有 TLS 的 ProFTPd 的服务器;选择 FTP 作为协议并通过 FTP 要求显式 TLS。

现在您可以连接到服务器,FileZilla 将要求输入密码。

如果您是第一次这样做,您必须接受服务器的新 SSL 证书:

如果一切顺利,您现在应该已登录到服务器:

7 将此设置下载为 VM

本教程中描述的设置可供 HowtoForge 订阅者下载。 OVA/OVF 格式的即用型虚拟机与 VMWare 和 Virtualbox 兼容。

VM 的登录详细信息

虚拟机有一个 SSH 用户,名称为“administrator”,密码为“howtoforge”。此 SSH 用户具有 sudo 权限。

FTP 用户“tom”的密码是“howtoforge”。

VM的IP地址是192.168.1.100,IP可以在文件/etc/network/interfaces中修改。

在将 VM 用作实时系统之前,请更改所有用户的密码。

8个链接

  • ProFTPd:http://www.proftpd.org/
  • FileZilla:http://filezilla-project.org/
  • Ubuntu:http://www.ubuntu.com/

©2015-2025 艾丽卡 support@alaica.com