在 Ubuntu 上使用 SSL/TLS 设置安全的 FTP 服务器


在配置启用 SSL/TLS 的 FTP 服务器之前,必须在 Ubuntu 上安装 Vsftpd 和 OpenSSL。接下来要做的就是设置 vsftpd 以使用 OpenSSL 生成的 SSL 证书。更新 vsftpd.conf 文件以启用 SSL/TLS 功能,并输入 SSL 证书和密钥文件的位置。修改防火墙的配置以允许 FTP 流量通过必要的端口,通常是端口 21,通常是 21。要应用修改,请重新启动 vsftpd 服务。服务器设置完成后,用户可以使用支持 SSL/TLS 的 FTP 客户端安全地连接到 FTP 服务器。因此,敏感数据受到潜在危险的保护,并且服务器安全性得到增强。由于所有传输的数据都被加密了。

使用的方法

  • 使用 vsftpd

  • 使用 Pure-FTPd

使用 Vsftpd

要在 Ubuntu 上设置启用 SSL/TLS 的 FTP 服务器,请使用 vsftpd。安装 vsftpd 和 OpenSSL 后,将其配置为使用新生成的 SSL 证书。要允许 SSL/TLS 功能,请在 vsftpd.conf 文件中提供证书和密钥文件的路径。根据需要调整其他安全设置。配置防火墙以使用特定端口进行 FTP 流量。重新启动 vsftpd 以使更改生效。由于现在有支持 SSL/TLS 的 FTP 客户端,因此用户可以安全地连接到 FTP 服务器,从而确保加密的数据传输并增强服务器安全性。

算法

  • 设置 vsftpd 和 OpenSSL 软件包。

sudo apt-get update
sudo apt-get install vsftpd openssl
  • 使用 Cobbler 或 Foreman 等自动化配置工具设置 RHEL/CentOS 7 服务器。这些工具简化了在结构化环境中管理和分发 Linux 发行版的方法。

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt
  • 通过指定 IP 地址、子网掩码和网关来配置服务器的接口。这确保了服务器和客户端机器之间通信和网络的正确组织。

sudo nano /etc/vsftpd.conf

将不同 Linux 发行版的 ISO 文件导入到配置工具的存储库中。这些 ISO 文件包含分发不同 Linux 发行版所需的安装映像 -

rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
  • 在配置工具中定义 Linux 发行版及其相应的安装映像,以创建引导菜单选项。这允许用户在安装过程中从多个 Linux 发行版中进行选择,从而提供灵活性和自定义选项。

  • 通过设置必要的参数来启用 SSL/TLS 功能。

  • 在设置中指定 SSL 证书和密钥文件的位置。

  • 根据需要调整任何其他安全设置(例如启用加密和禁止匿名访问)。

  • 更改防火墙设置以允许 FTP 流量通过所选端口(通常是端口 21)。

sudo ufw allow 21/tcp
  • 重新启动 vsftpd 以使配置更改生效。

sudo service vsftpd restart
  • 通过连接支持 SSL/TLS 的 FTP 客户端,您可以确保 FTP 服务器安全运行。

  • 测试文件传输操作以确保加密数据的传输。

  • 定期更新服务器和 SSL/TLS 库以维护安全性。

使用 Pure-FTPd

可以使用 Ubuntu 的包管理器安装 Pure-FTPd 并设置安全的 FTP 服务器。使用 OpenSSL 生成 SSL 证书,然后配置 Pure-FTPd 以使用它。编辑配置文件以启用 SSL/TLS 支持,提供证书和密钥文件的位置,并设置所需的安全设置。通过更改防火墙设置,应允许 FTP 流量通过正确的端口(默认端口为 21)。重新启动 Pure-FTPd 服务以使更改生效。现在,用户可以使用支持 SSL/TLS 的 FTP 客户端安全地连接到 FTP 服务器,从而确保加密的数据传输并增强服务器安全性。

算法

  • 使用 Ubuntu 的包管理器运行 Pure-FTPd。

sudo apt update
sudo apt install pure-ftpd
  • 创建 SSL 证书  通过生成私钥和创建证书签名请求 (CSR) 来使用 OpenSSL 生成 SSL 证书。使用所需的密钥大小、加密算法和其他参数自定义命令。

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365
sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
  • 安装 Pure-FTPd 以便它可以实施 SSL 证书。

sudo echo "2" > /etc/pure-ftpd/conf/TLS
  • 修改 Pure-FTPd 的设置以启用 SSL/TLS 操作。

sudo nano /etc/pure-ftpd/conf/TLS

取消注释或插入以下行 

TLS                          1
  • 指定证书和密钥文件路径  选择适当的文件路径来存储 SSL 证书和密钥文件。这些路径应在使用 SSL 证书的应用程序或服务使用的配置文件中精确指定。

sudo echo "/etc/ssl/private/pure-ftpd.pem" > /etc/pure-ftpd/conf/TLS_CERTIFICATE
sudo echo "/etc/ssl/private/pure-ftpd.pem" > /etc/pure-ftpd/conf/TLS_KEY
  • 配置安全设置  在配置文件中,根据您的需求更改安全设置。这包括指定所需的密码套件、身份验证要求以及使用 SSL 证书的应用程序或服务支持的其他相关安全选项。

sudo nano /etc/pure-ftpd/conf/ForcePassiveIP

要启用任何 IP 地址,请使用“Any”或取消注释指定的被动 IP 地址。

  • 根据需要更改防火墙配置以允许 FTP 流量通过正确的端口,通常是端口 21。

sudo ufw allow 21/tcp
sudo ufw enable
  • 要实施配置更新,请重新启动 Pure-FTPd。

sudo service pure-ftpd restart
  • 实施兼容 SSL/TLS 的 FTP 客户端以建立到 FTP 服务器的测试连接。

  • 确保服务器和 SSL/TLS 库定期更新以进行持续的安全管理。

结论

最后但并非最不重要的一点是,在 Ubuntu 上使用 SSL/TLS 设置安全的 FTP 服务器可以增强数据安全性和保密性。用户可以安装和设置 vsftpd 或 Pure-FTPd 来创建使用加密方法的安全连接。建立证书和密钥文件的位置、创建和使用 SSL 证书以及启用 SSL/TLS 功能是关键步骤。此外,通过配置防火墙以允许 FTP 流量通过必要的端口,可以确保正确的网络访问。应定期进行服务器和 SSL/TLS 库的修改以保持高安全性。通过采取这些安全措施,用户可以通过 FTP 安全地传输数据,并保护敏感信息免受未经授权的访问。

更新于: 2023 年 8 月 3 日

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告