在 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 安全地传输数据,并保护敏感信息免受未经授权的访问。